Как обрабатывать ошибки от вызовов reqMktData - PullRequest
0 голосов
/ 09 октября 2018

Есть ли в сети примеры того, как обрабатывать ошибки при загрузке данных с 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 Ответ

0 голосов
/ 27 октября 2018

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

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

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

...