按照版主的指示,参照 阿火 在2011年的帖子写了K线结束提前几秒下单的语句,以及每小节收市前提前下单的语句,如下:
我写的语句如下:
TT0 := timetot0(CLOSETIME(0));
TT1 := timetot0(CLOSETIME(1));
TT2 := timetot0(CLOSETIME(2));
TT3 := timetot0(CLOSETIME(3));
TQ := IF((time0>TT0-60 and time0<TT0+1) or (time0>TT1-60 and time0<TT1+1) or (time0>TT2-60 and time0<TT2+1) or (time0>TT3-60 and time0<TT3+1),40,5);
Titime := (time0-timetot0(dynainfo(207))<=tq) or NOT(islastbar);
if Titime then begin
平空 :SELLSHORT(ENTERBARS>0 AND C>PK,1,MARKETR); //平空信号
开多 :BUY(KD AND HOLDING=0,1,MARKETR); //开多信号
平多 :SELL(ENTERBARS>0 AND C<PD,1,MARKETR); //平多信号
开空 :BUYSHORT(KK AND HOLDING=0,1,MARKETR); //开空信号
End
持仓 :holding,linethick0,ColorYellow;
资产 :asset,noaxis;
其中TQ (tiqian)是控制提前秒数的。每根K线提前5秒,如果是收市则提前40秒。也在图表上测试了TQ的数值,确实能在盘中显示40 和5 两个数值。可令人哭笑不得的是
交易结果不是提前,而是按照这个时间延后了
仔细检查了逻辑上没有问题,交易设置是走完K线下单。用的是4.0版64位。
请问这个写法有什么问题吗? 或者有什么其他解决办法?
谢谢!
如果轮询时间大于10秒,那么低于10秒的设置就不会发挥作用了?
另一个问题是,如果我设置了固定时间间隔是6秒,程序中设置提前5秒,这样在54秒的时候条件不满足,到下一次轮询到的时候则 timet0进入下一根K线了,条件还是不满足。是这样理解吗?