Множественное пересечение скользящих средних в сочетании с осциллятором и динамической торговой стратегией уровней поддержки и сопротивления

EMA ATR
Дата создания: 2024-12-27 14:45:40 Последнее изменение: 2024-12-27 14:45:40
Копировать: 3 Количество просмотров: 404
1
Подписаться
1617
Подписчики

Множественное пересечение скользящих средних в сочетании с осциллятором и динамической торговой стратегией уровней поддержки и сопротивления

Обзор

Стратегия представляет собой комплексную торговую систему, которая сочетает в себе пересечение скользящих средних показателей (EMA), реальную колебательную величину (ATR) и сопротивление поддержки опорных точек (Pivot Points). Стратегия использует пересекающиеся сигналы краткосрочных ЭМА по среднесрочным и долгосрочным ЭМА в сочетании с диапазоном колебаний ATR и ключевыми ценовыми уровнями, чтобы захватить переломные моменты в рыночной тенденции и получить точное время торговли.

Стратегический принцип

Стратегия основана на техническом анализе в трех измерениях:

  1. Идентификация тренда: использование трёх ЭМА 4, 9 и 18 периодов, для подтверждения направления тренда путем синхронного пересечения краткосрочной ЭМА (фаза 4) с среднесрочной ЭМА (фаза 9) и долгосрочной ЭМА (фаза 18).
  2. Диапазон колебаний: введение 14-срочного ATR-индикатора для количественной оценки волатильности рынка и установления динамического торгового порога.
  3. Поддержка и сопротивление цены: создание 7 ключевых ценовых уровней (PP, R1-R3, S1-S3) с помощью системы ежедневного расчета опорных точек (PPSignal) и предоставление справок для торговли.

Правила торговли ясны:

  • Многоусловие: EMA4 вверх через EMA9 и EMA18, и цена закрытия пробивает ATR-дистанцию выше EMA9
  • Условия дефляции: EMA4 вниз через EMA9 и EMA18, и цена закрытия пробивает ATR-дистанцию ниже EMA9
  • Параметры остановки убытков: динамическое отслеживание уровня EMA4

Стратегические преимущества

  1. Многомерный анализ: объединение трёх измерений тренда, волатильности и ценовой структуры для повышения надежности сигнала
  2. Динамическая адаптация: с помощью ATR и динамического поддержания позиций сопротивления, стратегия может адаптироваться к различным рыночным условиям
  3. Управление рисками: использование динамического механизма остановки убытков, позволяющего своевременно блокировать прибыль и контролировать риски
  4. Сигнал подтверждает полноту: требуется резонанс нескольких технических показателей для инициирования сделки, снижается риск ложного прорыва

Стратегический риск

  1. Риск рыночных потрясений: возможны частые перекрестные фальшивые сигналы на этапе поперечной сверки
  2. Риск запаздывания: сама скользящая средняя имеет запаздывания, и вы можете пропустить лучшее время для входа.
  3. Риск разрыва: дневные прыжки могут привести к неэффективности стоп-пойнтов
  4. Чувствительность параметров: различные комбинации параметров цикла могут иметь значительно различные эффекты

Направление оптимизации стратегии

  1. Введение показателя загрузки: добавление загрузки при подтверждении перекрестного сигнала
  2. Оптимизация динамических параметров: адаптация циклических параметров EMA к рыночным колебаниям
  3. Усовершенствование механизма погашения убытков: возможно рассмотрение в сочетании с плавающей погашением убытков ATR
  4. Фильтрация на рыночную конъюнктуру: добавление индикатора интенсивности тренда для открытия торговли во время сильной тенденции
  5. Фильтрация по времени: настройка оптимальных торговых периодов для различных временных циклов

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover + ATR + PPSignal", overlay=true)

//--------------------------------------------------------------------
// 1. Cálculo de EMAs y ATR
//--------------------------------------------------------------------
ema4      = ta.ema(close, 4)
ema9      = ta.ema(close, 9)
ema18     = ta.ema(close, 18)
atrLength = 14
atr       = ta.atr(atrLength)

//--------------------------------------------------------------------
// 2. Cálculo de Pivot Points diarios (PPSignal)
//    Tomamos datos del día anterior (timeframe D) para calcularlos
//--------------------------------------------------------------------
dayHigh  = request.security(syminfo.tickerid, "D", high[1])
dayLow   = request.security(syminfo.tickerid, "D", low[1])
dayClose = request.security(syminfo.tickerid, "D", close[1])

// Fórmula Pivot Points estándar
pp = (dayHigh + dayLow + dayClose) / 3.0
r1 = 2.0 * pp - dayLow
s1 = 2.0 * pp - dayHigh
r2 = pp + (r1 - s1)
s2 = pp - (r1 - s1)
r3 = dayHigh + 2.0 * (pp - dayLow)
s3 = dayLow - 2.0 * (dayHigh - pp)

//--------------------------------------------------------------------
// 3. Definir colores para las EMAs
//--------------------------------------------------------------------
col4  = color.green   // EMA 4
col9  = color.yellow  // EMA 9
col18 = color.red     // EMA 18

//--------------------------------------------------------------------
// 4. Dibujar indicadores en el gráfico
//--------------------------------------------------------------------

// EMAs
plot(ema4,  title="EMA 4",  color=col4,  linewidth=2)
plot(ema9,  title="EMA 9",  color=col9,  linewidth=2)
plot(ema18, title="EMA 18", color=col18, linewidth=2)

// ATR
plot(atr, title="ATR", color=color.blue, linewidth=2)

// Pivot Points (PPSignal)
plot(pp, title="Pivot (PP)", color=color.new(color.white, 0),  style=plot.style_line, linewidth=1)
plot(r1, title="R1",        color=color.new(color.red,   0),  style=plot.style_line, linewidth=1)
plot(r2, title="R2",        color=color.new(color.red,   0),  style=plot.style_line, linewidth=1)
plot(r3, title="R3",        color=color.new(color.red,   0),  style=plot.style_line, linewidth=1)
plot(s1, title="S1",        color=color.new(color.green, 0),  style=plot.style_line, linewidth=1)
plot(s2, title="S2",        color=color.new(color.green, 0),  style=plot.style_line, linewidth=1)
plot(s3, title="S3",        color=color.new(color.green, 0),  style=plot.style_line, linewidth=1)

//--------------------------------------------------------------------
// 5. Condiciones de cruce (EMA4 vs EMA9 y EMA18) y estrategia
//--------------------------------------------------------------------
crossedAbove = ta.crossover(ema4, ema9) and ta.crossover(ema4, ema18)
crossedBelow = ta.crossunder(ema4, ema9) and ta.crossunder(ema4, ema18)

// Señales de Buy y Sell basadas en cruces + condición con ATR
if crossedAbove and close > ema9 + atr
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=ema4)

if crossedBelow and close < ema9 - atr
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=ema4)