3.80K 浏览
0

向老师请教下,主要是模拟盘下单是否成功的问题

原因:在模拟盘下单之后(insert_order)一直拿不到order的status变更,但在终端上看实际已经成交了

查找方式:

1.(图1)然后想获取下所有的order(api.get_order())的时候,发现返回是一个空dict.实际我下了好多单了,在position中能看到,现在只有position是准的

2.(图2)在模拟实盘的情况下,获取订单status,发现有些已经成交的订单,但是重新登入同一账号用order_id去查看order,大多信息是都是空,特别是status和trade_records.

3.(图3)如果我查询了一个order,获取所有的order就只会有那一个

4.(图4)再然后我去查看了api._data,发现在trade下我的用户id下order 和 trade都是空dict,只有position是正常的

图1

图2

图3

图4

ringo 已回答的问题 2019年12月16日
0

推荐判断机制应为这样,在循环中不断调用 wait_update,而不是通过一次wait_update完成所有信息更新

from tqsdk import TqApi
api = TqApi()
order = api.insert_order(balbla)
while True:
    api.wait_update()
    if order.status == "FINISHED" and order.volume_left == 0:
        print("订单完成")
ringo 编辑答案 2019年12月16日