vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 8
声望: 0

关于细粒化撤单的例子order_control_strategy_29.py,如果要下的不是停止单(即stop=False),能不能把on_stop_order函数里面的内容相应地搬到on_order函数里面?是否还有其它的逻辑需要修改?
我照搬之后运行,发现只有刚开始时候下一对单然后就再没下单了,日志显示“交易撤单失败,报单已全成交或已撤销,不能再撤”,是它的逻辑有哪里重复撤单了吗

Administrator
avatar
加入于:
帖子: 4430
声望: 253

on_order里要检查order.status状态,如果是可撤的才撤单

Member
avatar
加入于:
帖子: 8
声望: 0

我发现问题在于在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状态,如果是可撤的才撤单

Administrator
avatar
加入于:
帖子: 4430
声望: 253

只要有任何委托状态变化,on_order都会被调用

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号