说明 / 示例
# 7)取消委托 cancel()
用法: cancel(orderId, accountId, accountType, ContextInfo)
释义: 取消委托。
参数:
orderId,string,委托号。
accountID:string,资金账号。
strAccountType:string,账号类型,可选值:
‘FUTURE’:期货
‘STOCK’:股票
‘CREDIT’:信用
‘HUGANGTONG’:沪港通
‘SHENGANGTONG’:深港通
‘STOCK_OPTION’:期权
ContextInfo:pythonobj
返回: bool,是否发出了取消委托信号,返回值含义:
True:是
False:否
示例:
'''
(1)下单前,根据 get_trade_detail_data 函数返回账号的信息,判定资金是否充足,账号是否在登录状态,统计持仓情况等等。
(2)满足一定的模型条件,用 passorder 下单。
(3)下单后,时刻根据 get_last_order_id 函数获取委托和成交的最新id,注意如果委托生成了,就有了委托号(这个id需要自己保存做一个全局控制)。
(4)用该委托号根据 get_value_by_order_id 函数查看委托的状态,各种情况等。
当一个委托的状态变成“已成'后,那么对应的成交 deal 信息就有一条成交数据;用该委托号可查看成交情况。
*注:委托列表和成交列表中的委托号是一样的,都是这个 m_strOrderSysID 属性值。
可用 get_last_order_id 获取最新的 order 的委托号,然后根据这个委托号获取 deal 的信息,当获取成功后,也说明这笔交易是成了,可再根据 position 持仓信息再进一步验证。
(5)根据委托号获取委托信息,根据委托状态,或模型设定,用 cancel 取消委托。
'''
```py
def init(ContextInfo):
ContextInfo.accid = '6000000248'
def handlebar(ContextInfo):
orderid = get_last_order_id(ContextInfo.accid, 'stock', 'order')
print(cancel(orderid, ContextInfo.accid, 'stock', ContextInfo))
```