ST:=TIME=113000;
XT:=TIME=150000;
TT1:=ST OR XT;
TT2:=TT1<>1;
TQ:=(TIME0-TIMETOT0(DYNAINFO(207))<=3) OR NOT(ISLASTBAR); //提前3秒
IF TT2 THEN BEGIN
SELLSHORT(KDPK AND HOLDING<=0,手数,MARKETR),ORDERQUEUE;
IF TT1 AND TQ THEN BEGIN
SELLSHORT(KDPK AND HOLDING<=0,手数,MARKETR),ORDERQUEUE;
====================
老师,这意思就是,不在收盘前最后一刻,出信号,不用提前
收盘最后一刻,出信号,就提前3秒发单,
这样写,没法模拟,有问题吗?谢谢
没发模拟你是指历史回测?还是实际用模拟账号交易测试不行?
代码没问题,是不是你没用固定轮询模式或者固定轮询间隔太大了?你这个至少应该1s的轮询。
那不行。这个提前多少秒必须固定轮询模式才行。
不过你可以尝试采用下面这种方式 在固定轮询下实现走完K下单:
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=151891
老师,这个方法解决不了轮训收盘前最后一根k线出信号的问题,用走完k线能提前5秒下单,怎么写程序?
此主题相关图片如下:temp.png
走完K只能这样了。但是这个下单是全部信号,任意K出信号 都提前N秒检测。
老师,我只要收盘前最后一根k线,行不,直接写进程序,这个我试过,盘中有闪烁