以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  K线结束提前下单和收市提前下单问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=143707)

--  作者:timescale
--  发布时间:2016/12/1 8:52:39
--  K线结束提前下单和收市提前下单问题

按照版主的指示,参照 阿火 在2011年的帖子写了K线结束提前几秒下单的语句,以及每小节收市前提前下单的语句,如下:


此主题相关图片如下:120101.jpg
按此在新窗口浏览图片

我写的语句如下:

 


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位。

请问这个写法有什么问题吗? 或者有什么其他解决办法?

谢谢!


--  作者:jinzhe
--  发布时间:2016/12/1 8:55:29
--  
你要用代码实现走完k线提前下单功能,那么必须是固定时间间隔,
--  作者:timescale
--  发布时间:2016/12/1 9:11:37
--  

如果轮询时间大于10秒,那么低于10秒的设置就不会发挥作用了?

另一个问题是,如果我设置了固定时间间隔是6秒,程序中设置提前5秒,这样在54秒的时候条件不满足,到下一次轮询到的时候则 timet0进入下一根K线了,条件还是不满足。是这样理解吗?


--  作者:jinzhe
--  发布时间:2016/12/1 9:39:34
--  
是的,你这样的情况轮询1秒比较好,不容易错过