Добрый день.
Использую StockSharp 4.4.13, пытаюсь подключиться к Interactive Brokers (через составной коннектор), в логах вижу следующее:
00:00:00.000| |Connector |Connect 17:51:28.490| |BasketMessageAdapter|Connecting 'Interactive Brokers: Адрес = 10.110.77.119:4001'. 17:51:28.665| |BasketMessageAdapter|Connected to 'Interactive Brokers: Адрес = 10.110.77.119:4001'. 17:51:28.705|Debug |IBSocket |Msg: ManagedAccounts 17:51:28.708| |Connector |Создан новый портфель U1656518. 17:51:28.710| |Connector |Создан новый портфель U1904738. 17:51:28.710| |Connector |Создан новый портфель U2035683. 17:51:28.710| |Connector |Создан новый портфель U2157419. 17:51:28.710| |Connector |Создан новый портфель U2485265. 17:51:28.710|Debug |IBSocket |Msg: NextOrderId 17:51:28.710|Debug |IBSocket |Msg: ErrorMessage 17:51:28.710|Error |Connector |System.InvalidOperationException: Сообщение 'Portfolio,T(L)=2018/09/14 17:51:28.710,Name=' привело к ошибке обработки. ---> System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: name в StockSharp.Algo.Connector.GetPortfolio(String name, Func`2 changePortfolio) в StockSharp.Algo.Connector.OnProcessMessage(Message message) --- Конец трассировки внутреннего стека исключений --- 17:51:28.713| |IBSocket |Market data farm connection is OK:cashfarm 17:51:28.713|Debug |IBSocket |Msg: ErrorMessage 17:51:28.713| |IBSocket |Market data farm connection is OK:usfarm 17:51:28.713|Debug |IBSocket |Msg: ErrorMessage 17:51:28.713| |IBSocket |HMDS data farm connection is OK:ilhmds 17:51:28.713|Debug |IBSocket |Msg: ErrorMessage 17:51:28.713| |IBSocket |HMDS data farm connection is inactive but should be available upon demand.euhmds 17:51:28.713|Debug |IBSocket |Msg: ErrorMessage 17:51:28.713| |IBSocket |HMDS data farm connection is OK:ushmds 17:51:28.713|Debug |IBSocket |Msg: NewsProviders 17:51:28.713|Debug |IBSocket |Msg: FamilyCodes 17:51:28.714|Debug |IBSocket |Msg: MktDepthExchanges 17:51:28.715|Debug |IBSocket |Msg: CurrentTime 17:51:28.730| |Connector |Disconnect 17:51:28.737| |BasketMessageAdapter|Disconnecting 'Interactive Brokers: Адрес = 10.110.77.119:4001'. 17:51:28.740| |BasketMessageAdapter|Disconnected from 'Interactive Brokers: Адрес = 10.110.77.119:4001'.
После этого невозможно отправлять приказы и получать информацию по инструментам (очевидно).
Использую IB Gateway, Build 963.3m, Dec 20, 2017 10:15:55 AM.
Как это можно исправить?
Comments (17)
Login or Create account, Log in or register to leave a comment
Добрый день
Пожалуйста проверьте наличие ошибки на ночной сборке https://yadi.sk/d/VcRO8bj83a4YWK
Добрый день, проверил.
Теперь подключается, но на LookupSecurity все еще никак не реагирует (событие LookupSecuritiesResult не вызывается).
Еще в логах заметил вот что: 14:09:49.121|Error |Connector |System.InvalidOperationException: Неизвестный тип трейдера 0. в #=zlDmaKW5ClIzB8hXkjI2SKHqpz5B4RqzFtrzi6H0=.#=zenvKbBo=(#=zK_2OqbPtF0VkzkbB3KRamPzgw1YnsKta2w== #=zaIhkHVE=) в StockSharp.InteractiveBrokers.InteractiveBrokersMessageAdapter.#=zMNRF2QweZK9Y(#=zK_2OqbPtF0VkzkbB3KRamPzgw1YnsKta2w== #=zaIhkHVE=) в StockSharp.InteractiveBrokers.InteractiveBrokersMessageAdapter.#=z9BACIog=(#=zK_2OqbPtF0VkzkbB3KRamPzgw1YnsKta2w== #=zaIhkHVE=, #=zlBGq5YRROZwyZ7RiXJgGOk60CDxqTBX8dA== #=zWex0Lso=) в StockSharp.InteractiveBrokers.InteractiveBrokersMessageAdapter.#=zILxpl22CIQHqiW8C5G62uJg=()
Данная ошибка не влияет на получение инструментов.
Пожалуйста установите логирования коннектора на уровень Verbose и пришлите файл. Возможно вы не заполняете необходимые поля для запроса поиска.
Высылаю логи.
Добрый день
Пожалуйста возьмите обновление ещё раз. Исправлены предупреждения у заявок.
Скорее всего вы не получаете информацию об инструментах потому что ваш запрос уходит в Квик. В лог файлах нет информации о поиске инструментов. Попробуйте удалить Квик подключение или же в методе LookupSecurities передайте адаптер ИБ.
Добрый день,
На этот раз получилось, когда я удалил Quik-подключение. Проблема в том, что мне нужны и Quik-подключения, и IB. Я попробовал передать в LookupSecurities вторым параметром адаптер IB, но у меня опять не вызвался LookupSecuritiesResult. Вызываю вот так:
Логи в приложении.
А вы обновили файлы? В логах присутствуют все те же ошибки.
Могли бы вы прислать так же код создания фильтра? Какие параметры заполняются?
Обновил файлы. Сейчас опять отказывается что-либо делать (приказы не выставляет, инструменты не ищет). Логи в приложении.
Сегодня попробовал выставить приказ по AUD.USD@IDEALPRO.
Добрый день
В ваших лог файлах нет информации о том, что идёт запрос на поиск каких либо инструментов. Так же по логам видно что заявки отправляются на регистрацию. В последнем файле по неясной причине идет разрыв подключения. Возможно, это падение вашей программы или закрытие её.
Хорошо, только вот то же самое поведение наблюдается в программе SampleIB (4.4.13). Логи в приложении. Единственное, что я поменял в примере - уровень логгирования на Verbose.
Добрый день
Приведённые логи от версии 4.4.13? Просьба прислать логи от версии 4.4.14 на том же примере.
А подскажите, требуются ли какие-либо права со стороны IB для того, чтобы можно было использовать Hydra в связке с TWS / IB Gateway? Нужно ли просить у саппа IB какие-либо дополнительные разрешения на работу с API? Я делал всё как в описании настроек TWS и видео на ютупе, но Hydra упорно не хочет тащить данные из TWS. Версии были 4.4.12 и 4.4.14 (ночной билд). Там заспамил уже логами, которые Hydra предлагает отправить в поддержку.
Спасибо!
Лучше всегда писать в отдельном топике. У нас на форуме встроен баг трекинг, и сообщения от не авторов (под профилем видно, кто автор) не попадают к саппорту.
Михаил, мерси. Там с вопросом разобрался - для форекс-данных со стороны IB подписка на реал-тайм не требуется, для фучей, опцей и ETF она нужна, иначе трансляция не идёт. Кстати, моё сообщение о странностях S#.Data по IB в 4.4.14 не пошло саппу, как мне сайт сообщил, почему-то...
У нас платный саппорт https://stocksharp.ru/support/ Если нет подписки, значит сообщения никуда не идут. Вам разве не выдавалось предупреждение с описанием?
Да, было такое, вспомнил, просто тогда не обратил внимание на это. Приму к сведению.