回测停止单被错误触发
cloudseasail opened this issue · 0 comments
cloudseasail commented
环境
- 操作系统: Debian
- Python版本: 3.10
- VeighNa版本: V3.9.0
Issue类型
Bug
重现步骤
回测的时候,在用limit_order 开单成功后,在 on_trade() 里面新下一个止损的停止单。
这个停止单会被当前bar 触发成交,这是不合理的
问题分析
backtesting 的执行逻辑如下,cross_limit_order() 里面触发 on_trade(), 然后新发出一个止损的stop_order。
这个stop_order 会被下面的 cross_stop_order() 触发成交,当前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)
`