跳转到内容

所有 API 已提交订单

reqAllOpenOrders() 用来查询所有 API 客户端提交的未完成订单。它比 reqOpenOrders() 范围更大,适合订单监控后台和账户级风控程序。

app.reqAllOpenOrders()

返回仍然走:

openOrder()
orderStatus()
openOrderEnd()
ALL_OPEN_ORDERS_END=True
OPEN_ORDER_ROWS=0

账户没有 API 客户端范围内的未完成订单时,会返回 0 行并触发结束回调。

如果其它 API 客户端有未完成订单,reqAllOpenOrders() 也可能把它们推送给这个连接。做账户级监控时,这正是它的价值;做单一策略时,则要避免误处理不属于自己的订单。

接口范围推荐用途
reqOpenOrders()这个 clientId 自己的未完成订单单策略、单程序恢复状态。
reqAllOpenOrders()所有 API 客户端提交的未完成订单账户级监控、风控后台、统一订单看板。
  • 保存 clientId,否则你不知道订单来自哪个 API 客户端。
  • 保存 permId,方便跨客户端追踪同一个 IBKR 订单。
  • 不要让单策略程序默认撤掉 reqAllOpenOrders() 看到的全部订单。
  • 如果你只想恢复自己的策略订单,优先用 reqOpenOrders(),再结合 orderRef 做业务过滤。