委托回报事件

def OnOrderChange(context, AccountName, order) :

if order.stgyflag == 1 : # 是本策略 # 买平认沽 if order.UID == g.BPput_uid : if order.status != 32 : if order.volume - order.tradedvol > 0 and order.IsCanCancel() : context.myacc.CancelOrder(context.myacc.GetOrder(g.BPput_uid)) print('买平认沽撤单') if order.status == 32 : g.cancel_BPput_flag = True print('部分成交部分撤单 或 全部成交') # 买平认购 if order.UID == g.BPcall_uid : if order.status != 32 : if order.volume - order.tradedvol > 0 and order.IsCanCancel() : context.myacc.CancelOrder(context.myacc.GetOrder(g.BPcall_uid)) print('买平认购撤单') if order.status == 32 : g.cancel_BPcall_flag = True print('部分成交部分撤单 或 全部成交') # 卖开认沽 if order.UID == g.SKput_uid : if order.status != 32 : if order.volume - order.tradedvol > 0 and order.IsCanCancel() : context.myacc.CancelOrder(context.myacc.GetOrder(g.SKput_uid)) print('卖开认沽撤单') if order.status == 32 : g.cancel_SKput_flag = True print('部分成交部分撤单 或 全部成交') # 卖开认购 if order.UID == g.SKcall_uid : if order.status != 32 : if order.volume - order.tradedvol > 0 and order.IsCanCancel() : context.myacc.CancelOrder(context.myacc.GetOrder(g.SKcall_uid)) print('卖开认购撤单') if order.status == 32 : g.cancel_SKcall_flag = True print('部分成交部分撤单 或 全部成交')