为了在秒级别下单,比如在1分钟k线的50秒处下单,采用1秒轮询,这时需要读取time,但发现在轮询中time最后两位始终是00,导致无法实现算法。
我知道有一个等价的做法:选择走完k线,启动提前10秒下单。但我想在程序中实现不同情况所在秒数不同,就必须读取time所在的秒数。
有什么办法(或等价方法)能够获取轮询时的秒数吗?
time读到的时间最后就是秒啊,怎么可能秒数一直是00呢?
以下是引用rushtaotao在2012-6-5 11:32:14的发言:
time读到的时间最后就是秒啊,怎么可能秒数一直是00呢?
我也奇怪,但测试结果确实如此,选择1分钟k线,固定时间间隔为1秒,我用DEBUGOUT测试打印出来的都是零。
second:= time%100;
DEBUGOUT('second:%.0f', second);
你可以也测试一下,看结果是不是这样。请官方确认下是不是机制即如此?
如果选分笔成交,second是正确的。
[此贴子已经被作者于2012-6-5 12:25:02编辑过]
如果你需要提前下单,可以考虑购买专业版,或者在策略发布区里有阿火的通过代码来实现的帖子
以下是引用admin在2012-6-5 12:53:38的发言:
如果你需要提前下单,可以考虑购买专业版,或者在策略发布区里有阿火的通过代码来实现的帖子
谢谢,我会去看阿火的策略。
专业版也只能设置一个参数在k线完成前几秒下单,无法在程序中设置,如果需要在不同情况提前量不同就无法实现。
所以我还是想知道是不是在k线模式轮循下,time无法取到秒数,有可能解决这个问题吗?
[此贴子已经被作者于2012-6-5 13:13:57编辑过]
已解决,可以用 dynainfo(207) 来代替 time 就能取到正确的秒数。
提前下单取决有本地时间,模式上也会带来误差,所以更偏爱固定时间间隔轮循。