不用调用OnOrderChange事件,本代码直接放入OnBar事件或者OnQuote事件中即可。

#- 卖开仓撤单
if g.SK_UID :
order_SK = g.myacc.GetOrder(g.SK_UID) # 如果不存在对应的order,返回None

if order_SK : if order_SK.tradedvol < order_SK.volume and order_SK.IsCanCancel() : # 成交或部分成交 + 是可撤单 if order_SK.price > GetQuote(g.lock_symbol).bidprice(0) : # 委托价处于排队等待状态则撤单 g.myacc.CancelOrder(order_SK) # 撤单 if order_SK.IsOrderCancelled() or order_SK.status == 32 : # 已撤单 或 终止状态(部分成交部分撤单或全部成交) if g.tradedvol_SK_sum < g.plan_lots : # 开仓手数计划未完成 g.SK_onoff = True # 打开开仓开关继续执行开仓计划