首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IBRK TWS API错误()采用4个位置参数,但给出了5个

IBRK TWS API错误()采用4个位置参数,但给出了5个
EN

Stack Overflow用户
提问于 2022-11-12 11:26:57
回答 2查看 39关注 0票数 1

如果我运行一个基本的TWS示例,就会收到错误消息。如果我注释掉了错误()回调,它就会运行得很好。我已经在几个例子上试过了,并得到了同样的结果。

代码语言:javascript
复制
    Exception has occurred: TypeError
    
    error() takes 4 positional arguments but 5 were given
    
    File "/Users/jayurbain/Dropbox/twsapi/Algorithmic Trading using Interactive Broker's 
    Python API /ib_basic_app.py", line 20, in <module> app.run()

请给我建议。

谢谢,

杰伦

下面是在wrapper.py中被覆盖的回调:

代码语言:javascript
复制
    def error(self, reqId:TickerId, errorCode:int, errorString:str, advancedOrderRejectJson = ""):

以下是整个代码:

代码语言:javascript
复制
from ibapi.client import EClient
from ibapi.wrapper import EWrapper
 
class TradingApp(EWrapper, EClient):
    def __init__(self):
        EClient.__init__(self,self)
        
    def error(self, reqId, errorCode, errorString):
        print("Error {} {} {}".format(reqId,errorCode,errorString))
 
app = TradingApp()      
app.connect("127.0.0.1", 7497, clientId=1)
app.run()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-21 11:34:49

问题的解决方案是执行python setup install,而不是使用pip来安装ibapi。谢谢你的回答。

票数 0
EN

Stack Overflow用户

发布于 2022-11-20 10:58:46

从10.14开始的版本中有一些API更改。由于错误回调还有另一个参数,所以需要将其包含在args中。

代码语言:javascript
复制
def error(self, reqId, errorCode, errorString, advancedOrderRejectJson):
    print("Error {} {} {}".format(reqId,errorCode,errorString))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74412482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档