当策略初始化完之后回调new_bar()方法, 也就是如下代码
def new_bar(self, bar: BarData) -> None:
""""""
self.bar = bar
self.datetime = bar.datetime
self.cross_limit_order() # 第一次进入循环的时候这个方法
self.cross_stop_order()
self.strategy.on_bar(bar)
self.update_daily_close(bar.close_price)
为什么self.cross_limit_order(),self.cross_stop_order()这两个方法要先于 self.strategy.on_bar(bar)执行, 按理来说应该要先 self.strategy.on_bar(bar)执行完了self.active_limit_orders里才有order数据让self.cross_limit_order(),self.cross_stop_order()这两个方法去做cross啊. veighna的代码写的很严谨, 这么写肯定有他的道理, 但是我想了好久都没想出个所以然, 所以再此向大家提问, 谢谢