BacktestingEngine中的cancel_all函数是需要传入strategy: CtaTemplate类型来运行的,但是在样例中AtrRsiStrategy中的on_bar函数调用的cancel_all却没有传入strategy: CtaTemplat,这不会出现bug吗
BacktestingEngine中的cancel_all函数是需要传入strategy: CtaTemplate类型来运行的,但是在样例中AtrRsiStrategy中的on_bar函数调用的cancel_all却没有传入strategy: CtaTemplat,这不会出现bug吗
一个是BacktestingEngine的cancel_all,一个是CtaTemplate的cancel_all,两个对象的方法哦
但是当用这个回测引擎做回测的时候,CtaTemplate的cancel_all会用到了BacktestingEngine的cancel_all,下面是CtaTemplate的cancel_all方法:
def cancel_all(self):
"""
Cancel all orders sent by strategy.
"""
if self.trading:
self.cta_engine.cancel_all(self)
做回测的时候self.cta_engine就是BacktestingEngine吧?然后就会调用到BacktestingEngine的cancel_all啊
是的。
CTA引擎是由策略引擎在使用策略类创建策略实例时自动传入,用户本质上无需关心