写了一个多周期CTA策略,在1分钟on_bar函数里,对其他分钟级别的bar进行更新,同时print输出到控制台显示。代码如下图所示:
tick级响应:
on_tick()
1分钟级响应:
on_bar()
3分钟级响应:
on_3min_bar()
5分钟级响应:
on_5min_bar()
按照逻辑,应该先是1分钟响应1次,然后再按顺序逐个处理大周期的响应,但是控制台输出显示,【每次到了大周期响应的时候,1分钟的输出响应都有多次】,如下图所示:
那么问题就来了:
(1)1分钟的on_bar()被处理多次,
(2)控制台显示,先处理了3min的响应,才处理的5min响应,按1分钟代码应该是先5min再3min的
请问下大佬,问题如何解决呢?
另外,以上问题都是在实盘中遇到的,CTP实盘环境。