撤单用代码例程
委托回报事件
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('部分成交部分撤单 或 全部成交')
回复 0:
按时间排序
您尚未登录,请 登录 真格量化发表回复