Я использую очень простой пример API:
from ibapi.client import EClient
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()
Ошибка, которую я получаю:
Traceback (последний последний вызов): Файл "C: \ Users \ Gebruiker \ Desktop \ Python проекты \ IB TWS \ test_app.py ", строка 9, в app.connect ('127.0.0.1', 7497, 123) Файл" C: \ Users \ Gebruiker \ Desktop \ Python проекты \ IB TWS \ ibapi \ client.py ", строка 151, в connect self.decoder = decoder.Decoder (self.wrapper, self.serverVersion ()) AttributeError: у объекта 'IBapi' нет атрибут 'wrapper'
Если я проверяю код в исходном файле, я вижу это (я вынул некоторый код, который не был релевантным):
class EClient(object):
def __init__(self, wrapper):
self.wrapper = wrapper
def connect(self, host, port, clientId):
self.decoder = decoder.Decoder(self.wrapper, self.serverVersion())
Как это возможно, что не может найти атрибут обертки, если он находится на функции __init__
класса? Чего мне не хватает?
Другой вопрос, который у меня возникает, если класс IBapi
принимает 2 аргумента (EWrapper
и EClient
), как это возможно, что объектное приложение является экземпляром * 1019? * класс без параметров?
Просто чтобы уточнить, я взял этот пример из inte rnet. Спасибо.