使用 tbpy 编写策略,Strategy 中的所有事件方法在同一个线程中执行,如果在事件方法(包括定时器方法)中有稍微耗时的操作(100毫秒以内),会导致后续的 on_bar 和 on_tick 行情推送会逐渐延迟,也就是在 on_bar() 和 on_tick() 中接收到的行情是几秒钟、几分钟以前的(延迟时间越来越大)。单个合约的bar/tick订阅,原本在 on_bar 和 on_tick 大约 0.5 秒会推送一次,随着由于事件方法中的耗时操作导致的行情延迟推送,on_bar 和 on_tick 的推送频率也会变慢(2~3秒钟才会推一次,而且推的行情是几分钟、甚至十几分钟以前的)。
这个问题希望能够优化,否则 tbpy 没法用。
搞错了吧,你输出一下每次事件域开始和结束的时间应该就知道了。
行情推送是不会有延时的,tbq内部和py接口都是同步的
这个不是行情延迟,是函数执行过慢造成的行情积压。
這麽嚴重啊