Estrategia de seguimiento del cruce de la EMA


Fecha de creación: 2023-10-25 17:44:35 Última modificación: 2023-10-25 17:44:35
Copiar: 0 Número de Visitas: 804
1
Seguir
1617
Seguidores

Estrategia de seguimiento del cruce de la EMA

Descripción general

La estrategia de cruce de EMA determina la tendencia de los precios para generar señales de compra y venta mediante el seguimiento de la intersección de las líneas medias de EMA de dos períodos diferentes. La estrategia combina el indicador de SuperTrend con una ruptura de la brecha.

Principio de estrategia

La estrategia se basa principalmente en el principio de la horquilla y la horquilla de oro de la línea media de la EMA. La línea media de la EMA puede suavizar el ruido de filtrado de datos de precios y determinar la tendencia de los precios a través de la intersección de la línea media de la EMA.

Al mismo tiempo, la estrategia se combina con el indicador SuperTrend para filtrar las falsas señales producidas por la intersección de EMA. El indicador SuperTrend es un indicador de subida y bajada calculado según el ATR, lo que permite determinar con mayor precisión la verdadera tendencia.

En concreto, los criterios de esta estrategia son los siguientes:

  1. Cuando 20 EMA pasa por 50 EMA, y el precio rompe la vía de la SuperTrend, genera una señal de compra;

  2. Cuando 20 EMA pasa por 50 EMA y el precio cae por debajo de la línea de SuperTrend, se genera una señal de venta.

La precisión de las señales estratégicas de negociación puede ser mejorada mediante el cruce de EMAs para juzgar las grandes tendencias y, al mismo tiempo, filtrar las oscilaciones de los indicadores SuperTrend.

Análisis de las ventajas

La estrategia de cruce EMA tiene las siguientes ventajas:

  1. La operación es sencilla y fácil de realizar. Sólo se necesita calcular el cruce de dos líneas medias EMA.

  2. El EMA, como promedio móvil, puede filtrar parte del ruido.

  3. En combinación con los indicadores de SuperTrend, se puede filtrar aún más el ruido y reducir las falsas señales.

  4. Se puede ajustar el parámetro del ciclo EMA para adaptarse a diferentes circunstancias del mercado.

  5. Se pueden personalizar posiciones largas y cortas, y se puede realizar una variedad de formas de negociación.

  6. Se puede implementar en diferentes períodos de tiempo y se aplica a diferentes tipos de operadores.

Análisis de riesgos

La estrategia cruzada de la EMA también tiene algunos riesgos:

  1. Las señales cruzadas de EMA pueden retrasarse y no reflejar los cambios de precios en tiempo real cuando el mercado está en una situación de gran volatilidad.

  2. La línea media de la EMA tiene retraso y puede generar una señal errónea.

  3. Los parámetros incorrectos de EMA de corto y EMA de largo período pueden generar demasiadas señales erróneas.

  4. El simple hecho de depender de una cruce equilánea no permite determinar la tendencia real del mercado, lo que implica una cierta ceguera.

  5. Se debe elegir una estrategia de control de pérdidas adecuada para controlar el riesgo.

Los siguientes consejos pueden ayudar a reducir el riesgo:

  1. Optimice los parámetros de ciclo EMA y seleccione el ciclo promedio rápido y lento adecuado.

  2. Reducir adecuadamente el tiempo de tenencia de las posiciones y detener las pérdidas a tiempo.

  3. Se puede combinar con otros indicadores como promedios móviles, forma de la línea K, etc.

  4. Ajuste la frecuencia de las transacciones para reducir el número de transacciones.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de los parámetros de ciclo de la línea media de la EMA para adaptarse a diferentes ciclos y entornos de mercado. Se puede introducir un mecanismo de optimización de parámetros de adaptación.

  2. Prueba con diferentes indicadores de mediano, como el SMA, KWMA, etc.

  3. Combina más indicadores para el comercio combinado, para formar modelos multifactoriales como MACD, RSI, etc. Introduce algoritmos de aprendizaje automático para la optimización de parámetros y ajustes de peso.

  4. Aumentar las estrategias de detención de pérdidas, como el seguimiento de las detenciones, el porcentaje de detención de pérdidas, etc., para controlar el riesgo.

  5. Introducción de filtros de volumen de transacciones para evitar falsas señales en combinación con el indicador de volumen de transacciones.

  6. Optimización de estrategias de salidas, establecimiento de reglas de salida. Exit signals como combinación de formas de línea K, brechas, etc.

  7. Confirmar tendencias en períodos de tiempo más altos, entrar en el mercado en períodos de tiempo más bajos y lograr el seguimiento de tendencias.

Resumir

La estrategia de cruce de EMA es una estrategia de seguimiento de tendencias sencilla y práctica. Es capaz de identificar tendencias de precio a medio plazo y generar señales de compra y venta. En combinación con el indicador SuperTrend, puede filtrar eficazmente el ruido y reducir las operaciones erróneas.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © alokbothra

//@version=5
strategy("Ema Crossover", overlay=true, initial_capital = 1000)
start = timestamp(2021,1,1,0,0)
end = timestamp(2023,10,30,0,0)
plot (ta.ema(close,20), title = "Ema 20", color = color.green , linewidth = 2)
plot (ta.ema(close,50), title = "Ema 50", color = color.red, linewidth = 2 )

//supertrend 1
Periods = input(title='ATR Period', defval=11)
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3)
changeATR = input(title='Change ATR Calculation Method ?', defval=true)
showsignals = input(title='Show Buy/Sell Signals ?', defval=true)
highlighting = input(title='Highlighter On/Off ?', defval=true)
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
up = close - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn =close+ Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title='UpTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title='DownTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
mPlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0)
changeCond = trend != trend[1]

longonly = input.bool(defval = true, title = 'Long Only')
shortonly = input.bool(defval = true, title = 'Short Only')

longCondition = (ta.ema(close, 20) >= ta.ema(close, 50)) 
shortCondition = (ta.ema(close, 20) <= ta.ema(close, 50))
long = (trend == 1)
short = (trend == -1)
sell= short
cover= long
if time >= start and time < end
    if longonly
        if ((longCondition) and (long))
            strategy.entry ("Long Entry", strategy.long, comment ="Long Entry")
        if strategy.position_size > 0
            strategy.close("Long Entry", when = sell, comment = "Long Exit")
    if shortonly
        if ((shortCondition) and (short))
            strategy.entry("Short Entry", strategy.short, comment = "Short Entry")
        if strategy.position_size < 0
            strategy.close("Short Entry", when = cover, comment = "Short Exit")