← Zurück

Не получается подключиться к Interactive Brokers

Добрый день.

Использую 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.

Как это можно исправить?

Kommentare (17)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Support
Support

Добрый день

Пожалуйста проверьте наличие ошибки на ночной сборке https://yadi.sk/d/VcRO8bj83a4YWK

Николай Кривенко
Николай Кривенко Autor

Support: Добрый день

Пожалуйста проверьте наличие ошибки на ночной сборке 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=()

Support
Support

Данная ошибка не влияет на получение инструментов.

Пожалуйста установите логирования коннектора на уровень Verbose и пришлите файл. Возможно вы не заполняете необходимые поля для запроса поиска.

Николай Кривенко
Николай Кривенко Autor

Высылаю логи.

Support
Support

Добрый день

Пожалуйста возьмите обновление ещё раз. Исправлены предупреждения у заявок.

Скорее всего вы не получаете информацию об инструментах потому что ваш запрос уходит в Квик. В лог файлах нет информации о поиске инструментов. Попробуйте удалить Квик подключение или же в методе LookupSecurities передайте адаптер ИБ.

Николай Кривенко
Николай Кривенко Autor

Добрый день,

На этот раз получилось, когда я удалил Quik-подключение. Проблема в том, что мне нужны и Quik-подключения, и IB. Я попробовал передать в LookupSecurities вторым параметром адаптер IB, но у меня опять не вызвался LookupSecuritiesResult. Вызываю вот так:


var ibAdapter = ((Connector) Trader).Adapter.InnerAdapters.First(x => x.Name == "Interactive Brokers");
Trader.LookupSecurities(filterSec, ibAdapter);

Логи в приложении.

Support
Support

А вы обновили файлы? В логах присутствуют все те же ошибки.

Могли бы вы прислать так же код создания фильтра? Какие параметры заполняются?

Николай Кривенко
Николай Кривенко Autor

Обновил файлы. Сейчас опять отказывается что-либо делать (приказы не выставляет, инструменты не ищет). Логи в приложении.

// Здесь я выбираю SecurityTypes.Stock
var filterSec = new Security { Code = code, Type = (SecurityTypes) UcAvailableChosen.CboSecType.SelectedItem };
var ibAdapter = ((Connector)Trader).Adapter.InnerAdapters.First(x => x.Name == "Interactive Brokers");
Trader.LookupSecurities(filterSec, ibAdapter);

Николай Кривенко
Николай Кривенко Autor

Сегодня попробовал выставить приказ по AUD.USD@IDEALPRO.

Support
Support

Добрый день

В ваших лог файлах нет информации о том, что идёт запрос на поиск каких либо инструментов. Так же по логам видно что заявки отправляются на регистрацию. В последнем файле по неясной причине идет разрыв подключения. Возможно, это падение вашей программы или закрытие её.

Николай Кривенко
Николай Кривенко Autor

Хорошо, только вот то же самое поведение наблюдается в программе SampleIB (4.4.13). Логи в приложении. Единственное, что я поменял в примере - уровень логгирования на Verbose.

Support
Support

Добрый день

Приведённые логи от версии 4.4.13? Просьба прислать логи от версии 4.4.14 на том же примере.

Rebelion
Rebelion

А подскажите, требуются ли какие-либо права со стороны IB для того, чтобы можно было использовать Hydra в связке с TWS / IB Gateway? Нужно ли просить у саппа IB какие-либо дополнительные разрешения на работу с API? Я делал всё как в описании настроек TWS и видео на ютупе, но Hydra упорно не хочет тащить данные из TWS. Версии были 4.4.12 и 4.4.14 (ночной билд). Там заспамил уже логами, которые Hydra предлагает отправить в поддержку.

Спасибо!

Mikhail Sukhov
Mikhail Sukhov

Rebelion: А подскажите, требуются ли какие-либо права со стороны IB для того, чтобы можно было использовать Hydra в связке с TWS / IB Gateway? Нужно ли просить у саппа IB какие-либо дополнительные разрешения на работу с API? Я делал всё как в описании настроек TWS и видео на ютупе, но Hydra упорно не хочет тащить данные из TWS. Версии были 4.4.12 и 4.4.14 (ночной билд). Там заспамил уже логами, которые Hydra предлагает отправить в поддержку.

Спасибо!

Лучше всегда писать в отдельном топике. У нас на форуме встроен баг трекинг, и сообщения от не авторов (под профилем видно, кто автор) не попадают к саппорту.

Rebelion
Rebelion

Mikhail Sukhov:

Rebelion: А подскажите, требуются ли какие-либо права со стороны 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 не пошло саппу, как мне сайт сообщил, почему-то...

Mikhail Sukhov
Mikhail Sukhov

Rebelion: Кстати, моё сообщение о странностях S#.Data по IB в 4.4.14 не пошло саппу, как мне сайт сообщил, почему-то...

У нас платный саппорт https://stocksharp.ru/support/ Если нет подписки, значит сообщения никуда не идут. Вам разве не выдавалось предупреждение с описанием?

Rebelion
Rebelion

Да, было такое, вспомнил, просто тогда не обратил внимание на это. Приму к сведению.