Руководство NinjaTrader для Interactive Brokers
Обратите внимание, что это соединение доступно только через NinjaTrader 8
Краткое содержание
Присоединение NinjaTrader к счету в Interactive Brokers может быть произведено посредством одного из двух интерфейсов. Вам нужно следовать только одной из двух инструкций, в соответствие с тем, какой интерфейс вы будете использовать:
- IB Trader’s Workstation (TWS) — полноценное торговое приложение, предоставляемое Interactive Brokers. Оно позволяет вам видеть и управлять ордерами, которые были выставлены через NinjaTrader.
- IB Gateway — облегченный интерфейс от Interactive Brokers. Он позволяет получить статус ордеров через API, но не управлять ордерами.
То, какой интерфейс будет использован при соединении с Interactive Brokers, определяется на основе вашего выбора параметра «Подключиться с помощью» (Connect using), который настраивается в «Инструкциях по настройке соединения» (Connection Configuration Instructions) и описан далее в этом руководстве.
Требования
- NinjaTrader 8 и последующие версии
- Активный счет в Interactive Brokers
- Учетные данные для входа, предоставленные Interactive Brokers:
- У вас должна быть установлена хотя бы одна из следующих автономных программ Interactive Brokers (браузерные версии не поддерживаются):
- Последняя версия Java. (Скачать)
Инструкция по начальной настройке подключения к IB Gateway:
- Запустите IB Gateway.
- Как показано на рисунке ниже, установите «Тип API» на «IB API» и введите свое имя пользователя и пароль IB для входа на шлюз.
- Выберите меню «Конфигурация» > «Настройка» (Configure > Settings), как показано на рисунке ниже.
- В окне конфигурации TWS (Trade Workstation Configuration) выберите «API» > «Настройки» (API > Settings).
- Как показано на рисунке ниже, активируйте следующие параметры:
- Добавлять виртуальные позиции Форекс при отправке портфеля (Include virtual FX positions when sending portfolio).
- Разрешать соединение исключительно с localhost (Allow connections from localhost only).
- Отправлять обновления статуса (Send status updates).
- Внимание: уберите галочку с параметра «API только для чтения» (Read-Only API), если вы планируете осуществлять реальную торговлю через NinjaTrader. В противном случае вы сможете только получать данные по счету и котировки.
- Нажмите «ОК» и продолжите чтение «Инструкций по настройке соединения» далее на этой странице.
- Внимание! Чтобы при выполнении ордеров проставлялась правильная отметка времени, настройки часового пояса в Trader Workstation и NinjaTrader должны совпадать. По умолчанию используется время локального компьютера, и никаких изменений не требуется. Если у вас возникли проблемы с настройкой часовых поясов, обращайтесь по адресу [email protected].
Инструкция по начальной настройке соединения с IB Trader Workstation (TWS)
- Запустите Interactive Brokers TWS и введите свой логин и пароль для входа в TWS.
- Как показано на изображении ниже, выберите меню «Файл> Глобальная конфигурация…». Примечание. Для классического представления TWS выберите меню «Правка> Глобальная конфигурация…»
- В окне конфигурации TWS (Trade Workstation Configuration) выберите «API» > «Настройки» (API > Settings).
- Как показано на рисунке ниже, активируйте следующие параметры:
- активация клиентов ActiveX и Socket (Enable ActiveX and Socket Clients);
- загрузка открытых ордеров после соединения (Download open orders on connection);
- добавление валютных позиций при отправке портфеля (Include FX positions when sending portfolio);
- Отправлять обновления статуса (Send status updates).
- Внимание: уберите галочку с параметра «API только для чтения» (Read-Only API), если вы планируете осуществлять реальную торговлю через NinjaTrader. В противном случае вы сможете только получать данные по счету и котировки.
- Нажмите «ОК» и продолжите чтение «Инструкций по настройке соединения» далее на этой странице.
- Внимание! Чтобы при выполнении ордеров проставлялась правильная отметка времени, настройки часового пояса в Trader Workstation и NinjaTrader должны совпадать. По умолчанию используется время локального компьютера, и никаких изменений не требуется. Если у вас возникли проблемы с настройкой часовых поясов, обращайтесь по адресу [email protected].
Инструкции по созданию соединения
- NinjaTrader 8 уже должна быть установлена
- Запустите NinjaTrader 8
- В окне Control Center выберите меню "Connections” > “configure”
- Из списка допустимых соединений (Available) выберите Interactive Brokers и нажмите «Добавить» (Add) рядом с секцией «Настроенные» (Configured).
- Справа появятся свойства соединения “Properties”
- Введите логин и пароль Interactive Brokers, как показано на рисунке ниже:
- Connection name: Создайте название вашего соединения
- Connect on start up: ставьте галочку, если вы хотите, чтобы при открытии платформы она автоматически подключалась к этому соединению
- User Name (не обязательно): введите логин Interactive Brokers. Оставьте пустым, если вы предпочитаете вводить логин при запуске TWS.
- Password (не обязательно): введите пароль Interactive Brokers. Оставьте пустым, если вы предпочитаете вводить пароль при запуске TWS.
- Ask password on connect: при активации этой функции для соединения будет требоваться ручной ввод пароля (поле для пароля выше будет неактивно).
- Enable beta functionality: добавляет экспериментальный функционал в NinjaTrader 8.0.16.0 (примечания к выпуску).
- Connect Using: выберите, с помощью чего вы будете подключаться. Установите на TWS или Gateway в зависимости от того, что вы выбрали при начальной установке.
- Automated logon: отметьте этот параметр для автоматического запуска NinjaTrader и введите свои логин и пароль. Выбор данного параметра активирует «Путь для автоматического входа» (Auto Logon path), с помощью которого NinjaTrader определяет, где находится нужная версия TWS или Gateway. Не выбирайте этот параметр, если планируете запускать платформу вручную и входить в TWS или Gateway самостоятельно.
- Важно: для правильной работы этой функции вам необходимо использовать версию API, указанную на этой странице.
- Auto logon path: используется, только если активирован «Автоматический вход» (Auto logon). Функция не совместима с демосчетами. Выберите местонахождение установленного файла вашей TWS или Gateway (путь может быть разным в зависимости от ваших настроек), например:
- TWS: C:\Jts\985\tws.exe и т.д.
- IBGateway: C:\Jts\ibgateway\981\ibgateway.exe.
- Client ID: оставьте значение этого поля «0», если вы не получили специальных инструкций по этому поводу.
- Host (не обязательно): оставьте в этом поле «127.0.01» (localhost), если только вы не хотите подключить NinjaTrader к TWS, запущенному на другом компьютере в той же локальной сети. Если вы подключаетесь к другому компьютеру в локальной сети, введите IP-адрес этого компьютера или его имя.
- Local OCO simulation: Позволяет NinjaTrader управлять ордерами OCO локально, в рамках платформы на компьютере. Нe активируйте эту функцию, если вас специально об этом не проинструктировали
- Log level: оставьте значение по умолчанию, если только вы не получили специальных инструкций от представителя техподдержки.
- Port TWS: убедитесь, что это значение совпадает с тем, которое указано в настройках API TWS/Gateway. Значения по умолчанию следующие:
- TWS: реальные счета — 7496, демосчета — 7497;
- Gateway: реальные счета — 4001, демосчета — 4002.
- Чтобы избежать смены портов в настройках NinjaTrader, можно создать 2 соединения: одно для входа в реальный счет, второе — для демосчета.
- Run-time pop-up handling: позволяет NinjaTrader блокировать всплывающие окна TWS.
- SSL: включает протокол защиты информации.
- Trigger after hours: активируйте этот параметр, если хотите, чтобы ваши стоп-ордера срабатывали вне стандартных торговых часов. Этот параметр будет работать только в том случае, если у вас также активировано «Разрешить активацию, срабатывание или заполнение ордеров вне обычных торговых часов» (Allow order to be activated, triggered, or filled outside of regular trading hours) в TWS (меню Configure > Order > Order Presets > Timing).
- Нажмите OK
Чтобы соединиться со своим счетом, пройдите в NInjaTrader Control Center, меню "Connections", и выберите созданное вами соединение в "Connection Name".
После того, как вы соединились, вы увидите, что ваше соединение будет выделено в меню провайдеров. В левом нижнем углу Control Center также будет показан статус соединения. О статусе соединения можно почитать в разделе "Connection Status" технического мануала.
Критически важно: валютные позиции Форекс, передаваемые в NinjaTrader, основаны на позициях в TWS FX Trader и в разделе FX Portfolio окна TWS Account. Это значение не соответствует денежной стоимости (cash value), указанной в разделе Market Value окна Account TWS.
Наиболее частые проблемы в подключении к счету Interactive Brokers
Всегда проверяйте вкладку журнала (Log) в Control Center на наличие сообщений об ошибке соединения.
Я пытаюсь подключиться, но ничего не происходит.
Обычно это происходит потому, что TWS настроен неверно. Пожалуйста, ознакомьтесь с инструкцией по начальной настройке подключения с API IB в руководстве выше.
Я получаю сообщение об ошибке: Target machine actively refused…
- Убедитесь, что в настройках API TWS/Gateway выбрано «Активировать клиенты ActiveX и Socket» (Enable ActiveX and Socket Clients), как указано в инструкции по начальной настройке TWS или IB Gateway (в зависимости от того, что вы используете).
- Если к вашему TWS подключено стороннее приложение, убедитесь, что для него не указано значение Client ID, равное «0». Попробуйте отключить это приложение и после этого подключить NinjaTrader к TWS.
Я получаю сообщение об ошибке «Невозможно автоматически запустить IB…» (Unable to auto start IB…).
Это происходит, потому что у вас активирован параметр «Автоматический вход» (Auto Logon), но программа NinjaTrader не смогла обнаружить рекомендуемую версию приложения IB на вашем компьютере.
- Попробуйте запустить TWS/Gateway вручную и выполните вход до того, как предпринимать попытку подключения из NinjaTrader.
- Убедитесь, что правильно настроили «Путь для автоматического входа» (Auto Logon path) и указали верное место установки tws.exe или ibgateway.exe, как указано в пункте 6g инструкции по настройке соединения.
- Убедитесь, что вы установили рекомендуемую конфигурацию API, в соответствии с требованиями инструкций по установке.
- Если у вас возникли проблемы с настройкой автоматического входа, обращайтесь по адресу [email protected].
Я получаю сообщение об ошибке «Невозможно подключиться к программе IB TWS/Gateway…» (Unable to connect to IB TWS/Gateway instance…).
Обычно это происходит из-за того, что TWS не запущена, или конфигурация Socket Port в настройках NinjaTrader не совпадает с Socket Port в настройках TWS или Gateway API. Хотя используемый номер порта является необязательным, для подключения он должен быть одинаковым в настройках обеих программ.