如何处理来自reqMktData调用的错误

时间:2018-10-09 02:51:14

标签: error-handling interactive-brokers ibrokers

网上是否有示例说明使用IBrokers package从Interactive Brokers下载数据时如何处理错误?我看过软件包的详细信息,eWrappertwsCALLBACK似乎可以解决此问题,但我无法使它们正常工作。例如,下面的代码产生一个错误,R挂起,错误消息未处理。感谢您的任何建议。

contract <-  twsContract(0,
                           symbol="SPI",
                           sectype="XXX",    #bad sectype
                           exch="SNFE",
                           primary="",
                           expiry= "20181220",
                           strike="",
                           currency="AUD",
                           right="",
                           local="",
                           multiplier = "25",
                           combo_legs_desc = "",
                           comboleg = "",
                           include_expired = "",
                           secIdType = "",
                           secId = "")

tws <- twsConnect()
data <- reqMktData(tws,contract,snapshot = TRUE)

1 个答案:

答案 0 :(得分:1)

您应该在代码后附加一个“断开连接”命令。否则,您的程序将尝试在同一端口上建立连接,这是不可能的,并且不会终止。

我不太了解IBroker软件包,请检查断开连接的命令并将其附加到您的代码中。刷新命令行并重新运行代码。

此外,使用该端口号连接到IB网关而不是TWS(检查IB网关应用程序的API设置)。在设置中,选择详细的日志。 再次运行您的代码(更改端口号后)并发送日志文件。然后,我将尝试提供更多帮助。没有任何错误消息很难提供帮助。