rss

Профиль компании

Финансовые компании

Блог компании OsEngine | Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

В данной статье будем учиться подключать OsEngine к MetaTrader5. Не наоборот.

Учимся делать так, чтобы OsEngine мог торговать через MT5.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

MetaTrader5 – преемник MT4, предоставляет расширенные возможности для торговли на различных финансовых рынках, включая форекс, акции, фьючерсы и товары.

 

1. Устанавливаем терминал MetaTrader5.

Для подключения к MT5 потребуется установить терминал MT5 на тот же ПК, где вы собираетесь запускать OsEngine. По архитектуре подключения МТ5 напоминает Quik, то есть выступает неким посредником между клиентом и брокером.

Для примера будем использовать подключение к БКС Форекс. Для начала надо скачать терминал и открыть счет.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

При этом счет нужно открывать с неттингом (про это подробнее поговорим ниже), валюта не важна, поэтому будем открывать в рублях.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

После открытия счета вам на телефон придёт СМС с логином и паролем от МТ5. Запускаем терминал от имени администратора. Интерфейс будет примерно таким:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

 

2. Подключение советника-АПИ в терминале МТ5.

Первым делом надо установить необходимые библиотеки для работы. Переходим на официальный сайт Майкрософт (https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) и скачиваем данный exe файл. Он установит необходимые библиотеки.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

Теперь нам надо подключить скрипты в терминале МТ5. Для этого заходим в папку с OsEngine и переходим по данному пути:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

Далее переходим в терминал МТ5 и открываем каталог данных.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

Переходим в каталог по пути:

 Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

Копируем папку mq5 из OsEngine в каталог терминала МТ5. Должно выглядеть вот так:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

В папке mq5 лежат файлы hash.mqh и json.mqh. Данные файлы надо дополнительно скопировать по данному пути.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

Обновляем советников. Должна появиться папка mq5, в которой лежит советник MtApi5:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

В папке MT5 лежит файл MT5Connecotr.dll, его необходимо скопировать по данным путям.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

Для того, чтобы советники могли торговать, нужно дать им разрешение на это, для этого переходим в Сервис, Настройки:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

И разрешаем алгоритмическую торговлю и импорт DLL.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

Далее выбираем нужную нам бумагу, которую мы хотим торговать, например, USDJPY. Выбираем данную валютную пару в обзоре рынка. Открываем график и стакан.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

Стоит обратить внимание, что некоторые форекс-брокеры не транслируют полноценный стакан. Например, БКС-Форекс не показывает объемы в стакане, а подписаться на изменение стакана в советнике нельзя, данные о стаканах не идут. Поэтому в OsEngine в настройках коннектора можно будет переключиться на расчет стакана по тикам, стакан будет строиться по лучшему Bid и Ask.

Теперь нам надо перенести советника на график нужной нам пары. Такое действие надо делать со всеми парами, которые мы хотим торговать. После переноса появится новое окно, где надо будет включить событие OnTickEvent. Если вы хотите подключить несколько бумаг для торговли, то событие OnTradeTransactionEvent можно оставить включенным только у одного советника.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

 

3. Подключение к MetaTrader5 из OsEngine.

При открытии программы идем в Роботы.Light

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

Далее идем подключать коннектор:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

1. Переходим на вкладку доступных подключений.

2. Выбираем MetaTrader5. Дважды жмем левой кнопкой мыши на нем.

Откроется окно подключения к коннектору:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

1. IP адрес советника. Указывается в терминале МТ5. По умолчанию стоит localhost.

2. Порт советника. Указывается в терминале МТ5. По умолчанию стоит 8228.

3. Рекомендуется использовать неттинг счет. Если использовать счет без неттинга, то в терминале МТ5 будут вестись свои собственные позиции параллельно с OsEngine. При этом данные позиции не будут иметь возможности менять свой объем. При неттинг режиме у каждой бумаги будет максимум одна позиция в терминале МТ5, которая может модифицироваться.

4. Включает или отключает площадку для торговли валютными парами.

5. Включает или отключает площадку для торговли товарами широкого потребления.

6. Включает или отключает площадку для торговли фондами, если они есть у брокера.

7. Включает или отключает площадку для торговли иными инструментами, например, акциями.

8. Подгружать бумаги только из обозревателя рынка. Важный параметр, рекомендуется ставить true. Если поставить false, то будут подгружаться все доступные бумаги брокера по включенным площадкам, при этом, чтобы иметь возможность торговать эти бумаги, надо будет отдельно для каждой бумаги подключить советника в терминале МТ5.

9. Строить биржевой стакан из тиков. Некоторые брокеры не предоставляют данные по стакану, поэтому при включенном данном параметре стакан будет строиться из тиков по лучшему Bid и Ask.

10. Валюта депозита. Данный параметр влияет на расчет стоимости шага цены. Рассчитывает стоимость шага цены для той валюты, которая указана в данном параметре.

11. Считать профит в пунктах. Еще один параметр, который отвечает за стоимость шага цены. При включенном параметре стоимость шага цены будет считать в пунктах. При выключенном параметре стоимость шага цены будет рассчитываться по кросс-курсу для валюты депозита. При этом для кросс-курса в обозреватель рынка будет добавлена необходимая для расчёта пара, чтобы получать последнюю актуальную цену. Стоимость шага цены пересчитывается раз в минуту.

После настроек коннектора и его подключения можно торговать:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

 

4. Важные нюансы.

1. При торговле без неттинга в терминале МТ5 и в OsEngine ведутся позиции, однако в OsEngine можно менять объем позиций, добавлять и уменьшать, но в терминале МТ5 такого функционала нет. Поэтому при попытке изменить объем действующей позиции будет приходить Fail ордер. Чтобы иметь возможность модифицировать позиции, добавлять и уменьшать объем, нужно торговать на счете с неттингом. Однако, чтобы изменить позицию с лонг на шорт, нужно предварительно закрыть лонг позицию и только потом открывать шорт позицию.

2. Некоторые брокеры не дают выставлять ордера по лучшей цене, только в определенном отступе от лучшей цены. На скриншоте выше лучшая Bid заявка на покупку 152,189, но при попытке выставить ордер по этой цене мы получим ошибку о неправильной цене. В терминале МТ5 также нельзя выставить лимитный ордер на покупку по этой цене. Также, нельзя выставить лимитный ордер по цене маркет. То есть, если вы попробуете выставить ордер на покупку выше рыночного, например, по цене 152,21, то также получите ошибку о неправильной цене.
Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

3. Бумаги, которые вы собираетесь торговать, нужно сперва выбирать в обзоре рынка в терминале МТ5, открывать график и стакан для данных бумаг и подключать к графику советник MtApi5.

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

Посмотреть подключенные советники можно здесь:

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом. 

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

Выражаем отдельную благодарность разработчику библиотеки MtApi, благодаря которому это стало возможным. Спасибо! Ссылка на репозиторий: https://github.com/vdemydiuk/mtapi/

Удачных алгоритмов!

Комментарии открыты для друзей!

Коннектор к MetaTrader5 в OsEngine! + 300 бесплатных роботов с открытым исходным кодом.

https://smart-lab.ru/company/os_engine/blog/1024149.php

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support

Канал Научный трейдинг (Bad Quant): https://t.me/bad_quant

7.5К | ★3

теги блога OS_Engine_team

....все тэги



UPDONW
Новый дизайн