【问题标题】:How to handle errors from reqMktData calls如何处理来自 reqMktData 调用的错误
【发布时间】:2018-10-09 02:51:14
【问题描述】:

网络上有没有使用 IBrokers package 从盈透证券下载数据时如何处理错误的示例?我查看了包的详细信息,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)

【问题讨论】:

    标签: error-handling interactive-brokers ibrokers


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回答,但我正在寻找一种在断开连接或重试之前捕获错误的方法。为什么连接到网关而不是 TWS?这是错误消息:321 Error validating request:- "bm" : cause - Please enter a valid security type
    猜你喜欢
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2020-09-08
    • 1970-01-01
    相关资源
    最近更新 更多