【发布时间】:2020-08-19 00:46:00
【问题描述】:
我的代码输出:
library(IBrokers)
tws <- twsConnect(port=7496)
Error in socketConnection(host = host, port = port, open = "ab", blocking = blocking) :
cannot open the connection
In addition: Warning message:
In socketConnection(host = host, port = port, open = "ab", blocking = blocking) :
localhost:7496 cannot be opened
我已经在 TWS 中检查了我的全局配置。端口实际上是 7496。
> sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 20
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8
[8] LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] IBrokers_0.9-12 xts_0.12-0 zoo_1.8-8
loaded via a namespace (and not attached):
[1] compiler_3.6.3 tools_3.6.3 grid_3.6.3 lattice_0.20-40
我正在使用最新的 Linux Mint。我的 IB 账户已获批准并入金。
【问题讨论】:
-
是的,我的 TWS 已打开并正在运行。不过,我不确定“IB 网关”是什么。
-
您是否在 API 设置的底部设置了可信 IP?需要创建 127.0.0.1 才能运行 api 代码。并启用 ActiveX 和 Socket 客户端。如果您不想打开 TWS,IB 网关是您可以使用的版本。使用较少的资源,并且仅用于与 API 一起使用。但首先让它与 TWS 一起工作。您可以稍后再阅读其他内容。
-
在“API - 设置”下,有一个标记为“仅允许来自本地主机的连接”的复选框。默认情况下选中此框。 twsConnect 函数有一个名为“host”的参数,默认为“localhost”。那是无效的原始设置。根据您的建议,我取消选中该框并将“127.0.0.1”添加为受信任的 IP。然后我运行 twsConnect 并将“host”参数设置为“127.0.0.1”。它也没有工作。除“localhost”外的相同错误消息已替换为“127.0.0.1”。据我了解,“127.0.0.1”只是“localhost”?
-
只读框最初被选中。我再次取消选中它得到了同样的错误。
-
终于成功了!原来“启用 ActiveX 和套接字客户端”复选框未选中。我检查了它,它起作用了。
标签: r interactive-brokers tws ibrokers