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

 

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

Индикатор FrAMA и осциллятор индекса силы (Force Index) — инструменты анализа тренда и объема, которые можно использовать в паре при разработке советника. В продолжение нашей предыдущей статьи, в которой мы представили эту пару, рассмотрим применимость к ней машинного обучения. Мы используем сверточную нейронную сеть (convolution neural network), которая применяет ядро скалярного произведения (dot-product kernel) для построения прогнозов на основе входных данных этих индикаторов. Это делается в пользовательском файле класса сигналов (signal class), который взаимодействует с Мастером MQL5 для создания советника.

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

При применении алгоритмов машинного обучения в MQL5 OpenCL всегда является доступным вариантом, однако для этого часто требуется наличие графического процессора (GPU). При этом библиотека кода Python стала довольно обширной, и многие преимущества можно получить, используя только процессор. Именно это мы и исследуем в этой серии статей. В этой работе, как и в некоторых предыдущих, мы пишем код для наших нейронных сетей на Python, потому что программирование и обучение на Python очень эффективны. 

Из десяти паттернов, которые мы оптимизировали или обучили в предыдущей статье, только шестой и девятый прошли форвард-тест. Поэтому мы проводим дальнейшие испытания с использованием нейронной сети, как и в предыдущих статьях, с той разницей, что используем сверточную нейронную сеть (convolution neural network, CNN). В CNN будет реализовано ядро скалярного произведения (dot product kernel). Однако сначала, как всегда в реализациях на Python, мы определяем функции-индикаторы, которые нам необходимы для подачи сигналов в нашу сеть. 


Автор: Stephen Njuki