0

我尝试制作一个简单的 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/

感谢您的帮助!

4

1 回答 1

5

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

https://docs.python.org/3/reference/datamodel.html#object。在里面

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

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


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

...

您可能对IBKR 网站上交易者学院的 Python API 课程感兴趣。

于 2020-04-06T21:20:16.727 回答