Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
В процессе работы через поставщика данных Interactive Brokers у программы TSLab нет возможности получать список доступных ценных бумаг (контрактов).
Чтобы начать работу с ценной бумагой (контрактом), Вам необходимо ввести тикер ценной бумаги (контракта) в соответствующем поле окна "Управление контрактами", которое можно открыть из настроек поставщика данных Interactive Brokers. В этом же окне необходимо указать:
наименование площадки (либо в ручном режиме, либо выбрать из списка имеющихся)
тип ценной бумаги (контракты).
В качестве дополнительных параметров контракта Вы можете указать валюту контракта и экспирацию контракта в соответствующих полях окна.
Можно добавить все фьючерсы по базовому активу. Для этого надо указать Тикер, Площадку, Валюту и Тип (фьючерсы). Экспирацию можно не указывать. Например: MSFT, ONE, USD, Фьючерсы.
После того как настройки контракта были выбраны, необходимо нажать на кнопку Добавить
Внимание! Полноценная работа с опционами IB в программе не поддерживается. Не все опционы можно загрузить в программу в данном поставщике данных. Те, которые загружаются не работают с блоком "торгуемый опцион" и таблицей "опционная доска".
Для добавления опционов надо указывать дату экспирации, так как опционов очень много. Выбрать тип Колл-опцион или Пут-опцион.
После того как необходимые свойства ценной бумаги (контракта) указаны, Вы можете внести ценную бумагу в список закешированных контрактов для дальнейшего использования с помощью кнопки "Добавить".
В качестве альтернативного варианта для того, чтобы ценная бумага распознавалась программой TSLab, необходимо выставить и тут же снять заявку по интересующей Вас ценной бумаге с помощью терминала TWS. Таким образом наименование ценной бумаги запомнится в списке закэшированных контрактов программы TSLab.
В случае возникновения сбоя в кодировке Журнала сообщений, необходимо открыть настройки терминала TWS, выбрать закладку API и активировать опцию "Отправлять сообщения на английском языке".
Используемый программой TSLab API брокера Interactive Brokers не передает информацию по лотности. Соответственно, для покупки 1 лота, содержащего, к примеру, 100 акций, в настойках агента необходимо указывать 100.
Для тестирования алгоритмов на акциях используйте блок "Относительная комиссия с минимумом".
В блоке установите параметр Минимальная комиссия = 1. Брокер не взимает плату за объем сделки и каждая сделка, с любым объемом, это 1$
Параметр блока Комиссия, % можно использовать для приблизительного учета проскальзывания в сделках.
Маржа указывается в % годовых. Учет идет только по шортам. Ее размер уточняйте у брокера.
Брокер IB поддерживает выставление заявок за пределами торговой сессии на бирже. Данный функционал поддерживается TSLab не в полном объеме. Поэтому, при выставлении заявки за пределами сессии ответ о подтверждении заявки может идти дольше, чем указанное количество ожидания ответа в настройках программы.
По истечению таймаута программа снова выставит заявку, таким образом будет двойное исполнение.
Решение
Чтобы предотвратить данную ситуацию с поставщиком данных Interactive Brokers, необходимо организовывать алгоритмы так, чтобы они не выставляли заявки во вне торговое время. Если не получается так сделать, то подключение к TWS рекомендуется организовывать, учитывая таймаут ожидания заявки.
В TSLab откройте окно Настройки программы.
Файл -> Настройки программы -> Торговля -> Таймаут заявки
Значение поля Таймаут заявки должно быть больше, чем разница между временем начала торговой сессии и временем подключения к брокеру.
Мы не рекомендуем выставлять заявки вне работы биржи, явно брокер такие заявки исполняет либо редко, либо никогда. Так же через несколько миллисекунд брокер может прислать обновление по заявке выставленной во вне торговое время, что заявка СНЯТА, а потом она исполняется.
Соответственно, возникает такая же проблема с двойным исполнением. Заявка снята, поэтому программа должна выставить новую, согласно сигналам.
Если в настройках поставщика данных поставить настройку "Исп. SMART всегда", то инструменты с некоторых бирж, например MEXI, нельзя будет подгрузить, так как MEXI отсутствует в SMART площадке. Можно создать несколько поставщиков данных. Используя разные API ID. При этом настраивать TWS особым образом не требуется.
К сожалению, в используемом нами API брокера Interactive Brokers не передается информация по лотности. Поэтому, если в настройках агента выставить один лот, то агент купит одну акцию, а не один лот.
Соответственно, для покупки одного лота = 100 акций в настойках агента необходимо указывать 100 лотов. То же касается менеджера заявок.
Для подключения к бирже через торговую платформу TSLab с помощью поставщика данных Interactive Brokers вам необходимо установить на своем компьютере последнюю версию терминала TWS. Скачать последнюю версию TWS можно по ссылке:
Для работы терминала TWS необходимо установить на вашем компьютере Java. В последних версиях TWS загрузка и установка необходимых элементов производится автоматически во время установки TWS.
После завершения установки запустите терминал TWS. Введите имя пользователя (Username) и пароль (Password) от вашей учетной записи Interactive Brokers.
Когда приложение TWS будет запущено, откройте настройки программы. Для этого выберите пункт меню File -> Global Configuration... (Файл -> Глобальная конфигурация...)
В открывшемся окне выберете пункт меню API -> Настройки.
Выставьте настройки терминала TWS в соответствии со скриншотом ниже. Обратите внимание на пункты, выделенные красным.
Внимание! ID главного API-клиента и IP должны совпадать с настройками подключения в TSLab. Если данные настройки не совпадают, то заявки, размещенные в TWS, не будут отображаться в программе TSLab.
Для того чтобы выполнить подключение программы TSLab к брокеру Interactive Brokers, Вам необходимо установить терминал Trader Workstation (TWS) или IB Gateway на компьютер, где будет установлена программа TSLab.
Войдите в ваш личный кабинет на сайте компании TSLab.
В разделе Магазин найдите поставщик данных Interactive Brokers. Для выбора поставщика данных нажмите на кнопку Подробнее.
Обратите внимание! При оформлении заказа необходимо указать номер вашего счета в Interactive Brokers.
Номер счета можно найти в терминале TWS. Номер имеет слеющий формат записи:
D0000000 - для реального счета
DU0000000 - для демо счета
Заполните форму заказа лицензионного ключа для поставщика данных Interactive Brokers.
Введите ваш номер счета Interactive Brokers.
Укажите срок действия ключа для поставщика данных.
Ознакомьтесь с Договором оказания услуг.
Нажмите на кнопку Купить. Завершите процесс оформления лицензии оплатив счет.
После завершения процесса оформления лицензии на ваш электронный адрес поступит письмо с лицензионным ключом. Также ключ можно будет найти в разделе Контракты. Для того чтобы получить подробную информацию о контракте нажмите на кнопку с тремя точками в строке с контрактом.
В открывшемся окне представлена подробная информация о контракте, в том числе срок действия, номер счета и ключ для поставщика данных.
Обратите внимание! Созданный ключ подходит только для указанного номера счета. Если вы хотите использовать поставщик данных Interactive Brokers для другого брокерского счета, то вам понадобится создать новый ключ.
Скачайте и установите торговую платформу TSLab 2.2. Скачать последнюю версию программы вы можете перейдя по ссылке:
Запустите TSLab. Для подключения к брокеру Interactive Brokers необходимо настроить поставщик данных. В главном меню программы выберите пункт меню Данные -> Поставщики.
В открывшемся окне Поставщики нажмите на кнопку Добавить. Выберите категория поставщика Данные в режиме реального времени. Нажмите кнопку Далее.
Далее в списке поставщиков вам необходимо найти и выбрать Interactive Brokers. Введите имя поставщика, которое в дальнейшем будет отображаться в окне "Поставщики". Нажмите кнопку Далее.
В открывшемся окне настроек поставщика данных необходимо ввести номер счета пользователя IB.
Счет пользователя отображается:
Для терминала IB Gateway - в окне Настройки терминала IB Gateway.
Для терминала TWS - в заголовке главного окна терминала TWS
Выполнив настройку поставщика данных Interactive Brokers нажмите на кнопку Далее.
Управление контрактами
Позволяет добавлять и удалять ценные бумаги (контракты).
Альтернативный поставщик
Альтернативный поставщик данных.
Счет
Счет клиента Interactive Brokers.
API ID
Уникальный API ID программы, с помощью которой клиент Interactive Brokers работает с терминалом TWS. API ID устанавливается самим клиентом.
Адрес
IP адрес компьютера, на котором используется TWS.
Порт
Номер порта.
Локальное время
Позволяет выводить данные в местной временной зоне, по умолчанию используется UTC.
Заяки вне биржевой сессии
Активирует размещение и исполнение заявок за пределами биржевой сессии
Исп. SMART всегда
Активирует использование площадки SMART.
Использовать лимитные ордера вместо рыночных
Выключает использование "Заявка по рынку" брокера. Активирует Лимитную заявку по последней известной цене +- 4%
Процент увеличения лимитной цены
Процент увеличения цены для ордера, когда лимитные ордера используются вместо рыночных
Загружать тики за N дней
Загружать пропущенные тики за N дней
Загружать тики
Блокировка заявок, сек.
Блокирует подачу заявок на установленный временной интервал после установления соединения с поставщиком данных.
Настройки кешей
Устанавливает период хранения информации о Ваших сделках и заявках, доступны следующие параметры:
срок хранения исполненных заявок;
срок хранения отмененных заявок;
срок хранения сделок.
Видимость сделок/заявок в оффлайне
Активирует возможность видеть свои сделки и заявки в оффлайн режиме. Изменение данного параметра требует перезапуска программы.
Далее необходимо ввести лицензионный ключ для созданного поставщика данных. Выберите поставщик Interactive Brokers и нажмите на кнопку Ключ. В окне Регистрационный ключ введите ключ отправленный вам по почте (либо скопируйте ключ из личного кабинета TSLab). Нажмите на кнопку OK.
Если ключ введен верно, то в столбце Комментарий отобразится срок действия лицензии а в столбце Операция вам станет доступна кнопка подключения к бирже.
Проверьте работу поставщика нажав на кнопку в столбце Операция. Программа проинформирует Вас о статусе соединения в окне Поставщики и в строке состояния:
красный цвет кнопки означает ошибку в установке соединения;
желтый цвет кнопки означает процесс установки соединения;
зеленый цвет означает, что соединений было установлено и Вы можете осуществлять торговые операции.
Поставьте галочку в колонке Строка состояния для активации кнопки-слайдера в строке состояния. Цвет кнопки слайдера в Строке состояния также информирует Вас о состоянии соединения.
Используя меню Управление расписанием Вы можете настроить автоматический запуск поставщика данных в указанный Вами день и время.
Примечание. Для автоматического запуска поставщика данных необходимо, чтобы приложение TSLab было запущено.
Для настройки автоматического запуска поставщика нажмите на кнопку с тремя точками в столбце Управление расписанием.
В открывшемся окне Редактировать расписание заполните данные расписания автоматического запуска поставщика. Нажмите на кнопку ОК
Для запуска составленного расписания необходимо в окне Поставщики перевести слайдер Управление расписанием в крайнее правое положение. При этом ручное управление запуском поставщика данных будет заблокировано.
Для подключения к бирже через торговую платформу TSLab с помощью поставщика данных Interactive Brokers вам необходимо установить на своем компьютере последнюю версию терминала IB Gateway. Скачать последнюю версию IB Gateway можно по ссылке:
После завершения установки запустите программу IB Gateway. Введите имя пользователя (Username) и пароль (Password) от вашей учетной записи Interactive Brokers.
Когда приложение IB Gateway будет запущено, откройте настройки программы. Для этого выберите пункт меню Настройки -> Настройки
В открывшемся окне выберете пункт меню API -> Настройки.
Выставьте настройки терминала IB Gateway в соответствии со скриншотом ниже. Обратите внимание на пункты, выделенные красным.
Обратите внимание! Вы можете выбрать значения полей Сокет-порт, ID главного API-клиента по своему усмотрению. Значения данных полей должны совпадать со значениями, указанными в настройках поставщика данных IB в TSLab.
Обратите внимание! Номер счета IB указан в левом верхнем углу окна настроек.
Сохраните настройки, нажав на кнопку Применить. Закройте окно настроек.
Во время работы с поставщиком данных Interactive Brokers в TSLab программа IB Gateway должна быть запущена и подключена к серверам данных IB.
Проблема:
При работе с поставщиком данных Interactive Brokers в окне уведомлений TSLab выдаются сообщения, в которых не отображаются символы:
11:18:13.52[IBClient Read Thread]ERROR:[IB] -1. 2108. ○¥¦│■¥■│¥ £¢○← ■○■ ¦¢■■ ■¥ ¢↑│¬■○, ■○ ¦○→₩■○ £ ¦○■○ ○ ¥£○¬¢■│.cashfarm"
Решение:
Откройте терминал TWS. В главном меню программы выберите пункт Файл -> Глобальная конфигурация.
Выберите пункт меню API -> Настройки. Найдите в списке настроек опцию "Отправлять сообщения API на английском" и установите галочку напротив данной опции. Сохраните настройки
Проблема:
Решение:
Попробуйте уменьшить запрос истории в скриптах, агентах и графиках.
Решение:
Подключить поставщик
Открыть свойства поставщика -> кнопка Добавить/удалить контракт -> Там удалить контракт
Добавить заново контракты -> ok
Перезагрузить тслаб.
Попробовать выставить заявку через менеджер заявок
"Внимание! Выбран лимит загрузки истории, программа переходит в режим ожидания доступности истории. Ознакомьтесь с информацией брокера: "
Перед загрузкой инструмента, убедитесь в том, что Вы подписались на Market Data этого рынка.
Или так:
Если предполагается работать только с несколькими инструментами, то по одному инструменту в программу можно подгрузить следуя данной инструкции
Создайте файл с расширением .csv. Название файла может быть любым. Мы рекомендуем выбрать название таким образом, чтобы понимать какой рынок в файле. В файле может быть несколько рынков. Файл должен содержать строки вида: TYPE;TICKER;NAMESERVER
Например: CASH;EUR;IDEALPRO STK;AAPL;SMART STK;BABA;NYSE
В данном примере символ ";" является разделителем между столбцами. Это запрос на три разных тикера с разных серверов.
По первому TWS выдаст весь список всех инструментов по тикеру EUR с рынка Forex брокера.
По второму акцию Эппл с сервера ликвидности брокера Smart, биржи NYSE.
По третьему акцию Алибаба непосредственно с биржи NYSE
Как узнать какой инструмент с какого сервера необходимо запрашивать?
Доступность инструмента на том или ином сервере определяет брокер и/или биржа. Используйте ссылку, для формирования своих списков инструментов и определения принадлежности инструмента к Exchange:
Скачайте и распакуйте программу IBUtils.zip в любое место на жестком диске, например, в папку на рабочий стол.
Для работы программы IBUtils требуется иметь активное подключение TWS
Положите в папку in подготовленный исходный файл с нужными инструментами в формате .csv. Можно положить несколько файлов.
Запустите программу IBUtils двойным нажатием левой кнопки мыши
При работе программы IBUtils ошибки поиска инструмента или рынка выводятся в окно программы. Измените исходный файл, при необходимости.
После окончания работы, готовый файл для программы TSLab находится в папке out.
Скопируйте файл Actives.xml в папку НазваниеПоставщикаData Например: C:\Users\...\AppData\Local\TSLab 2.0\XXXData где XXXData название (имя) вашего поставщика данных IB в программе
Перезагрузите программу.
Ниже представлены примеры исходных файлов. Готовый файл для программы TSLab по всем ниже представленным примерам из раздела Exchange можно скачать здесь:
Разархивируйте файл, положите в папку C:\Users\...\AppData\Local\TSLab 2.0\XXXData Запустите программу.
STK - stock (or ETF)
OPT - option
FUT - future
IND - index (для многих инструментов данного типа брокер пишет No Data)
FOP - futures option
CASH - forex pair
BAG - combo
WAR - warrant
BOND - bond
CMDTY - commodity
NEWS - news
FUND - mutual fund
BDNS - broker does not support
Примеры исходных файлов, необходимых для пакетной загрузки инструментов в TSLab
Для того чтобы получить доступ к торговым серверам брокера Interactive Brokers через платформу TSLab Вам необходимо выполнить действия, описанные ниже.
Подробную информацию об условиях предоставления брокерских услуг и тарифах Вы можете найти на официальном сайте брокера Interactive Brokers:
Для того чтобы выполнить подключение программы TSLab к брокеру Interactive Brokers, Вам необходимо установить терминал Trader Workstation (TWS) или IB Gateway на компьютер, где будет установлена программа TSLab.
Перейдите на официальный сайт проекта TSLab. Скачайте последнюю версию программы TSLab и установите её на вашем компьютере.
Войдите в Личный кабинет пользователя на официальный сайт проекта TSLab. Оформите подписку для поставщика данных Interactive Brokers. После оплаты подписки на вашу почту будет отправлен лицензионный ключ для поставщика данных. Также данный ключ будет добавлен в список контрактов в вашем Личном кабинете TSLab
Запустите программу TSLab. Выполните настройку поставщика данных Interactive Brokers.
В статье описан процесс оформление лицензии для поставщика данных Interactive Brokers, а также настройка поставщика в программе TSLab.
В статье собраны основные особенности поставщика данных Interactive Brokers, на которые необходимо обратить внимание перед началом торговли.
ECBOT
CFE
GLOBEX
NYBOT
CMECRYPTO
ONE
CHX
ICEUS
NYBOT
ICECRYPTO
IDEALPRO
NYMEX
NYSELIFFE
NYSE
SMFE
CDE
MEXDER
SMART
AMEX
Moscow exch
BDNS
SMART