作者:yunjinqi
类别:教程
日期:2022-01-03 22:24:30
阅读:1755 次
消耗积分:0 分
显示组
显示组功能允许API客户端与TWS颜色分组窗口集成。
TWS 颜色分组窗口由 TWS 中的彩色链标识,并通过 API 由整数标识。目前,该数字的范围从1到7,并映射到特定的颜色,如TWS所示。
查询显示组
IBApi.EClient.queryDisplayGroups方法用于请求 TWS 中所有可用的显示组。
self.queryDisplayGroups(19001)
IBApi.EWrapper.displayGroupList是对IBApi.EClient.queryDisplayGroups的一次性响应。
它返回一个整数列表,这些整数表示可见的组 ID,用"|"字符分隔,并首先按最常用的组排序。此列表在TWS连接期间不会更改。换句话说,用户不能添加新组,但只能更改组号的排序。
示例:“4|1|2|5|3|6|7”
class TestWrapper(wrapper.EWrapper):# ...
def displayGroupList(self, reqId: int, groups: str):
super().displayGroupList(reqId, groups)
print("DisplayGroupList. ReqId:", reqId, "Groups", groups)
订阅组事件
要与特定组集成,您需要首先通过调用IBApi.EClient.subscribeToGroupEvents 订阅组号。
self.subscribeToGroupEvents(19002, 1)
IBApi.EWrapper.displayGroupUpdated回调在收到订阅请求后触发一次,如果订阅的显示组中的所选合约发生更改,则会再次发送回调。
class TestWrapper(wrapper.EWrapper):# ...
def displayGroupUpdated(self, reqId: int, contractInfo: str):
super().displayGroupUpdated(reqId, contractInfo)
print("DisplayGroupUpdated. ReqId:", reqId, "ContractInfo:", contractInfo)
更新显示组
订阅特定组后,您可以在TWS中拥有组窗口,通过调用IBApi.EClient.updateDisplayGroup来显示某个合约。
在 IB 中唯一表示合约的编码值。可能的值包括:
none = 空选择
contractID@exchange - 任何非组合合同。示例: 8314@SMART for IBM SMART; 8314@ARCA for IBM @ARCA
combo =如果选择了任何组合
self.updateDisplayGroup(19002, "8314@SMART")
注意:除非发生错误,否则来自 API 的此请求不会从 TWS 获得响应。
在上面的示例中,我们命令与组 #1 链接的 TWS Windows 显示IBM@SMART。下面的TWS Mosaic屏幕截图显示,粉红色链式(组 #1)窗口现在都显示IBM@SMART,而绿色链式(组 #4)窗口保持不变:
取消订阅群组活动
调用IBApi.EClient.unsubscribeFromGroupEvents方法以取消组订阅。
self.unsubscribeFromGroupEvents(19002)
TWS API相关的教程
【TWS API使用教程1】—如何在自己创建的client和TWS之间创建一个连接,并请求当前的时间
【TWS API使用教程2】—如何使用 TWS API在ubuntu和windows上分别设置contract、获取contract详细信息、设置order、下单、获取持仓信息、获取账户信息
【TWS API使用教程3】—如何使用TWS API从盈透证券中设置contract及获取contract的信息?
【TWS API使用教程4】—如何使用TWS API在盈透证券中设置order?
【TWS API使用教程5】—如何使用TWS API在盈透证券中下单(place order)、获取订单信息、获取持仓、获取账户汇总信息?
【TWS API使用教程6】—如何使用TWS API在盈透证券中获取数据?
【TWS API 使用教程7】如何使用TWS API 从盈透证券中筛选满足一定条件的contract?
【TWS API 使用教程8】一个基于TWS API的简单的程序化策略
显示组
显示组功能允许API客户端与TWS颜色分组窗口集成。
TWS 颜色分组窗口由 TWS 中的彩色链标识,并通过 API 由整数标识。目前,该数字的范围从1到7,并映射到特定的颜色,如TWS所示。
查询显示组
IBApi.EClient.queryDisplayGroups方法用于请求 TWS 中所有可用的显示组。
self.queryDisplayGroups(19001)
IBApi.EWrapper.displayGroupList是对IBApi.EClient.queryDisplayGroups的一次性响应。
它返回一个整数列表,这些整数表示可见的组 ID,用"|"字符分隔,并首先按最常用的组排序。此列表在TWS连接期间不会更改。换句话说,用户不能添加新组,但只能更改组号的排序。
示例:“4|1|2|5|3|6|7”
class TestWrapper(wrapper.EWrapper):# ...
def displayGroupList(self, reqId: int, groups: str):
super().displayGroupList(reqId, groups)
print("DisplayGroupList. ReqId:", reqId, "Groups", groups)
订阅组事件
要与特定组集成,您需要首先通过调用IBApi.EClient.subscribeToGroupEvents 订阅组号。
self.subscribeToGroupEvents(19002, 1)
IBApi.EWrapper.displayGroupUpdated回调在收到订阅请求后触发一次,如果订阅的显示组中的所选合约发生更改,则会再次发送回调。
class TestWrapper(wrapper.EWrapper):# ...
def displayGroupUpdated(self, reqId: int, contractInfo: str):
super().displayGroupUpdated(reqId, contractInfo)
print("DisplayGroupUpdated. ReqId:", reqId, "ContractInfo:", contractInfo)
更新显示组
订阅特定组后,您可以在TWS中拥有组窗口,通过调用IBApi.EClient.updateDisplayGroup来显示某个合约。
在 IB 中唯一表示合约的编码值。可能的值包括:
none = 空选择
contractID@exchange - 任何非组合合同。示例: 8314@SMART for IBM SMART; 8314@ARCA for IBM @ARCA
combo =如果选择了任何组合
self.updateDisplayGroup(19002, "8314@SMART")
注意:除非发生错误,否则来自 API 的此请求不会从 TWS 获得响应。
在上面的示例中,我们命令与组 #1 链接的 TWS Windows 显示IBM@SMART。下面的TWS Mosaic屏幕截图显示,粉红色链式(组 #1)窗口现在都显示IBM@SMART,而绿色链式(组 #4)窗口保持不变:
取消订阅群组活动
调用IBApi.EClient.unsubscribeFromGroupEvents方法以取消组订阅。
self.unsubscribeFromGroupEvents(19002)
TWS API相关的教程
【TWS API使用教程1】—如何在自己创建的client和TWS之间创建一个连接,并请求当前的时间
【TWS API使用教程2】—如何使用 TWS API在ubuntu和windows上分别设置contract、获取contract详细信息、设置order、下单、获取持仓信息、获取账户信息
【TWS API使用教程3】—如何使用TWS API从盈透证券中设置contract及获取contract的信息?
【TWS API使用教程4】—如何使用TWS API在盈透证券中设置order?
【TWS API使用教程5】—如何使用TWS API在盈透证券中下单(place order)、获取订单信息、获取持仓、获取账户汇总信息?
【TWS API使用教程6】—如何使用TWS API在盈透证券中获取数据?
【TWS API 使用教程7】如何使用TWS API 从盈透证券中筛选满足一定条件的contract?
【TWS API 使用教程8】一个基于TWS API的简单的程序化策略
系统当前共有 462 篇文章