Interactive Broker Python API shows error: IB AttributeError: 'IBapi' object has no attribute 'connState'

Interactive Broker Python API shows error: IB AttributeError: 'IBapi' object has no attribute 'connState'

我试图制作一个简单的 Python 程序,它通过 IB 本机 API 连接到我的模拟账户。但是当我 运行 程序出现错误时: IB AttributeError: 'IBapi' object has no attribute 'connState'

程序如下所示:

from ibapi.wrapper import EWrapper  

class IBapi(EWrapper, EClient):
     def init(self):
         EClient.init(self, self) 

app = IBapi()
app.connect('127.0.0.1', 7497, 123)
app.run()

我使用了这个网站的教程:https://algotrading101.com/learn/interactive-brokers-python-api-native-guide/

感谢您的帮助!

创建对象实例后自动调用的python初始化方法名为__init__,而不是init

https://docs.python.org/3/reference/datamodel.html#object.init

在您的代码中,永远不会调用 init 方法。应该是:

from ibapi.client import EClient 
from ibapi.wrapper import EWrapper


class IBapi(EWrapper, EClient):
    def __init__(self):         
        EClient.__init__(self, self)

...

您可能对 IBKR 网站上 Traders' Academy 中的 Python API 课程感兴趣。