Торговая стратегия, основанная на зонах спроса и предложения и скользящем стоп-лоссе по EMA
Обзор
Данная стратегия использует зоны спроса и предложения, экспоненциальную скользящую среднюю (EMA) и экспоненциальный скользящий стоп на основе среднего истинного диапазона (ATR) для формирования торговых сигналов. Пользователь может настраивать параметры EMA и видимость сигналов покупки/продажи. Стратегия отмечает зоны спроса и предложения: более высокий максимум (HH), более низкий минимум (LL), более низкий максимум (LH) и более высокий минимум (HL). Торговый сигнал подаётся после подтверждения третьей свечой. Скрипт подходит для бэктестинга.
Принцип работы стратегии
Расчёт индикаторов
Экспоненциальная скользящая средняя (EMA):
- EMA рассчитывается по ценам закрытия за определённый период (по умолчанию 200).
- Формула EMA: \(EMA = (Price_t \times \alpha) + (EMA_{t-1} \times (1 - \alpha))\), где \(\alpha = \frac{2}{length + 1}\).
Средний истинный диапазон (ATR):
- ATR – показатель волатильности рынка, рассчитываемый на основе истинного диапазона цен.
- Истинный диапазон – максимальное из трёх значений:
- Текущий максимум минус текущий минимум.
- Абсолютное значение текущего максимума минус предыдущее закрытие.
- Абсолютное значение текущего минимума минус предыдущее закрытие.
- Типичный период расчёта ATR – 14.
Эти расчёты используются для определения тренда по EMA и установки скользящего стопа на основе волатильности (ATR). Стратегия генерирует сигналы покупки/продажи в зависимости от соотношения цены закрытия, EMA и ATR.
Определение зон спроса и предложения
В стратегии используются термины «HH» (Higher High – более высокий максимум), «LL» (Lower Low – более низкий минимум), «HL» (Higher Low – более высокий минимум) и «LH» (Lower High – более низкий максимум) для идентификации различных ценовых паттернов, часто применяемых в трендовом анализе:
-
Более высокий максимум (HH): текущий максимальный максимум выше предыдущего – указывает на потенциальный восходящий импульс.
-
Более низкий минимум (LL): текущий минимальный минимум ниже предыдущего – указывает на потенциальный нисходящий импульс.
-
Более высокий минимум (HL): текущий минимальный минимум выше предыдущего – указывает на возможное продолжение восходящего тренда.
-
Более низкий максимум (LH): текущий максимальный максимум ниже предыдущего – указывает на возможное продолжение нисходящего тренда.
Эти паттерны в сочетании с другими техническими индикаторами помогают определить возможные развороты или продолжение тренда. Стратегия использует их для выбора моментов входа и выхода.
Вход и стоп-лосс / выход
Сигнал на вход: сигнал на покупку/продажу формируется, когда цена закрытия третьей свечи выше/ниже предыдущего максимума/минимума.
Стоп-лосс: используется trailing stop на основе ATR с множителем (по умолчанию 2), отступающий от текущей цены.
Преимущества стратегии
- Комбинирует несколько факторов (тренд, разворот, волатильность) для всесторонней оценки рынка, избегая ложных пробоев.
- Использует зоны спроса и предложения для выявления ключевых уровней поддержки и сопротивления.
- Система стопа на основе ATR динамически отслеживает рыночную волатильность.
- Настраиваемые параметры EMA и ATR.
- Простые правила входа, лёгкие в реализации.
Риски и оптимизация
- Риск ложных сигналов; требуется подбор оптимальной длины EMA.
- Слишком большой множитель ATR может привести к догону (покупке на пике/продаже на дне).
- Можно комбинировать с другими фильтрами для отсеивания сигналов.
- Возможен подход с приоритетом трендового прорыва, дополненный зонами спроса/предложения.
Заключение
Стратегия комплексно использует технические индикаторы и ценовые паттерны (тренд, разворот, волатильность) и показывает хорошие результаты при бэктестинге. Однако на реальном рынке условия сложны и изменчивы, поэтому необходимы оптимизация и фильтрация сигналов. Данная стратегия является базовой и может быть расширена за счёт интеграции других факторов или моделей.
/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supply and Demand Zones with EMA and Trailing Stop", shorttitle="SD Zones", overlay=true)
showBuySignals = input(true, title="Show Buy Signals", group="Signals")- 1

