判断多个K线最高价最低价结果异常

变量定义:

onbar事件里面:

K线图运行结果(箭头所示位置的K线结果):

问题:

1. 按照代码逻辑,应该只有ZZ_5=1, 其他的ZZ_1~ZZ_4应该均为0,但实际上如图,ZZ_3、ZZ_4也等于1,这是啥原因?

2. 有的K线计算对的,有的K线计算不对,非常奇怪,如下图是正确的情况:


代码精简了一下,针对这个问题附可复现的完整代码如下:

Params

   //此处添加参数

   

Vars

   //此处添加变量

   Series<Bool> ZZ_1;

   Series<Bool> ZZ_2;

   Series<Bool> ZZ_3;

   Series<Bool> ZZ_4;

   Series<Bool> ZZ_5;

Defs

   //此处添加策略函数


Events

   //此处实现事件函数

   

   //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组

   OnBar(ArrayRef<Integer> indexs)

   {

       Range[0:DataSourceSize() - 1]

       {

           ZZ_1 = LV(H, 2) < HV(L, 2);

           ZZ_2 = LV(H, 2) >= HV(L, 2) AND LV(H, 3) < HV(L, 3);

           ZZ_3 = LV(H, 3) >= HV(L, 3) AND LV(H, 4) < HV(L, 4);

           ZZ_4 = LV(H, 4) >= HV(L, 4) AND LV(H, 5) < HV(L, 5);

           ZZ_5 = LV(H, 5) >= HV(L, 5) AND LV(H, 6) < HV(L, 6);


           Commentary("ZZ_1 = " + IIFString(ZZ_1, "1", "0"));

           Commentary("ZZ_2 = " + IIFString(ZZ_2, "1", "0"));

           Commentary("ZZ_3 = " + IIFString(ZZ_3, "1", "0"));

           Commentary("ZZ_4 = " + IIFString(ZZ_4, "1", "0"));

           Commentary("ZZ_5 = " + IIFString(ZZ_5, "1", "0"));

       }

   }


问题反馈/求助:多个条件判断的连续且运算的结果不同
如何获得15分钟周期里,最新的十根k线的最低价和最高价
Average函数异常结果
开仓时那根K线的最高价
回测的时候怎么判断同一个bar上 最高价和最低价那个出现;
K线最高价与分价图最高价不一致
请教!如何求最高价,最低价
代码写了固定止损和固定止盈,当盘中出现大K线时,此K线的最高价和最低价同时满足止损和止盈,得怎么办?
求10个周期内的最高价和最低价
关于判断K线是否连续的思路

lv和hv是序列类型,不能放在and和or判断条件后面

改一下写法 写成这样


//原来的
ZZ_2 = LV(H,2) >= HV(L,2) and LV(H,3) <HV(L,3);

//改成
ZZ_2 = LV(H,2) >= HV(L,2);
ZZ_2 = LV(H,3) <HV(L,3) and ZZ_2; 


好的,谢谢老师