在逐k模式中,公式运行变量查看器中的数据矛盾.具体如下:
程序内容
Variable:fk=0;
nn:=barslast(date<>ref(date,1))+1;
h5:=valuewhen(nn=5,hhv(h,nn));
L5:=valuewhen(nn=5,llv(l,nn));
a:=c-h5+mindiff;
b:=c-l5-mindiff;
If a>0 then fk:=1;
If b<0 then fk:=-1;
If nn>15 then fk:=0;
测试品种为RU13,时间为2016-09-01到2016-09-23.
在16/09/19 09:05:00时,公式运行变量查看器中的数据如下:
wwma1 时间:16/09/19 09:05:00 序列:5113 FK: 1.000 NN: 5.000 H5: 12344.000 L5: 12175.000 A: -116.000 B: 43.000 MA15: 12281.467
a<0,fk的计算结果应该为0.为何公式运行变量查看器中的fk=1 ?
你代码里面,并没有 在a<0时,fk赋值为0的代码
这样修改可以吗?
Variable:fk=0;
nn:=barslast(date<>ref(date,1))+1;
h5:=valuewhen(nn=5,hhv(h,nn));
L5:=valuewhen(nn=5,llv(l,nn));
a:=c-h5+mindiff;
b:=c-l5-mindiff;
If a>0 then fk:=1;
if a<=0 then fk:=0;
If b<0 then fk:=-1;
if b>=0 then fk:0;
If nn>15 then fk:=0;