La estrategia de seguimiento de tendencias de la EMA es una estrategia de seguimiento de tendencias basada en el indicador EMA. Juzga la dirección de la tendencia calculando la línea EMA de un período especificado y sigue la tendencia. Se corta cuando el precio cruza por encima de la línea EMA y se hace largo cuando el precio cruza por debajo de la línea EMA. Esta es una estrategia típica de seguimiento de tendencias.
El núcleo de esta estrategia es determinar la tendencia utilizando el indicador EMA. EMA es un promedio móvil exponencial que da más peso a los precios recientes y responde más rápido a los cambios de precios. Al calcular el precio promedio durante un período EMA, produce una curva suavizada. Cuando el precio cruza por encima de la línea EMA desde abajo, indica una tendencia al alza; cuando el precio cruza por debajo de la línea EMA desde arriba, indica una tendencia a la baja.
Basándose en esta lógica, la estrategia se corta cuando el precio se rompe por encima de la EMA y se hace larga cuando el precio se rompe por debajo de la EMA, siguiendo la tendencia siguiendo la línea EMA. Específicamente, calcula una EMA de 8 períodos en el precio de cierre, corta cuando el cierre se rompe por encima de la EMA y se hace larga cuando el cierre se rompe por debajo de la EMA. También establece un stop loss para controlar los riesgos.
La EMA suaviza las fluctuaciones de precios, filtra el ruido del mercado y sigue las tendencias a medio y largo plazo.
Frecuencia de negociación razonable: en comparación con los indicadores de período más corto, la EMA tiene una frecuencia de ajuste media, evitando el exceso de negociación.
La estrategia se basa únicamente en un indicador de la EMA, pero logra el objetivo de seguir la tendencia.
Extensibilidad: la estrategia puede mejorarse optimizando los parámetros de la EMA o añadiendo otros indicadores.
Cuando los precios se invierten rápidamente, la EMA necesita tiempo para ajustarse y puede perder los mejores puntos de entrada. La solución es combinar con indicadores que identifican los puntos de ajuste.
La EMA sigue las tendencias y no puede determinar con precisión los puntos de ajuste. Las reversiones pueden conducir a grandes pérdidas. La solución es establecer un stop loss razonable.
Frecuencia demasiado alta o demasiado baja. Diferentes períodos EMA conducen a diferentes frecuencias de negociación. Demasiado corto puede sobre-negociar, demasiado largo puede perder oportunidades. La solución es probar diferentes períodos EMA para encontrar el óptimo.
Optimiza los parámetros de la EMA para encontrar el mejor equilibrio.
Añadir otros indicadores para determinar los puntos de ajuste. Combinar con indicadores como el RSI para detectar mejor las reversiones.
Optimizar la estrategia de stop loss para encontrar el mejor nivel de stop loss a través de backtesting.
Optimizar la selección de símbolos y ajustar los períodos de EMA en función de las características de los símbolos para obtener los mejores resultados.
La estrategia de seguimiento de tendencias de la EMA es una estrategia de seguimiento de tendencias muy típica basada en un indicador. Es simple y fácil de implementar, adecuada para que los principiantes aprendan. Mientras tanto, tiene extensibilidad para mejorar aún más la estrategia agregando indicadores u optimizando parámetros. Con mejoras continuas, puede convertirse en una herramienta muy práctica de seguimiento de tendencias.
/*backtest start: 2022-10-09 00:00:00 end: 2023-10-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "EMA Close Strategy", shorttitle = "EMA Close",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100) EmaSource = input(defval = close, title = "EMA Source") EmaLength = input(defval = 8, title = "EMA Period", minval = 1) StartYear = input(2018, "Backtest Start Year") StartMonth = input(1, "Backtest Start Month") StartDay = input(1, "Backtest Start Day") stopLoss = input(30, title = "Stop loss percentage(0.1%)") UseStopLoss = input(true,"UseStopLoss") window() => time >= timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false EMA = ema(EmaSource,EmaLength) plot(EMA, title = "EMA", color = green, linewidth = 2, style = line, transp = 50) long = crossunder(EMA, close) short= crossover(EMA, close) if (long) strategy.entry("LongId", strategy.long, when=window()) if (short) strategy.entry("ShortId", strategy.short, when=window()) if (UseStopLoss) strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick) strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)