В данной статье будем учиться подключать OsEngine к боевому серверу Мосбиржи по протоколам FIX и FIX/FAST для фондового рынка.
На примере DMA АЛОР брокера.
1. ЧТО ДЕЛАЕМ НА САЙТЕ БРОКЕРА
1. Подключаем услугу DMA (Direct Market Access), или по-русски прямой доступ к рынкам.
Не у всех брокеров такая услуга доступна, о наличии лучше сразу спросить у специалистов техподдержки. Обычно прямой доступ предоставляют брокеры с уклоном в «большую профессиональность». Например, у АЛОРа прямой доступ есть, поэтому будем рассматривать на их примере.
У прямого доступа есть два основных варианта подключения и размещения торгового терминала:
- Торгуем через интернет прямо со своего рабочего компьютера или с арендованного удаленного сервера. В случае с FIX/FAST, работающем на технологии UDP, это весьма плохая идея, так как в этом протоколе нет контроля доставки пакетов, и часть данных будет теряться. Даже если у вас хорошая связь, и теряется 0.5-1% пакетов, то это все равно почти гарантированно сведет на нет смысл от прямого подключения. Если вы все-так выберете этот способ, вам понадобится дополнительно настройка VPN (встроенный в Виндоус, этот не запрещен 😉) для подключения к сети Мосбиржи/брокера.
- Второй вариант – торгуем с сервера, размещенного в колокации Мосбиржи. То есть компьютер физически стоит в «соседней комнате» от серверов биржи. Это обеспечивает практически нулевой уровень потерь пакетов (они летают в пределах одной подсети) и быструю связь с FIX-сервером для управления торговыми заявками. Если коротко, то это и есть нужный нам вариант.
Что нам в итоге нужно:
- Заключенный договор на DMA – брокер просит открыть отдельный договор для этого. В личном кабинете у вас появятся новые счета для фондового рынка и для срочного. Здесь мы рассматриваем только фондовый.
- Арендованная виртуальная машина в колокации Мосбиржи. Брокер предоставляет такую машину. Чем более крутые характеристики, тем это дороже стоит. В итоге вам пришлют адрес для подключения и пароль.
- Торговые логины. Вы должны сообщить брокеру, что вам требуется подключение по FIX и FAST. Это платно, но большинство брокеров, в том числе и АЛОР, продадут вам эти логины по цене, по которой их предоставляет Мосбиржа. На сегодняшний день это 4000 рублей/месяц за FIX. Полную информацию по цене всех логинов можно посмотреть на сайте Мосбиржи.
- Также по почте придет остальная нужная информация:
- Торговый логин (это как раз тот для FIX) и пароль к нему.
- Код клиента (в случае АЛОРа это номер счета в ЛК вида D124567).
- Номер торгового счета вида L00-***1234567
2. ЧТО ДЕЛАЕМ НА СЕРВЕРЕ
- Запускаем подключение к удаленному рабочему столу и вводим предоставленные брокером реквизиты.
-

- Копируем папку с OsEngine на рабочий стол удаленного сервера (или куда удобно).
- Запускаем терминал.

3. ПОДКЛЮЧАЕМ OSENGINE
- В главном меню идём в Роботы Light и переходим в «Сервера подключения»:

- Выбираем подключение «MoexFixFastSpot».
Откроется окно для подключения к Мосбирже по протоколам FIX/FAST:

Вводим данные:
- Ip-адрес MFIX Trade сервера (с сайта Мосбиржи, это на сегодня правильный сервер);
- Порт MFIX Trade сервера (с сайта Мосбиржи, это на сегодня правильный сервер);
- FIX-идентификатор MFIX Trade сервера (с сайта Мосбиржи, это на сегодня правильный сервер);
- Логин для MFIX Trade сервера (это тот, что прислал в письме брокер);
- Пароль для MFIX Trade сервера (пароль, который прислал в письме брокер);
- MFIX Trade счет (из письма брокера);
- Код клиента (в случае АЛОРа это номер счета вида D12345);
- Указываем папку, в которой лежат настройки для FIX/FAST UDP Multicast сервера;
8.1. Заходим по адресу https://ftp.moex.com/pub/FAST/ASTS/ — здесь Мосбиржа разместила все инструкции и настройки для подключения.
8.2. Из папки config скачиваем xml файл config_production.xml.

8.3. Переименовываем config_production.xml в config.xml и сохраняем в папку, например, Alor_FIXFAST_Config – эту папку мы и будем указывать в качестве места для хранения конфигурации.
8.4. Из папки template скачиваем файл шаблонов FAST-сообщений самую последнюю версию.

На картинке это FIX50SP2-2021-Dec.xml.
8.5. Переименовываем этот файл в template.xml и кладем в нашу папку конфигурации.
8.6. В результате мы получили два файла конфигурации в одной папке:

Итак, выбираем папку Alor_FIXFAST_Config в качестве параметра в настройках коннектора.
- Указываем лимит количества операций в секунду для нашего логина. По умолчанию это 30 операций в секунду.
- Новый пароль для сервера MFIX Trade – задаем, только если хотим изменить пароль. Оставляем пустым в обычной ситуации. Если брокер прислал вам пароль вида «password», то торговый сервер при попытке подключения сразу скажет, что пароль истек и надо установить новый. Так что при первом подключении рекомендуется сразу делать новый пароль.
- Разделитель для тега 11. У разных брокеров могут быть разные требования для «тега 11». Например, АЛОР просит, чтобы тег 11 был равен «код_клиента/код_клиента» для корректной работы. У других брокеров может быть по-другому. Поэтому для АЛОРа этот параметр должен быть «/».
- Указывать в теге 11 номера заявок. Как и в предыдущем пункте, этот параметр нужен для настройки тега 11. В АЛОРе не нужно указывать в этом теге номера заявок, поэтому по умолчанию ставится Fasle (выкл).
- Skip trades with same price – False (выкл), так как сделки с одинаковой ценой вполне возможны в реальном мире.
Жмём на кнопку «Подключить», и коннектор начинает подключение!
Включаем любого робота и торгуем!

ВАЖНЫЕ НЮАНСЫ
- Мосбиржа определяет «стандартный» режим подключения к торгам. Это когда мы подключаемся до начала торгов. Если подключение происходит после начала торгов, то у коннектора может занять весьма продолжительное время (до 10 минут) для получения всех пропущенных с начала торгов рыночных данных.
- В коннекторе нет возможности получить информацию о позициях по деньгам и ценным бумагам, подключение MFIX не обладает этой информацией.
- В коннекторе нет возможности запросить рыночные данные за прошедшие периоды. То есть историю сделок до текущего торгового дня можно получить, только если вы ее сохранили сами (OsEngine сохраняет историю сделок в файл на диске).
Удачных алгоритмов!
Комментарии открыты для друзей!

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php
