首先,我使用Python2.7,我的操作系统是win7,我的IBpy包是最新的,从github下载。
我运行example_opt.py,这是IBpy的一个演示,然后我遇到了以下问题:
Server Version: 76
TWS Time at connection:20160326 10:39:29 CST
<managedAccounts accountsList=DU228380>
<nextValidId orderId=1>
<error id=None, errorCode=None, errorMsg=chr() arg not in range(256)>
<connectionClosed>
DISCONNECTED
示例代码如下:
from ib.ext.Contract import Contract
from ib.opt import ibConnection, message
import time
def watcher(msg):
print msg
con = ibConnection(port=7497, clientId=888)
con.registerAll(watcher)
con.connect()
contract = Contract()
contract.m_symbol = "EUR"
contract.m_exchange = "IDEALPRO"
contract.m_currency = "USD"
contract.m_secType = "CASH"
con.reqMktData(1, contract, '', False)
time.sleep(5)
con.disconnect()
print "DISCONNECTED"
time.sleep(60)
有人能帮我解决这个问题吗?我认为这可能是最新版本的错误,因为我发现其他人也在github中问过这个问题。
非常感谢。在线等待您的答案!
尝试更改IB应用程序的语言。在我的案例中,IB的语言设置为"西班牙语",我在IbPy上不断出现这种错误;然后,我把语言改成了"英语",我就可以连接TWS了。