我正在使用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..
需要帮助才能完成此任务。
非常感谢
答案 0 :(得分:0)
为此连接分配一个不同的clientID
:
ib.connect('127.0.0.1', 5021, clientId=2)
显然您已经与clientId=1
建立了另一个联系。