向老师请教下,主要是模拟盘下单是否成功的问题
原因:在模拟盘下单之后(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日
推荐判断机制应为这样,在循环中不断调用 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日