5.42K 浏览
0

连接天勤终端模拟账号运行tqsdk 时,在天勤终端委托单已成交,但是tqsdk还是显示’alive’
代码如下:
from tqsdk import TqApi,TqSim
api = TqApi(天勤终端模拟账号)
symbol=”DCE.m1909″
q=api.get_quote(symbol)
order = api.insert_order(symbol=symbol, direction=”BUY”, offset=”OPEN”,\
limit_price=None,volume=1)
while True:
api.wait_update()
print(order)

qihuo20190901 已回答的问题 2019年11月14日
0

发现是买入价格搞的鬼

比如 direction=”BUY”, offset=”OPEN”, limit_price=quote.bid_price1

肯能一下子买入不了,下单成功后,order的is_online会转换未true

若是以上情况,api一直没有断开重新登入过,

(这个过程中肯能交易成功了,在终端上已经看到全部成交了)

但是程序这边order的status永远是alive

若api close()后再登入get order去查看,那个单的status显示是finshed

我把价格修改为 limit_price=quote.last_price + quote.price_tick 暂时没有发现这个问题

qihuo20190901 已回答的问题 2019年11月14日
0

在模拟交易的时候我也发生了这个问题

在天勤的终端上已经显示全部成交,但是order.status返回一直是ALIVE

只有断开重连后,get order同一个order_id,这时候才会看到正确的order.status

请教下,是否有问题

———————————————————————————————————

这是运气好刚好socket断掉了,显示出的日志

2019-11-14 11:11:38,295|MainProcess|MainThread|INFO|info|Date is 2019-11-14 11:11:38
2019-11-14 11:11:38,716|MainProcess|MainThread|WARNING|warn|CZCE.CF001 order (id: ba95a43d831da0dae33ca13d58a10ce8) is insert into
2019-11-14 11:11:39,747 – INFO – 通知: 下单成功
2019-11-14 11:16:09,879 – WARNING – 与 wss://openmd.shinnytech.com/t/md/front/mobile 的网络连接断开,请检查客户端及网络是否正常
2019-11-14 11:18:44,810 – INFO – 通知: 成交通知,合约:CZCE.CF001,手数:1

在终端上看到的信息

qihuo20190901 已回答的问题 2019年11月14日