以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 提示未来函数 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=162932) |
-- 作者:LCY -- 发布时间:2018/4/22 11:08:59 -- 提示未来函数 Formula13 VARIABLE: X[5]:=0; X[1]:=STKINDI(\'CU00\',\'KDJ.K\',0,6,0); X[2]:=STKINDI(\'RU00\',\'KDJ.K\',0,6,0); X[3]:=STKINDI(\'M00\',\'KDJ.K\',0,6,0); X[4]:=STKINDI(\'CF00\',\'KDJ.K\',0,6,0); X[5]:=STKINDI(\'IF00\',\'KDJ.K\',0,6,0); CU排名:HOD2(X,5,X[1]),LINETHICK0; RU排名:HOD2(X,5,X[2]),LINETHICK0; M排名:HOD2(X,5,X[3]),LINETHICK0; CF排名:HOD2(X,5,X[4]),LINETHICK0; IF排名:HOD2(X,5,X[5]),LINETHICK0; if CU排名=1 then YY[1]:= X[1]; if RU排名=1 then YY[2]:= X[2]; if M排名=1 then YY[3]:= X[3]; if CF排名=1 then YY[4]:= X[4]; if IF排名=1 then YY[5]:= X[5]; if CU排名=5 then Y[1]:= X[1]; if RU排名=5 then Y[2]:= X[2]; if M排名=5 then Y[3]:= X[3]; if CF排名=5 then Y[4]:= X[4]; if IF排名=5 then Y[5]:= X[5]; IF CU排名=1 then ZFC1:=X[1]-Y[2]>0.01; ZFC2:=X[1]-Y[3]>0.01; ZFC3:=X[1]-Y[4]>0.01; ZFC4:=X[1]-Y[5]>0.01; ZFC5:ZFC1 OR ZFC2 OR ZFC3 OR ZFC4; <!--StartFragment -->
这个公式Formula13,在逐K线模式仅刷最后一根,应用于图,提示未来函数!为什么?如何解决未来函数? |
-- 作者:wenarm -- 发布时间:2018/4/22 12:51:10 -- 就是不符合编译机制规则。这种不符合规则的写法除了改你的代码,没别的方式。你可以考虑使用序列计算 另外,你下面的代码逻辑貌似写的有问题。如果你是想CU排名=1时,处理ZFC1、ZFC2、ZFC3....应要加begin。 而你的写法,只是代表IF CU排名=1 then ZFC1:=X[1]-Y[2]>0.01; 如果是下面的思想逻辑,就不会报你所说的二次重复计算的机制问题。 IF CU排名=1 then begin ZFC1:=X[1]-Y[2]>0.01; ZFC2:=X[1]-Y[3]>0.01; ZFC3:=X[1]-Y[4]>0.01; ZFC4:=X[1]-Y[5]>0.01; ZFC5:ZFC1 OR ZFC2 OR ZFC3 OR ZFC4; end
[此贴子已经被作者于2018/4/22 12:57:54编辑过]
|
-- 作者:JDS -- 发布时间:2018/4/22 14:27:39 -- 问下老师,按序列计算模式如何改写呢 |
-- 作者:wenarm -- 发布时间:2018/4/22 17:05:28 -- 公式编辑界面中选择“序列计算”模式 |
-- 作者:LCY -- 发布时间:2018/4/22 19:35:24 -- 以下是引用wenarm在2018/4/22 12:51:10的发言:
就是不符合编译机制规则。这种不符合规则的写法除了改你的代码,没别的方式。你可以考虑使用序列计算 另外,你下面的代码逻辑貌似写的有问题。如果你是想CU排名=1时,处理ZFC1、ZFC2、ZFC3....应要加begin。 而你的写法,只是代表IF CU排名=1 then ZFC1:=X[1]-Y[2]>0.01; 如果是下面的思想逻辑,就不会报你所说的二次重复计算的机制问题。 IF CU排名=1 then begin ZFC1:=X[1]-Y[2]>0.01; ZFC2:=X[1]-Y[3]>0.01; ZFC3:=X[1]-Y[4]>0.01; ZFC4:=X[1]-Y[5]>0.01; ZFC5:ZFC1 OR ZFC2 OR ZFC3 OR ZFC4; end
[此贴子已经被作者于2018/4/22 12:57:54编辑过]
这个二次重复计算是发生在哪一句呢?不好理解 |
-- 作者:LCY -- 发布时间:2018/4/22 19:36:15 --
要是后面再接上去呢,如
|
-- 作者:LCY -- 发布时间:2018/4/22 19:42:30 --
要是后面再接上去呢,如 IF CU排名=5 then begin ZFC1:=YY2]-X[1]>0.01; ZFC2:=YY[3]-X[1]>0.01; ZFC3:=YY[4]-X[1]>0.01; ZFC4:=YY[5]-X1]>0.01; ZFC5:ZFC1 OR ZFC2 OR ZFC3 OR ZFC4; end
等等,仍然会提示二次重复计算,有未来函数。真不知道怎么改 |
-- 作者:wenarm -- 发布时间:2018/4/23 5:28:09 -- 那就没办法了,你自己只能考虑使用序列方式。 |
-- 作者:LCY -- 发布时间:2018/4/23 7:07:35 -- 勾选序列模式,写好后加载到K线又自动跳转到逐K模式仅刷最好后一根!怎么办?
|
-- 作者:LCY -- 发布时间:2018/4/23 7:13:28 -- 这个公式里,上部赋值了,一根K里运行(固定1秒轮扫),就一次赋值并计算吧,怎么会二次重复计算?二次重复计算发生在哪些个句子?这些都搞不懂,代码也没法改写呀 |