跳转到内容

订阅显示组事件总览

查到显示组 ID 后,可以调用 subscribeToGroupEvents() 订阅该组的变化。订阅后,只要这个显示组关联的合约发生变化,TWS 就会通过 displayGroupUpdated() 通知程序。

# group_id 来自 displayGroupList() 返回的 groups 字符串。
app.subscribeToGroupEvents(98602, group_id)

订阅后,TWS 可能立即返回一次这个显示组正在关联的合约;之后用户手动切换 TWS UI 或程序调用 updateDisplayGroup(),都可能再次触发回调。

DISPLAY_GROUP_UPDATE=reqId=98602;contractInfo=265598@SMART

这行表示程序把显示组切到 AAPL 后收到的回调。265598 是 AAPL 股票合约的 conIdSMART 是路由/交易所信息。部分 TWS 布局在订阅后也可能先返回原有关联合约,再返回程序更新后的合约。

  • 用户在 TWS 界面里切换标的时,API 程序可以同步知道 UI 看的是哪个合约。
  • 程序调用 updateDisplayGroup() 后,可以从回调确认 TWS UI 已切换。
  • 合约排查工具可以让程序列表和 TWS 图表保持一致。

这个订阅不是行情订阅。它只告诉你显示组关联的合约,不返回 bid、ask、last、volume 等行情字段。