Estrategia de negociación diaria basada en las EMA semanales

El autor:¿ Qué pasa?, Fecha: 2023-09-20 17:11:52
Las etiquetas:

Resumen general

La idea central de esta estrategia es mapear los indicadores de la EMA desde el marco temporal semanal hasta las operaciones diarias, con el fin de obtener apoyo de las tendencias a más largo plazo y orientar las decisiones diarias de negociación.

Principio de la estrategia

La estrategia calcula primero los EMA de 6 días, 12 días, 26 días y 52 días en el gráfico diario, así como los EMA de 42 días, 84 días, 182 días y 364 días correspondientes a la configuración semanal de los parámetros de EMA.

Luego, se utilizan los cruces de la EMA de 42 días y la EMA de 84 días para determinar la tendencia a largo plazo; los cruces de la EMA de 84 días y la EMA de 182 días se utilizan para determinar la tendencia a mediano plazo.

Cuando la EMA de período más corto se cruza por encima de la EMA de período más largo, se realiza una operación larga; cuando la EMA de período más corto se cruza por debajo de la EMA de período más largo, se cierran las posiciones.

A través de este método de mapeo, obtenemos apoyo de los indicadores de EMA de nivel semanal en el comercio diario, lo que ayuda a filtrar algo de ruido y capturar oportunidades de tendencia más grandes.

Análisis de ventajas

Esta estrategia combina la flexibilidad de las operaciones diarias y la estabilidad de las EMA semanales, con las siguientes ventajas:

  1. Las EMA semanales pueden filtrar eficazmente el ruido del mercado e identificar movimientos reales de tendencia.

  2. Los parámetros semanales de la EMA son más estables, menos afectados por las fluctuaciones de precios a corto plazo, y al mismo tiempo, las formaciones diarias combinadas con el juicio de tendencia resultan en salidas más oportunas.

  3. Los cruces de la EMA pueden identificar claramente los puntos de reversión de tendencia cíclica.

  4. Las combinaciones de EMA de diferentes períodos capturan las oportunidades de tendencia a largo, mediano y corto plazo.

  5. La estrategia tiene una baja frecuencia de negociación, adecuada para la tenencia larga.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. Las señales semanales de entrada a la EMA pueden retrasarse, sin poder captar el momento más temprano del cambio de precios.

  2. Las salidas dependen de los cruces de la EMA, sin tener en cuenta las formaciones, la volatilidad, etc., pueden conducir a una salida prematura.

  3. Pocos cruces de la EMA tienden a dar lugar a una retención unilateral demasiado prolongada.

  4. No hay stop loss significa alto riesgo de extracción, requiere una gestión humana activa.

  5. Ajuste de parámetros gruesos, necesita ajuste para un rendimiento óptimo en diferentes monedas.

Los riesgos pueden reducirse mediante:

  1. Identificar las formaciones de entrada con otros indicadores, tomar posiciones antes de las señales de la EMA.

  2. Agregue reglas de salida como stop loss, tomar ganancias para evitar el exceso de retención.

  3. Optimizar los períodos de EMA, probar combinaciones de períodos adecuados para diferentes monedas.

  4. Negociación multinivel, diferentes EMA para posiciones en capas, menor riesgo de tenencia unilateral.

Direcciones de optimización

La estrategia se puede optimizar aún más en los siguientes aspectos:

  1. Añadir reglas sobre la entrada diaria, como formaciones, volumen, etc para filtrar el ruido.

  2. Combine las acciones, el MACD para juzgar sobrecomprado-sobrevendido para una entrada/salida más fina.

  3. Agregue stop loss, tome ganancias para reducir el descenso, bloquee las ganancias.

  4. Optimice los períodos de EMA, prueba combinaciones de diferentes períodos.

  5. Prueba con diferentes EMAs como DEMA, TEMA para parámetros más suaves.

  6. Se añade el dimensionamiento de posiciones basado en diferentes señales EMA.

  7. Parámetros de investigación para diferentes pares de operaciones.

  8. Explorar métodos de aprendizaje automático para la optimización dinámica de EMA.

Conclusión

Es una excelente estrategia de seguimiento de tendencias adecuada para la tenencia a largo plazo. Combina inteligentemente el juicio de tendencias semanales y la ejecución diaria. Con las mejoras adecuadas, puede convertirse en un sistema de negociación de marcos de tiempo múltiples muy práctico.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1

strategy("Investing Weekly mapped to Daily", overlay=true,  pyramiding=100)


// === PLOTTING EMA ===

plot(ema(close, 6), color=aqua, transp=0, linewidth=2, title="ema6")
plot(ema(close, 12), color=white, transp=0, linewidth=2, title="ema12")
plot(ema(close, 26), color=#9802FF, transp=0, linewidth=2, title="ema26")
plot(ema(close, 52), color=orange, transp=0, linewidth=2, title="ema52")
plot(ema(close, 42), color=aqua, transp=0, linewidth=5, title="W-ema6")
plot(ema(close, 84), color=white, transp=0, linewidth=5, title="W-ema12")
plot(ema(close, 182), color=#9802FF, transp=0, linewidth=5, title="W-ema26")
plot(ema(close, 364), color=orange, transp=0, linewidth=5, title="W-ema52")


// === INPUT BACKTEST RANGE ===

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


// === STRATEGY FOR CRYPTO ===

ema42= ema(close, 42)
ema84= ema(close, 84)
ema182= ema(close, 182)

enterLong1 = cross(ema42, ema84) and ema42 > ema84
exitLong1 = cross(ema42, ema84) and ema42 < ema84

enterLong2 = cross(ema84, ema182) and ema84 > ema182
exitLong2 = cross(ema84, ema182) and ema84 < ema182


strategy.entry(id="Entry_1", long=true, when=enterLong1)
strategy.entry(id="Entry_2", long=true, when=enterLong2)
strategy.entry(id="Exit_1", long=false, when=exitLong1)
strategy.entry(id="Exit_2", long=false, when=exitLong2)


Más.