我一直在尝试通过IBKR交易工作站使用ib_insync库下订单。其中一个帐户中
IB.connect
出现错误,并引发 TimeoutError。
这是行:
ib = IB().connect('127.0.0.1', 7496, clientId=123)
Error
Traceback (most recent call last):
File "...Python\Python310\lib\tkinter\_init.py", line 1921, in __call__
return self.func(*args)
File "nq_ibkr_algo.py", line 193, in initiate_functionalities
self.ib, self.contract = self.ib_connection()
File "nq_ibkr_algo.py", line 452, in ib_connection
ib = IB().connect('127.0.0.1', 7496, clientId=123)
File "venv\lib\site-packages\ib_insync\ib.py", line 279, in connect
return self._run(self.connectAsync(
File "venv\lib\site-packages\ib_insync\ib.py", line 318, in _run
return util.run(*awaitables, timeout=self.RequestTimeout)
File "venv\lib\site-packages\ib_insync\util.py", line 341, in run
result = loop.run_until_complete(task)
File "Python\Python310\lib\asyncio\base_events.py", line 649, in run_until_complete
return future.result()
File "venv\lib\site-packages\ib_insync\ib.py", line 1782, in connectAsync
await asyncio.wait_for(self.reqExecutionsAsync(), timeout)
File "Python\Python310\lib\asyncio\tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
我希望它能像 IBKR 的其他账户一样顺利运行,但某些特定交易账户存在问题。
此错误可能与库相关。如果有人能帮助我解决这个问题,那将非常有帮助。
谢谢你
你可以尝试一些事情,也许它们会有所帮助:
更新您的库和依赖项。也许您使用的是旧版本。
pip install --upgrade ib-insync
pip install --upgrade ib-insync asyncio
验证 TWS/网关正在运行。检查 API 设置并确保 ActiveX 和套接字客户端已启用。
也许将超时调整为 60 秒。将有帮助:
ib = IB().connect('127.0.0.1', 7496, clientId=123, timeout=60)
如果这也不起作用,请尝试使用不同的 ClientID 或检查您的防火墙规则,也许可以解决问题。
./Shad0w