我下载了 Mac OS X 的独立 TWX。然后我还通过 pip 安装了 IBpy。我打开了 TWX 并运行了以下几行:
from ib.opt import ibConnection
con = ibConnection()
print(con.connect())
但是,它打印 False。我究竟做错了什么?在 TWX 中,我将 localhost IP 127.0.0.1 作为可信地址。
您还必须在 API 设置中选中“启用 activex 和套接字客户端”。在较新的版本 950-952 中可能存在一个错误,您没有指定 127.0.0.1,而是选中“仅允许来自本地主机的连接”的框。我没有测试过,但已经阅读过它。
如果您使用 IB 网关,则不需要“启用套接字客户端”,因为使用它的唯一方法是使用 API。请注意,网关默认为端口 4001。利用con = ibConnection(port=4001,clientId=123)
您正在使用 clientId 0 连接,con = ibConnection(123)
例如,您可以使用不同的 clientId。
不要忘记调用 con.disconnect() 来关闭连接,否则服务器将不允许您使用该 ID 重新连接。
补充:这是我在 IB-API yahoo 用户组读到的错误。
但是,一旦我取消选中“仅允许来自本地主机的连接”,它就不会接受来自任何地址的连接,甚至不接受本地地址(即即使使用 127.0.0.1 作为受信任的 IP 地址)。