通过debugfile指令监控函数输出,发现有函数不定时返回不正常-1值。(函数为价格趋势型的指标)
因此造成不正确的开平仓。请教可能的原因及解决方法。
11:00:00.859 B=-1
11:00:00.859 D=-1
11:00:01.000 B=9284
11:00:01.015 D=9336
11:00:01.265 B=3027
11:00:01.312 D=3003
11:00:02.203 B=-1
11:00:02.203 D=-1
一组B,D,对应一个品种。有多个品种。
B,D不定时出现-1.
每秒轮询,下一次轮询时可能又都好了。再下一秒又不知道哪个品种会出现-1.
A:=(3*close+open+H+L)/6;
B:(20*A+19*REF(A,1)+18*REF(A,2)+17*REF(A,3)+16*REF(A,4)+15*REF(A,5)+14*REF(A,6)
+13*REF(A,7)+12*REF(A,8)+11*REF(A,9)+10*REF(A,10)+9*REF(A,11)+8*REF(A,12)+7*REF(A,13)+6*REF(A,14)+5*ref(A,15)+4*ref(A,16)+3*ref(A,17)+2*REF(A,18)+1*ref(A,19))/210,colorwhite,linethick0;
D:MA(B,M),coloryellow;
通常开始新一根K线时,这种情况发生的比较多。有采用分屏,如果某一秒因网络速度问题接收不到新的信息,是否会产生这种情况?
如果问题固定的话,可以在开仓条件里,将这个-1情况过滤掉即可
如果是K线走完的模式,这个-1情况过滤掉,就要等下一根K线的正确值出来才能执行了。时间上差很多。
因为没有找到原因,所以不确定是否会影响其他部分的运行。