← Zurück

Вопрос по коннектору для interactive brokers

Адаптирую свой торговый робот для работы с interactive brokers. Подключиться удалось. Пытаюсь выставить ордер и получаю ошибку: Error validating request:-'bN' : cause - Missing order exchange Number 1 Code 321 По всей видимости interactive brokers работает с несколькими биржами и ордеру надо как - то сообщить о бирже, на которой я хочу разместить ордер .
Что я должен сделать для устранения этой ошибки. Спасибо!

.

War dieses Thema hilfreich?

Thema teilen

Kommentare (9)

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

LevNNN
LevNNN Autor

Сам продвинулся немного вперед в решении этой задачи. Оказывается в коннекторе для interactive brokers для одной и той же акции есть две записи Boad. Так для например акций Apple есть записи - @NASDAQ и @IBRK. Сначала я выбирал вторую при подаче ордера и получал вышеуказанную ошибку. Стал выбирать - @NASDAQ, вышеуказанная ошибка прошла, но появилась новая:

Error:No security definition has been found for the request Number 1 Code 200 Что - то опять там не хватает. Схожий вопрос обсуждается вот здесь - https://stackoverflow.com/questions/16844603/interactive-brokers-java-api-200-no-security-definition-has-been-found-for-th Вопрос остается - что я должен сделать для устранения этой ошибки. Спасибо!

Support
Support

Добрый день

  1. Необходимо сделать запрос мета-данных с такими параметрами

41864797be6be639067b777a140e4137.png

  1. Далее, вам необходимо работать с инструментом, площадка у которого ISLAND. Это и есть NASDAQ.
LevNNN
LevNNN Autor

Спасибо за ответ. В своем ответе Вы показываете пример из тестовой программы SampleConnection. К сожалению в моем случае вкладка Security пустая, никаких акций в ней нет. Наверное в этом причина моих проблем. Хотя вкладка Portfolios показывает истинные значения, т.е. показывает баланс и открытые позиции по акциям. В настройках коннектора тест на подключение проходит успешно. Я использую версию TWS 978.2 с. По всей видимости я что-то не настроил. Кстати, в моей версии TWS вкладка настройки API более расширенная, по сравнению с тем что приведена на странице в документации - https://doc.stocksharp.ru/html/eab815a2-65f7-46e8-9989-4ae52d234703.htm.

Буду очень признателен за ответ!

Support
Support

LevNNN: Спасибо за ответ. В своем ответе Вы показываете пример из тестовой программы SampleConnection. К сожалению в моем случае вкладка Security пустая, никаких акций в ней нет.

Вам необходимо выполнить поиск инструментов, нажав на кнопку Find и заполнить поля как на картинке из пунтка 1 предыдущего ответа.

LevNNN
LevNNN Autor

Спасибо за ответ, но к сожалению не все так просто. Конечно, я нажимал кнопку Find и ничего не находилось. Посмотрел логи от программы SampleConnection. Из логов видно, что я делаю запрос на акции AAPL а в ответ от IB приходит - No security definition has been found for the request Number 54076266 Code 200 Лог от программы SampleConnection прикрепил.

Support
Support

Вы искали через расширенные нестройки с приведенными параметрами как на картинке?

Все параметры должны быть как на картинке.

LevNNN
LevNNN Autor

Спасибо!!! С расширенными настройками сработало! Удалось получить Вашу картинку. Буду дальше разбираться.

LevNNN
LevNNN Autor

Добрый день! В продолжение вопроса. А не могли бы Вы привести кусок кода, как программно сформировать поле msg для метода Connector.LookupSecurities(SecurityLookupMessage msg); Какие поля должны быть обязательно заполнены и как их заполнить.

К сожалению из документации и тестового примера не очень понятно как это сделать.

Заранее благодарен.

LevNNN
LevNNN Autor

Оказалось все довольно просто, нужно включить вот такой код

       Security criteria = new Security { Code = "M2K", Currency = CurrencyTypes.USD, Type = SecurityTypes.Future };
       Connector.LookupSecurities(criteria);

Может кому-то это будет полезно.