无法获得交互式经纪人的历史数据

时间:2019-05-30 05:59:20

标签: interactive-brokers

我正在使用IB网关,并且想要获取历史数据。 当我完成了IB Gateway软件上启用API的步骤后。

我正在为此使用python笔记本。 现在,我正在运行此代码,并且能够导入给定的库,但是其余代码给了我这个错误。重要的是,正如我提到的客户端ID 1一样,建立连接。然后创建该连接,并可以在IB网关应用程序上看到它。

我的代码在这里。

from ib_insync import *
#util.startLoop() # uncomment this line when in a notebook

ib = IB()
ib.connect('127.0.0.1', 5021, clientId=1)

bars = ib.reqHistoricalData(
       contract=Stock('TSLA', 'SMART', 'USD'),
       endDateTime='',
       durationStr='30 D',
       barSizeSetting='1 hour',
       whatToShow='TRADES',
       useRTH=True)

print(bars)

这是错误。

Peer closed connection
clientId 1 already in use?
API connection failed: CancelledError()

如果我取消注释第二行(util.startLoop())it adds one more error about timeout..

,则使用笔记本

需要帮助才能完成此任务。

非常感谢

1 个答案:

答案 0 :(得分:0)

为此连接分配一个不同的clientID

ib.connect('127.0.0.1', 5021, clientId=2)

显然您已经与clientId=1建立了另一个联系。