我正在使用纸质交易 IB 账户,交易处理得很好。我有许多未完成的订单。“updateAccountValue”按预期执行,而“con.register(acct_update, message.reqAllOpenOrders())”什么都不做,“con.reqOpenOrders()”也不做。也不会引发错误。IB 文档告诉我这三个方法是“无效的”,我理解这意味着不应该返回任何值。但是,如前所述,“updateAccountValue”方法工作得很好,提供了正确的输出。
问题 1:我如何检索有关(未成交)未结订单的数据?
我还注意到代码并不总是运行,但它总是在(重新)启动 TWS 工作站应用程序后正确运行。
问题2:为什么每次启动这段代码都不运行?
from ib.opt import ibConnection, message
import sys
def acct_update(msg):
print msg
con = ibConnection(clientId=100)
con.register(acct_update,
message.updateAccountValue)
con.register(acct_update,
message.reqAllOpenOrders())
con.connect()
con.reqAccountUpdates(True,'DU000000')
con.reqAllOpenOrders()
con.reqOpenOrders()
sys.exit()