input:N(45,2,5000,1),M(15,1,5000,1);
RUNMODE:0;//工作于逐K模式
VARIABLE:Maxhh=0,Minll=0;//句1
VARIABLE:PMaxhh=0,PMinll=0;//句2
findhh:H;//句3
fingll:L;//句4
IF NOT(ISLASTBAR) THEN EXIT;//句5
IF(N<DATACOUNT) THEN //句6 该句处设置了断点;
begin
...
end;
采用逐K模式调试
问题:为什么没有执行到断点语句6处
我将断点设在如上句6处,单步调试可以看到运行句1--句5循环运行;如果直接F5,会显示程序结束,表明始终没有执行到断点句6处。
是不是IF的判断条件ISLASTBAR的原因?
上述语句,是不是只有在开盘时间,才会执行到句6断点处?
问题2:单步调试时,每根K线程序都会执行一遍,那么 VARIABLE:Maxhh=0,Minll=0;//句1
VARIABLE:PMaxhh=0,PMinll=0;//句2
每当在一个新的K线周期执行时,上面几个全局变量会被重新初始化为0么?
问题2,我自己解决了:图表程式化交易模式下,全局变量只被初始化一次。
我在后面加个一句:
VARIABLE:Maxhh=0,Minll=0;
VARIABLE:PMaxhh=0,PMinll=0;
findhh:H;
fingll:L;
PMaxhh:=2;
从第二根K线开始,PMaxhh的值一直是2,说明PMaxhh没有被重新初始化,逐K模式下,全局变量只初始化一次。