t1:=if(islastbar,dynainfo(207),time);
t2:timetot0(t1),LINETHICK0;
if 条件 then begin
tt:=t2;
end
pp:t2-tt,LINETHICK0,COLORRED;
盘中发现:条件成立后pp变为零,而从下一个K开盘pp从零计时,为什么?
dynainfo 本身就是盘中的最新值,直接用T2:TIMETOTO(DYNAINFO(207));
您这里T2和TT 之间的差表示为您条件成立到代码运行到PP这行所需时间而已
我是想把条件成立到当前的时间,以秒为单位记录下来,我的程序里面条件成立时给tt赋值,且只触发一次,
比如:
t1:=if(islastbar,dynainfo(207),time);
t2:timetot0(t1),LINETHICK0;
if 条件 and a=0 then begin
tt:=t2;
a:=1;
end
pp:t2-tt,LINETHICK0,COLORRED;
盘中发现:条件成立后pp变为零,而从下一个K开盘pp从零计时,为什么?
用DEBUGFILE输出PP的值,看下对应值更新的情况
条件成立后pp变为零,而从下一个K开盘pp从零开始计时
[此贴子已经被作者于2013/10/14 13:53:55编辑过]
理解您的意思,是指的PP为0是在图上显示的值把?
图上显示的值是历史运行的结果,dynainfo(207)是不能取到历史值的。
只有用DEBUGFILE实时记录pp的值
t1:=if(islastbar,dynainfo(207),time);
t2:timetot0(t1),LINETHICK0;
pp:time0-timetot0(t1),LINETHICK0;
如果要是这样的话,pp就是变化的!如果是5分钟K,每根K线上都是300——0的变化。
即使在盘中,这个值也是在0-300 之间变化,关于盘中实时变化的值还是希望您能用DEBUIGFILE输出记录