Estrategia de seguimiento de tendencias basada en EMA y ATR, filtro RSI


Fecha de creación: 2024-02-29 14:44:10 Última modificación: 2024-02-29 14:44:10
Copiar: 3 Número de Visitas: 751
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en EMA y ATR, filtro RSI

Descripción general

La estrategia es una estrategia de seguimiento de tendencias de línea larga basada en la línea media de la EMA y el RSI, el indicador ATR. La estrategia utiliza la EMA lenta para formar una señal de horquilla dorada, combinada con la EMA de línea larga para determinar la dirección de la tendencia, y utiliza el RSI y el ATR para filtrar la correlación, lo que permite el seguimiento de la tendencia de línea larga.

Principio de estrategia

  1. Rápido EMA ((20 EMA y 50 EMA) el tenedor de oro hace más, el tenedor muerto hace vacío
  2. El EMA de 200 días determina la dirección de la tendencia de la línea larga y solo opera en la dirección de la tendencia
  3. RSI baja hace más, alta hace menos
  4. ATR para evaluar la corrección y filtrar las brechas falsas

Análisis de las ventajas

  1. El uso de la combinación de la EMA lenta para juzgar la tendencia
  2. Unirse a los filtros de las EMA más largas para evitar operaciones a la baja
  3. El RSI filtra las zonas de sobrecompra y evita las zonas de sobreventa
  4. Indicador ATR para juzgar la corrección de balance, filtrar las falsas rupturas en la corrección de balance por las oscilaciones

Análisis de riesgos

  1. El riesgo de no poder seguir la tendencia al alza durante el período de la línea larga
  2. Los indicadores EMA son muy ruidosos en el ajuste y necesitan un filtro ATR combinado
  3. La configuración de los parámetros RSI y ATR necesita ser optimizada para las pruebas de diferentes variedades

Dirección de optimización

  1. Los parámetros de la longitud de la EMA se pueden optimizar para encontrar combinaciones más compatibles entre las diferentes variedades
  2. Los parámetros RSI y ATR también se pueden optimizar para mejorar la identificación de la corrección
  3. Se puede considerar la inclusión de un Stop Loss móvil, el bloqueo de parte de las ganancias y el control de los riesgos

Resumir

La estrategia en su conjunto es una estrategia de seguimiento de tendencias de línea larga con EMA como núcleo, mientras que la introducción de indicadores RSI y ATR es auxiliar, para identificar mejor la dirección de la tendencia y filtrar el ruido. Mediante la optimización de los parámetros, la estrategia puede aplicarse a más variedades y obtener buenos resultados en un entorno de tendencia de línea larga.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Strategy with Trend Filter", overlay=true)

// Параметры EMA
shortEmaLength = input(20, title="Short EMA")
longEmaLength = input(50, title="Long EMA")
trendEmaLength = input(200, title="Trend EMA")
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
trendEma = ta.ema(close, trendEmaLength)

// Параметры RSI
rsiLength = input(14, title="RSI Length")
rsi = ta.rsi(close, rsiLength)

// Параметры ATR
atrLength = input(14, title="ATR Length")
atr = ta.atr(atrLength)

// Логика для сигналов покупки и продажи с фильтром по тренду
buySignal = ta.crossover(shortEma, longEma) and close > trendEma
sellSignal = ta.crossunder(shortEma, longEma) and close < trendEma

// Вход в сделки
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.entry("Sell", strategy.short)

// Выход из сделок на основе EMA пересечений
exitBuySignal = ta.crossunder(shortEma, longEma)
exitSellSignal = ta.crossover(shortEma, longEma)

if (exitBuySignal)
    strategy.close("Buy")

if (exitSellSignal)
    strategy.close("Sell")

// Визуализация EMA
plot(shortEma, color=color.blue, title="Short EMA")
plot(longEma, color=color.red, title="Long EMA")
plot(trendEma, color=color.green, title="Trend EMA")

// Отдельная панель для RSI и его визуализация
plot(rsi, title="RSI", color=color.purple, linewidth=2)

// Отдельная панель для ATR и его визуализация
plot(atr, title="ATR", color=color.orange, linewidth=2)