IB().connect 在 ib_insync 库中引发 TimeoutError

问题描述 投票:0回答:1

我一直在尝试通过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 的其他账户一样顺利运行,但某些特定交易账户存在问题。

此错误可能与库相关。如果有人能帮助我解决这个问题,那将非常有帮助。

谢谢你

python async-await timeout tws ib-insync
1个回答
0
投票

你可以尝试一些事情,也许它们会有所帮助:

更新您的库和依赖项。也许您使用的是旧版本。

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

© www.soinside.com 2019 - 2024. All rights reserved.