我这边用了没发现不对额
总是有些不在板块中的品种却莫名其妙地通过了检测,您把你这边设置的板块以及里面品种说下,并注明在哪个品种下返回结果不对。
我们这边看下。
行,我把步骤罗列如下,请你复制代码到你电脑上重复一遍看看结果是否跟我说的一样。出问题的不止一个品种,这里只提了其中一个,J03,焦炭1603,为简单化查找错误的过程,我简化了公式。
1、建立公式”筛选“,在条件选择中以该公式的结果建立板块A,代码如下。执行公式的时候不要点选”停牌的品种“。
非连续:=not(strfind(stkname(),'连续',1)),nodraw;
非指数:=not(strfind(stkname(),'指数',1)),nodraw;
通过:非连续 and 非指数;
2、建立公式”检测“,检测当前品种是否包括于板块A当中,代码如下。
通过:inblock('A'),nodraw;
3、另建公式”读结果“,在1分钟线下运行于任何连续合约都行,代码如下:
variable:AA=drawnull;
if todaybar=2 then AA:=stkindi('J03','检测.通过',0,6,0);
通过:AA,nodraw;
if time()=closetime(0) then AA=drawnull;
4、观察结果,我这里的情况就是上面说的那样,”通过“字段返回的结果是很奇怪的数字,而且不断自己跳动,即时光标不动,它也时不时自己在那里跳动。
上面第3步那句if...then的代码还可以改成这样,你就能更清楚看到J03通过了检测,并且返回结果不断自己跳。
if todaybar=2 then AA:=if(stkindi('J03','检测.通过',0,6,0),stkindi('J03','检测.通过',0,6,0),drawnull);
上面“读结果”公式最后一行AA后面我打漏了一个冒号,但系统里的公式是对的。
if time()=closetime(0) then AA:=drawnull;