Обсуждение статьи "Автоматизация торговых стратегий в MQL5 (Часть 43): Адаптивная стратегия на основе канала линейной регрессии"

 

Опубликована статья Автоматизация торговых стратегий в MQL5 (Часть 43): Адаптивная стратегия на основе канала линейной регрессии:

В этой статье мы реализуем в MQL5 адаптивную систему на основе канала линейной регрессии. Она автоматически рассчитывает линию регрессии и канал стандартного отклонения за заданный пользователем период, активируется только тогда, когда абсолютное значение наклона превышает минимальный порог, что подтверждает наличие выраженного тренда, а также динамически перестраивает или продлевает канал, когда цена выходит за его границы на настраиваемую долю ширины.

Стратегия на основе канала линейной регрессии применяет линию линейной регрессии, рассчитанную методом наименьших квадратов по заданному числу баров, чтобы определить направление и силу основного тренда. Затем выше и ниже линии регрессии добавляются параллельные полосы на заданном количестве стандартных отклонений, образующие верхнюю и нижнюю границы. Так формируется динамический ценовой канал, отражающий ожидаемый диапазон цены на трендовом рынке. Движение цены внутри канала указывает на продолжение тренда, а касания или небольшие выходы за его границы могут служить точками входа на откате, а значительные отклонения сигнализируют о возможном истощении движения или необходимости пересчитать регрессию по более свежим данным. Обычно мы покупаем, когда цена закрывается ниже нижней границы канала, и продаём, когда цена закрывается выше верхней.

В нашей реализации мы рассчитаем наклон и свободный член регрессии, а также стандартное отклонение за настраиваемый период. Канал будет создаваться только тогда, когда абсолютное значение наклона превышает минимальный порог и подтверждает направленное движение. Он будет привязан к самому старому бару периода и продлён до будущей точки на заданную долю своей продолжительности. Канал состоит из двух закрашенных цветных зон: розовой верхней половины и светло-зелёной нижней, а его верхняя, средняя и нижняя границы отображаются сплошными трендовыми линиями. На каждом новом баре канал либо продлевается на один бар вправо, если цена по-прежнему удерживается внутри канала, либо полностью перестраивается, если отклонение цены превышает заданную долю ширины канала.

Позиции будут открываться при чётком пробое изнутри канала с фиксированными уровнями Stop Loss и Take Profit в пипсах, ограничением максимального числа одновременно открытых позиций в каждом направлении и возможностью использовать режим Inverse. Все позиции одного направления немедленно закрываются при пересечении средней линии. Метки верхнего, среднего и нижнего уровней канала перемещаются вместе с его правым краем, а каждое открытие отмечается стрелкой. Режим Inverse меняет местами логику покупок и продаж, позволяя той же программе торговать сценарии возврата к среднему вместо торговли по продолжению тренда. Мы решили добавить этот вариант на случай, если понадобится торговать по противоположной логике. Ниже показана общая схема поставленных задач.

LINEAR REGRESSION CHANNEL FRAMEWORK


Автор: Allan Munene Mutiiria