Нейросети и трейдинг: Интеграция в MetaTrader 5

Нейросети и трейдинг: Интеграция в MetaTrader 5

25 октября 2021, 11:16
Evgeny Dyuka
37
11 109

 Сайт проекта - > nnta.ru


⚠️ Проверено на Windows 10, в Windows 11 возникают проблемы.

Если никогда не пользовались MetaTrader 5 вот инструкция.

Что это

Это готовое решение по интеграции прогнозов нейросети в MetaTrader 5. Преимущества этого решения:

  1. Нейросеть запускается на компьютере пользователя (а значит нет зависимости от внешних сервисов).
  2. Прогнозы нейросети реализованы в виде стандартного индикатора.


Как это работает

  1. Нейросеть запускается отдельно от MT5 в виде файла ServerNN.exe. В ServerNN.exe скомпилирован Python скрипт с библиотекой TensorFlow.
  2. Сервис MT5 отслеживает добавление индикатора на графики.
  3. После обнаружения индикатора сервис готовит данные для опроса нейросети и передает их ServerNN.exe.
  4. ServerNN.exe опрашивает нейросеть и возвращает результат.
  5. Индикатор считывает информацию и отображает результаты на графике.


Установка

⚠️ Может потребоваться Microsoft C++ for Visual Studio. Скачать можно с этой страницы сайта Microsoft, вот прямая ссылка на фаил X64. Поставьте эту программу и далее следуйте инструкции:
  1. Скачиваем (или с ЯндексДиска) и распаковываем архив install.zip ⚠️ Файлы временно не доступны 
  2. Открываем MetaTrader5, В верхнем меню выбираем Файл - Открыть каталог данных, откроется проводник с папками.
  3. Заходим в папку MQL5.
  4. Ничего не путая перекладываем файлы из папки Install в соответствующие папки директории MQL5:
      1) из Experts вынимаем MakeHistoryDataNN.ex5 и кладем в Experts.
      2) из Files вынимаем ВСЕ и переносим в Files.
      3) из Indicators вынимаем NeuralNetwork_local.ex5 и кладем в Indicators.
      4) из Services вынимаем NN_local.ex5 и кладем в Services.
  5. Еще раз заходим в папку MQL5/Files, находим в ней файл ServerNN.exe, создаем ярлык этого файла и кладем ярлык в удобное место, например на Рабочий стол.
  6. Закрываем все проводники, и перезагружаем  MetaTrader5.
  7. ⚠️  Открываем окно Навигатора если оно уже не открыто (Ctrl+N), заходим в Сервисы. Видим там один сервис NN_local. Кликаем по нему правой кнопкой мышки и жмем Добавить сервис как на этой 👇 картинке.



Все готово.


Использование

  1. ⚠️  Включаем сервер нейросети . Для этого находим ярлык файла ServerNN.exe и запускаем программу (если ярлыка нет, то находим файл в папке MQL5/Files). Откроется черное пустое окно. Оно не нужно, сворачиваем его, но НЕ закрываем.

  2.  Используем индикатор NeuralNetwork как обычный индикатор . Индикатор показывает сигналы за последние 5 дней. Если надо больше читайте ниже.
⚠️ При первом запуске подготовка данных может занять до 3х минут.


Как посмотреть сигналы на исторических данных.

В обычном режиме индикатор показывает сигналы только за последние 5 дней. Что бы заглянуть в историю надо создать исторические данные и на них опросить нейросеть. Как это сделать:

  1. В Навигаторе (Ctrl+N), в разделе Советники находим советник MakeHistoryDataNN и перетаскиваем его на график.
  2. В появившемся окне переходим в закладку Входные параметры и указываем количество дней истории.

⚠️ Первый раз оставьте значение по умолчанию 10 дней. Будет понятно как это работает и сколько времени занимает.
⚠️ Индикатор надо перевести в History mode. Для этого нажмите Ctrl+i (или в меню Графики - Список индикаторов) и в Свойствах сделайте History mode TRUE.
⚠️ В режиме History mode индикатор не работает с данными в реальном времени, только с историей.


Как НЕ использовать .exe файл

Если нет желания запускать .exe файл полученный из "ненадежного" источника, то можно запустить оригинальный Python скрипт из которого скомпилирован exe. Для этого скачайте приложенный внизу файл ServerNN.py, установите TensorFlow по этой инструкции и запустите скрипт в папке MQL5/Files (папка Models должна там быть).
Файл exe имеет большой размер т.к. при компиляции подтягивается библиотека TensorFlow.


О проекте

Сайт проекта

Планы дальнейшего развития:

  1. Обновление моделей, улучшение качества прогнозов.
  2. Увеличение дальности прогноза до 24 часов.
  3. Перенос проекта на другие торговые платформы.
Файлы:
ServerNN.py  6 kb
Поделитесь с друзьями: