开盘延迟下单

针对开盘立即触发的下单信号,延迟5秒再下单,请问有什么办法实现?其他时间段都是收到信号立即下单。

开盘信号延迟
【下单】- 使用Buy函数下单后Portfolio信息和MarketPosition更新延迟
在开盘一瞬间下单的问题
下单之后延迟2秒继续执行下面的代码 这个该怎么做 有没有专门的延迟函数,不用定时器的那种,可以直接使用的
延迟发单
早盘与晚盘9点整开盘发单延迟1或2秒
开仓信号延迟
延迟反手
平仓延迟反手
开平仓交易信号发送延迟

这个的确很复杂,我已实现了,原理这样:

1、用OnSignal接管信号处理

2、把系统时间赋值到信号的时间字段,也就是借用这个字段存储时间  sig[i].dateTime=SystemDateTime();

3、判断时间差:DateTimeDiff(delaySigs[i2].datetime,SystemDateTime) >= 5

4、大于你想要的秒数后:A函数发单

具体可联系我  fang3shen


这个需求看起来虽然很简单,但是想要实现还是蛮复杂并且麻烦的,tbl语言没有现成的命令,需要自己使用onsignal域接管信号以后,创建一个5s的定时器,在ontimer域里执行对应的报单。

总的来说需要三个事件域,onbar里判断交易信号,onsignal域里接管信号命令的后续执行,创建定时器,ontimer里最后执行报单动作。

由于需要多个事件域交互,复杂度比较高