使用 IBpy 连接到 IB TWS

Connecting to IB TWS using IBpy

我为 Mac OS X 下载了独立的 TWX。然后我还通过 pip 安装了 IBpy。我打开了 TWX,我 运行 以下行:

from ib.opt import ibConnection
con = ibConnection()
print(con.connect())

但是,它打印出 False。我究竟做错了什么?在 TWX 中,我将本地主机 IP 127.0.0.1 作为可信地址。

您还必须检查 API 设置中的 "enable activex and socket clients"。 较新版本 950-952 中可能存在错误,您没有指定 127.0.0.1,而是选中它显示 "allow connections from localhost only" 的框。我没有测试过,但已经阅读过。

如果您使用 IB 网关,则不需要 "enable socket clients",因为使用它的唯一方法是使用 API。请注意,网关默认为端口 4001。使用 con = ibConnection(port=4001,clientId=123)

您正在使用 clientId 0 进行连接,您可以使用 con = ibConnection(123) 例如使用不同的 clientId。

不要忘记调用 con.disconnect() 来关闭连接,否则服务器将不允许您使用该 ID 重新连接。

添加:这是我在 IB-API yahoo 用户组中读到的错误。

But as soon as I uncheck ‘Allow connections from localhost only’, it won’t accept connections from any address, not even local ones (ie even with 127.0.0.1 as a Trusted IP address).