T_OrderState(OrderID)和T_DeleteOrderByCode(Code,Type)函数 (文华财经WH8赢智V8.2)

投资者咨询:T_OrderState(OrderID)和T_DeleteOrderByCode(Code,Type)函数 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-11 17:42
 T_OrderState(OrderID)根据委托唯一标识OrderID(字符串)查委托状态,返回值含义:-1查询失败;0挂单;1成交;2被撤单;3部分成交;4表示委托发送成功了,还没有回来应答,不能进行操作,需要等应答回来再进行其它操作;6委托报送;7委托失败,即委托列表状态中的“废单”;13委托已发;14待撤

T_DeleteOrderByCode(Code,Type)委托撤单。Code:合约代码(字符串)Type:0所有方向;1买开;2卖平;3卖开;4买平 返回0撤单发出成功,返回其它失败

用T_DeleteOrderByCode(Code,Type)撤单,有时会返回撤单失败,说明为所撤单子已成交。请问这种情况下怎么在算法交易中获取到这种状态,用什么取返回值呢?

另外如果没有单子可以撤,这个函数又会返回什么?返回失败?

技术人员回复
日期:2018-7-11 21:10
 想要撤单的时候使用T_DeleteOrderByCode这个函数就可以了

不用去查看其返回值的,这个函数主要撤账户挂单的函数,有挂单就撤掉,没有挂单就执行失败,后续无影响的
投资者咨询:T_OrderState(OrderID)和T_DeleteOrderByCode(Code,Type)函数 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-11 17:42
 有的时候,日志中会显示,撤单失败,所撤单已成交。如果出现这种情况,因为单子我是必须要撤的,这种情况就得清仓了,请问如何能够在算法交易中获取到这种状态,
技术人员回复
日期:2018-7-12 8:42
 那么您直接判断已成交的单子就可以了

撤单不成功就是成交了,那么您读取成交的单子进行平仓即可