1

我正在使用很棒的包ib_insync来构建一个带有IB. 我得到一些实时代码数据如下(pseudo code):

await self._ib_instance.connectAsync(host=self._host, port=self._port, clientId=100, readonly=True)

for contract in contracts:
    self._ib_instance.reqMktData(contract)
sleep(2)

for ticker in tickerEvent:
   print(ticker)

基本上我插入tickerEvent5 K 合约,然后收听代码数据。它工作得非常完美,但是随着时间的推移(没有模式,总是不同的时间间隔),比如 5 分钟或 50 分钟,我得到了错误:

client - Peer closed connection

我在文档中发现了这个错误。但不知如何处理?怎么抓?我试图抓住它并重新连接,但它没有帮助!

请帮忙解决这个问题!

4

1 回答 1

0

您可以同时 reqMktData 的合约数量是有限的。如果不购买所需的补充包,5000 份合同是不现实的。

https://interactivebrokers.github.io/tws-api/market_data.html

默认情况下,每个用户的 maxTicker 限制为 100 条市场数据线,因此可以同时获取多达 100 种工具的实时市场数据。然而,这个限制可以通过购买报价增强包或通过增加用户账户的净值和/或佣金来进一步扩展。

于 2020-12-09T14:20:23.527 回答