Как обрабатывать ошибки от вызовов reqMktData

Есть ли в сети примеры, как обрабатывать ошибки при загрузке данных с Interactive Brokers с помощью пакета IBrokers? Я посмотрел на детали пакета и eWrapper а также twsCALLBACK кажется, справиться с этим, но я не могу заставить их работать. Например, приведенный ниже код выдает ошибку и R зависает, ошибка msg не обрабатывается. Спасибо за любые предложения.

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 ответ

Вы должны добавить команду "Отключить" к вашему коду. В противном случае ваша программа попытается построить соединение с одним и тем же портом, это невозможно и не прекратится.

Я не очень хорошо знаю пакет IBroker, пожалуйста, проверьте команду на отключение и добавьте ее в свой код. Обновите командную строку и перезапустите код.

Кроме того, подключитесь к IB Gateway вместо TWS, используя этот номер порта (проверьте настройки API своего приложения IB Gateway). В настройках выберите подробный журнал. Запустите ваш код еще раз (после изменения номера порта) и отправьте файл журнала. Тогда я постараюсь помочь больше. Трудно помочь без каких-либо сообщений об ошибках.

Другие вопросы по тегам