-- 作者:dwjgwsm
-- 发布时间:2013/5/12 9:59:16
-- 反映一个重要的bug!
2995版本
测试代码:
//VARIABLE:LONG=0; IF CROSS(C,MA(C,60)) THEN LONG:=BARPOS; IF CROSS(MA(C,60),C) THEN LONG:=0; LONGS:LONG; XX:BARPOS,NODRAW;
注意看图片中Longs的返回值,加载该指标后LONGS返回值是正确的,但是,当我不断地按向下箭头、直至所有历史K线都显示在屏幕上后,再继续按向下箭头,LONGS的返回值改变了!变成了LONGS的最后一个值2052!你可以重现这一现象。但是当我加上VARIABLE:LONG=0;这一句后这一现象不再产生。
另外,图片上只看到前面一小段时间的LONGS返回值变为2052,我在另外一段更复杂的代码中却发现所有历史K线值都变成了最后一个值,不过加了VARIABLE声明后,此现象也不再出现。
这意味着,客户必须把所有变量都事先声明一遍,才能避免此类问题出现。
|