Стратегия Previous Candle Breakdown
Previous Candle Breakdown отслеживает максимум и минимум последней закрытой свечи выбранного таймфрейма (по умолчанию 4 часа). Как только текущая свеча пробивает эти уровни с учётом заданного отступа, стратегия открывает сделку на пробой. Дополнительный фильтр из двух скользящих средних позволяет торговать только по направлению тренда, а комбинированные выходы (стоп-лосс, тейк-профит и трейлинг-стоп в пипсах) управляют риском после входа.
Основные особенности
- Использует старший таймфрейм для определения ключевых уровней. Все сигналы строятся на максимуме и минимуме последней завершённой свечи.
- Поддерживает четыре типа скользящих средних (SMA, EMA, Smoothed, WMA) и отдельные сдвиги для быстрой и медленной линий. Если обе длины больше нуля, фильтр требует, чтобы быстрая MA была выше/ниже медленной перед открытием лонга/шорта.
- Конвертирует пипсы (отступ, стоп-лосс, тейк-профит, параметры трейлинга) в ценовые единицы с учётом настроек инструмента. Для инструментов с 3 или 5 знаками после запятой пипс равен 10 шагам цены, как в оригинальном советнике.
- Позволяет задавать объём фиксированно либо рассчитывать его от процента капитала в зависимости от размера стоп-лосса.
- Ограничивает максимальное количество позиций в каждом направлении и может закрыть все сделки при достижении заданной плавающей прибыли.
- Логика трейлинг-стопа повторяет MQL5-версию: чтобы подтянуть стоп, цена должна пройти расстояние
TrailingStop + TrailingStep, после чего стоп переносится дискретными шагами.
Параметры
| Параметр | Описание |
|---|---|
CandleType |
Таймфрейм для расчёта предыдущей свечи (по умолчанию 4 часа). |
IndentPips |
Отступ в пипсах от максимума/минимума для подтверждения пробоя. |
FastPeriod / SlowPeriod |
Периоды скользящих средних. Значение 0 отключает фильтр. |
FastShift / SlowShift |
Горизонтальный сдвиг (в барах) каждой скользящей средней. |
MaType |
Тип скользящей средней (Simple, Exponential, Smoothed, Weighted). |
StopLossPips |
Размер защитного стоп-лосса в пипсах (0 отключает). |
TakeProfitPips |
Размер тейк-профита в пипсах (0 отключает). |
TrailingStopPips |
Дистанция трейлинг-стопа. Требует положительного TrailingStepPips. |
TrailingStepPips |
Минимальное улучшение цены перед переносом трейлинг-стопа. |
OrderVolume |
Фиксированный объём сделки. Если 0, объём рассчитывается по риску. |
RiskPercent |
Процент капитала под риск на сделку при OrderVolume = 0 (нужен ненулевой стоп). |
MaxPositions |
Максимальное число входов в одном направлении. |
ProfitClose |
Закрывает все позиции при достижении указанной плавающей прибыли (в валюте счёта). |
Логика работы
- После закрытия свечи
CandleTypeсохраняются её максимум и минимум. - На каждом обновлении текущей свечи:
- При активном фильтре проверяются условия по скользящим средним; при нехватке истории вход не выполняется.
- Рассчитываются уровни пробоя: максимум + отступ и минимум − отступ.
- Если текущая свеча пробивает верхний уровень, открывается лонг (с учётом фильтра, лимита позиций и запрета повторных входов в ту же свечу).
- Если цена пробивает нижний уровень, открывается шорт по тем же правилам.
- После входа устанавливаются запомненные уровни стоп-лосса и тейк-профита (если включены). При достижении уровня позиция закрывается рыночной заявкой.
- Трейлинг-стоп активируется, когда цена проходит расстояние
TrailingStop + TrailingStepот средней цены входа. Каждый следующий перенос требует ещё одного полного шагаTrailingStepPips. - Плавающая прибыль рассчитывается от средней цены входа. Если она достигает
ProfitClose, стратегия немедленно ликвидирует все позиции. - При рисковом управлении размер позиции определяется через
PriceStepиStepPriceинструмента. Объём не превышает лимитMaxPositions.
Примечания
- Чтобы отключить трейлинг-стоп, установите
TrailingStopPips = 0. При включении трейлинга необходимо задатьTrailingStepPips > 0. - Для предотвращения повторных входов в одной и той же свече сохраняются временные метки последнего сигнала.
- Если у инструмента отсутствуют
PriceStepилиStepPrice, расчёт объёма по риску невозможен. УкажитеOrderVolume, чтобы стратегия открывала сделки. - Комментарии в исходном коде написаны на английском языке согласно требованиям проекта.
Файлы
CS/PreviousCandleBreakdownStrategy.cs— реализация стратегии на C#.
Python-версия умышленно не добавлялась.