Estrategia de filtro de tendencia EMA

EMA stdev Trend
Fecha de creación: 2024-06-14 15:51:05 Última modificación: 2024-06-14 15:51:05
Copiar: 0 Número de Visitas: 715
1
Seguir
1617
Seguidores

Estrategia de filtro de tendencia EMA

Descripción general

La estrategia utiliza tres diferentes períodos de medias móviles indexadas (EMA) para juzgar las tendencias del mercado y las señales de compra y venta. La intersección de la EMA rápida, la EMA lenta y la EMA de filtración de tendencias, así como la posición del precio con respecto a la EMA de filtración de tendencias, constituyen la lógica central de la estrategia.

Principio de estrategia

  1. Calcule tres EMA de diferentes períodos: el EMA rápido (de 9 períodos por defecto), el EMA lento (de 21 períodos por defecto) y el EMA de filtro de tendencia (de 200 períodos por defecto).
  2. El cálculo de la diferencia estándar de precios de 20 ciclos se utiliza para medir la volatilidad del mercado.
  3. Introducir el indicador de tendencia de Fukuiz ((default 14 cycle EMA) y determinar el color ((ascendente verde, descendente rojo) en función de su relación de tamaño con el ciclo anterior)
  4. Una señal de compra se genera cuando el EMA rápido atraviesa el EMA lento, y el EMA rápido está por encima del EMA lento, mientras que el precio está por encima del EMA de filtro de tendencia.
  5. Una señal de venta se genera cuando el EMA rápido atraviesa el EMA lento y el EMA rápido está por debajo del EMA lento, mientras que el precio está por debajo del EMA de filtración de tendencia.
  6. Cuando se mantiene una posición de más de una cabeza, si el indicador de tendencia de Fukuiz se vuelve rojo, se elimina la posición de más de una cabeza.
  7. Cuando se mantiene una posición en blanco, si el indicador de tendencia de Fukuiz se vuelve verde, se borra la posición en blanco.

Análisis de las ventajas

  1. La combinación de EMAs de varios ciclos permite capturar mejor las tendencias del mercado.
  2. La introducción del indicador de tendencias Fukuiz proporciona una base adicional para juzgar las tendencias y, en algunos casos, actúa como un detonante de pérdidas.
  3. Los parámetros son ajustables, adaptables y se pueden optimizar según los diferentes mercados y ciclos.

Análisis de riesgos

  1. La EMA es esencialmente un indicador de retraso, y puede haber un retraso en la señal cuando el mercado cambia rápidamente.
  2. El filtro de tendencias tiene un ciclo más largo de EMA, lo que puede hacer que la estrategia se pierda algunas tendencias a corto plazo.
  3. La lógica de la posición baja en el indicador de tendencias Fukuiz puede causar que la estrategia se detenga prematuramente y, por lo tanto, se pierda la tendencia posterior.

Dirección de optimización

  1. Optimización de los parámetros periódicos de cada EMA para encontrar la combinación de parámetros más adecuada para el mercado actual.
  2. La introducción de otros indicadores auxiliares, como el RSI, el MACD, etc., proporciona más bases de entrada y salida.
  3. Optimización de la lógica de stop loss en el indicador de tendencias de Fukuiz, como la inclusión de ciertas zonas de amortiguamiento para evitar un stop loss prematuro.
  4. Considerar la inclusión de un módulo de gestión de posiciones y control de riesgos para mejorar la estabilidad y la resistencia al riesgo de la estrategia.

Resumir

La estrategia, a través de la combinación de varios períodos de EMA, y con la ayuda de los indicadores de tendencia de Fukuiz, construye un marco relativamente completo para el juicio de tendencias y el comercio. La lógica de la estrategia es clara, los parámetros son ajustables y son muy adaptables. Pero también hay algunos riesgos potenciales, como el retraso de la señal, la desviación del juicio de tendencia, etc.

Código Fuente de la Estrategia
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EvilRed Trading Indicator Trend Filter", overlay=true)

// Parameters Definition
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
trendFilterLength = input(200, title="Trend Filter EMA Length")

// Moving Averages Calculation
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
trendEMA = ta.ema(close, trendFilterLength)

// Volatility Calculation
volatility = ta.stdev(close, 20)

// Add Fukuiz Trend Indicator
fukuizTrend = ta.ema(close, 14)
fukuizColor = fukuizTrend > fukuizTrend[1] ? color.green : color.red
plot(fukuizTrend, color=fukuizColor, title="Fukuiz Trend")

// Plotting Moving Averages
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
plot(trendEMA, color=color.orange, title="Trend Filter")

// Plotting Buy and Sell Signals
buySignal = ta.crossover(fastEMA, slowEMA) and fastEMA > slowEMA and close > trendEMA
sellSignal = ta.crossunder(fastEMA, slowEMA) and fastEMA < slowEMA and close < trendEMA

// Entry and Exit Conditions
if (strategy.position_size > 0 and fukuizColor == color.red)
    strategy.close("Long", comment="Fukuiz Trend is Red")

if (strategy.position_size < 0 and fukuizColor == color.green)
    strategy.close("Short", comment="Fukuiz Trend is Green")

if (buySignal)
    strategy.entry("Long", strategy.long)
    
if (sellSignal)
    strategy.entry("Short", strategy.short)




plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")