Обсуждение статьи "Возможности Мастера MQL5, которые вам нужно знать (Часть 70): Использование паттернов SAR и RVI с сетью экспоненциального ядра"

 

Опубликована статья Возможности Мастера MQL5, которые вам нужно знать (Часть 70): Использование паттернов SAR и RVI с сетью экспоненциального ядра:

В предыдущей статье мы представили пару индикаторов SAR и RVI. Здесь мы рассмотрим, как их можно расширить с помощью машинного обучения. SAR и RVI представляют собой взаимодополняющую пару, сочетающую в себе тренд и импульс. Наш подход к машинному обучению использует сверточную нейронную сеть (convolution neural network), которая задействует экспоненциальное ядро (Exponential kernel) для определения размеров своих ядер и каналов при настройке прогнозов этой пары индикаторов. Как обычно, это делается в пользовательском файле класса сигналов (signal class), который взаимодействует с Мастером MQL5 для создания советника.

В предыдущей статье мы представили взаимодополняющую пару - Parabolic SAR и осциллятор индекс относительной бодрости (Vigour Index oscillator, RVI). В ходе тестирования 10 паттернов три не смогли пройти форвард-тестирование. Это паттерны 1, 2 и 6. Индексация паттернов от 0 до 9 позволяет нам легко вычислить значение ассоциативного массива (map value), которое дает право на их использование советником. Например, если паттерн имеет индекс 1, то нам нужно установить параметр PatternsUsed равным 2 в степени 1, что в сумме дает 2. 

Если индекс равен 2, то это 2 в степени 2, что дает 4, и так далее. Максимальное значение, которое может быть присвоено параметру, составляет 1023, поскольку у нас всего 10 параметров. Любое число от 0 до 1023, не являющееся чистой степенью 2, будет представлять собой комбинацию этих паттернов, и читатель может изучить возможность настройки советника для использования нескольких паттернов. Однако, основываясь на наших аргументах и результатах исследований, представленных в предыдущих статьях, мы решили пока не рассматривать этот аспект в рамках данной серии публикаций. 

Как и было обещано в одной из недавних статей, мы сейчас попытаемся "реабилитировать" три сигнальных паттерна 1, 2 и 6, которые в предыдущей статье не смогли форвард-тест, с помощью обучения с учителем. Применяя машинное обучение к этим сигналам индикатора MQL5, мы используем Python для кодирования и обучения сетевой модели. Это объясняется той эффективностью, которую он обеспечивает даже без графического процессора. При использовании Python мы полагаемся на модуль Python от MetaTrader, который позволяет нам подключаться к серверу брокера MetaTrader после ввода имени пользователя и пароля для входа.


Автор: Stephen Njuki