关于细粒化撤单的例子order_control_strategy_29.py,如果要下的不是停止单(即stop=False),能不能把on_stop_order函数里面的内容相应地搬到on_order函数里面?是否还有其它的逻辑需要修改?
我照搬之后运行,发现只有刚开始时候下一对单然后就再没下单了,日志显示“交易撤单失败,报单已全成交或已撤销,不能再撤”,是它的逻辑有哪里重复撤单了吗
关于细粒化撤单的例子order_control_strategy_29.py,如果要下的不是停止单(即stop=False),能不能把on_stop_order函数里面的内容相应地搬到on_order函数里面?是否还有其它的逻辑需要修改?
我照搬之后运行,发现只有刚开始时候下一对单然后就再没下单了,日志显示“交易撤单失败,报单已全成交或已撤销,不能再撤”,是它的逻辑有哪里重复撤单了吗
on_order里要检查order.status状态,如果是可撤的才撤单
我发现问题在于在on_bar里面撤单之后buy_vt_orderids和short_vt_orderids没有清空。我在on_order里面这样检查的状态
if order.is_active():
return
然后对buf_orderids进行清空。然而似乎on_order只在下单的时候运行一次,之后就算这个委托的状态变了(成交了或已撤销)on_order还会运行一次吗?
用Python的交易员 wrote:
on_order里要检查order.status状态,如果是可撤的才撤单
只要有任何委托状态变化,on_order都会被调用
楼主,我也遇到同样的问题了,你最后是怎么解决的?