Delphi Regression EA
- Эксперты
- Версия: 1.0
Delphi Regression EA — Мультистратегийная адаптивная система линейной регрессии
Обзор
Delphi Regression EA строит скользящий канал линейной регрессии по закрытым барам и торгует отклонение цены от этого канала, используя три независимо включаемые стратегии: возврат к среднему, продолжение тренда и разворот наклона. Размер позиции рассчитывается в процентах риска от капитала, стоп-лоссы основаны на ATR, а каждый проход оптимизации ранжируется по кастомной оценке качества кривой доходности, а не по чистой прибыли — это заставляет оптимизатор отдавать предпочтение устойчивому, повторяемому поведению, а не удачным переподогнанным прогонам.
Как это работает
- На каждом новом баре вычисляется линейная регрессия по последним N закрытым барам, что дает центральную линию, наклон, R-квадрат и стандартное отклонение остатков.
- Несколько уровней входа размещаются со ступенчатым шагом в стандартных отклонениях остатков по обе стороны центральной линии.
- Возврат к среднему открывает позицию против движения при касании уровня. Продолжение тренда торгует по направлению наклона, когда R-квадрат подтверждает реальный тренд. Разворот наклона открывает позицию при смене знака наклона регрессии.
- Каждый уровень перевзводится независимо после частичного отката цены к центру, что позволяет совершить несколько входов за одно движение вместо одного входа за сделку.
- Выход — либо возврат к центральной линии на закрытии бара, либо брокерский TP/SL, выбираются независимо от входа.
- Режимы входа и выхода можно переключать между безопасным режимом Open Price (решение только на данных закрытого бара) и режимом брокерского исполнения, требующим 1-минутный OHLC или выше.
Параметры
Общие
- Magic_Number — уникальный идентификатор сделок этого советника
- Trade_Comment — комментарий, прикрепляемый к каждому ордеру
Регрессия
- LR_Period — количество закрытых баров для расчета линии регрессии
- LR_TierStep — расстояние между уровнями входа в стандартных отклонениях остатков
- LR_TierCount — количество уровней масштабирования с каждой стороны центральной линии
- LR_TierRearmFrac — доля одного шага уровня, которую цена должна откатить, прежде чем уровень снова сможет сработать
- Filter_UseR2Gate — включает или отключает фильтрацию входов по диапазону R-квадрат
- LR_MinR2ForEntry — минимальный R-квадрат для входов при включенном фильтре
- LR_MaxR2ForEntry — максимальный R-квадрат для входов при включенном фильтре
Выбор стратегии
- Strat_MeanReversion — включает стратегию возврата к среднему по уровням
- Strat_TrendContinuation — включает торговлю по направлению наклона на пробое уровней
- Trend_MinR2 — минимальный R-квадрат для срабатывания сигнала продолжения тренда
- Strat_SlopeReversal — включает входы при смене знака наклона регрессии
- SlopeRev_MinAbsSlope — минимальная абсолютная величина наклона для срабатывания сигнала разворота
Режим сигнала
- Entry_Mode — безопасный вход Open Price на данных закрытого бара, либо отложенные внутрибарные ордера, требующие 1-минутный OHLC или выше
- Exit_Mode — безопасный выход Open Price на закрытии бара, либо брокерский TP/SL, требующий 1-минутный OHLC или выше
- Pending_ExpiryBars — количество баров до автоматического удаления неисполненного отложенного ордера
Риск
- Risk_PercentPerTrade — процент капитала, рискуемый на сделку
- Risk_ATR_SL_Mult — расстояние стоп-лосса как множитель ATR
- Risk_ATR_Period — период расчета ATR
- Risk_MaxConcurrentTrades — максимальное количество одновременно открытых позиций для этого советника
Фильтры
- Filter_MaxSpreadPoints — максимальный спред в пунктах, при превышении которого входы пропускаются
Оценка оптимизатора
- Score_MinProfitFactor — отклоняет проходы оптимизации с профит-фактором ниже этого значения
- Score_MaxDrawdownPct — отклоняет проходы с просадкой выше этого процента
- Score_MinTrades — отклоняет проходы с количеством сделок меньше этого значения
- Score_R2Weight — вес гладкости кривой доходности
- Score_SlopeWeight — вес скорости роста прибыли
- Score_SplitPenalty — штраф за расхождение R-квадрат между первой и второй половиной кривой доходности
- Score_SkewPenalty — штраф за концентрацию прибыли в одной сделке
- Score_UlcerPenalty — штраф на основе индекса Ulcer (глубина и продолжительность просадок)
- Score_MARWeight — вес коэффициента MAR (чистая прибыль в % к максимальной просадке в %)
- Score_TradeBonusWeight — вес бонуса с убывающей отдачей за количество сделок
Система оценки оптимизатора
Советник оснащен кастомной функцией OnTester, которая вознаграждает гладкие, стабильные кривые доходности, а не высокоприбыльные, но переподогнанные проходы. Она отклоняет любой проход с отрицательной прибылью, недостаточным профит-фактором, чрезмерной просадкой или малым числом сделок, а затем ранжирует оставшиеся проходы по гладкости кривой доходности, скорости прибыли, временной стабильности, эффективности капитала и надежности количества сделок, штрафуя за концентрацию прибыли в одной сделке и болезненность просадок. Установите критерий оптимизатора MT5 на Custom max, чтобы активировать её.
Рекомендуемая настройка
Показанные скриншоты сделаны на XAUUSD, M30, протестированы в режиме Every Tick для максимальной точности исполнения. Логика на основе регрессии не привязана к этому символу или таймфрейму: другие валютные пары, металлы или индексы, а также другие таймфреймы можно оптимизировать независимо, повторно запустив оптимизатор с критерием Custom max на выбранном инструменте.
Скриншоты
Пример живого бэктеста и рекомендуемая конфигурация параметров на XAUUSD M30, режим Every Tick.
Отказ от ответственности
Прошлые результаты бэктеста не гарантируют будущих результатов. Всегда проводите форвард-тест на демо-счете перед реальным использованием. Торговля сопряжена с риском убытков.
