jay*_*ain 4 python tws interactive-brokers
如果我运行基本的 TWS 示例,我会收到错误消息 。如果我注释掉回调,error()它就可以正常运行。我已经在几个例子中尝试过这个并得到相同的结果。
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()
Run Code Online (Sandbox Code Playgroud)
请指教。
这是在wrapper.py 中被覆盖的回调:
def error(self, reqId:TickerId, errorCode:int, errorString:str, advancedOrderRejectJson = ""):
Run Code Online (Sandbox Code Playgroud)
这是完整的代码:
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()
Run Code Online (Sandbox Code Playgroud)
从 10.14 开始的版本中存在重大 API 更改。由于错误回调还有另一个参数,因此您需要将其包含在 args 中。
def error(self, reqId, errorCode, errorString, advancedOrderRejectJson):
print("Error {} {} {}".format(reqId,errorCode,errorString))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |