1.28K 浏览
0

想要在成交后(必须是FINISHED)立刻获取成交价,怎么解决呢?

李思恒 已回答的问题 2022年5月10日

我是平仓,所以不能用position_price_short/long,以我目前的认知只能通过order.trade_price获取

已解决:
while order.status != ‘FINISHED’:
api.wait_update()
while not order.volume_left and np.isnan(order.trade_price):
api.wait_update()

0

好的,另外如果你多次在一个循环内用wait_update,可能前后的行情数据不同,因为第二个wait_update会更新数据

用python的ethan 编辑评论 2022年5月11日

以上代码是同一个级别的两个循环,不满足第一个循环才会进入下一个循环,不会出现您说的问题吧?如果会发生您说的问题,那请问有办法彻底解决吗?

还有个问题哈,因为现在还在用simnow,没法测试部成部撤。如果实盘下单时advanced=”FAK”,出现部成部撤,
while not order.volume_left and np.isnan(order.trade_price):
#tab# api.wait_update()
这段代码还有有效的吧?
就是说,FAK给我撤了余单,order.volume_left不会给我返回0吧?