Estrategia de cruce de medias móviles dinámicas y MACD


Fecha de creación: 2024-02-06 14:29:23 Última modificación: 2024-02-06 14:29:23
Copiar: 0 Número de Visitas: 747
1
Seguir
1617
Seguidores

Estrategia de cruce de medias móviles dinámicas y MACD

Descripción general

La estrategia determina la entrada y la salida mediante el cálculo de la intersección de la línea rápida EMA (3), la línea lenta EMA (11) y la línea lenta EMA (18) en combinación con la intersección del eje cero del MACD. Es una estrategia dinámica que utiliza los indicadores de doble EMA y MACD para tomar decisiones comerciales.

Principio de estrategia

La estrategia se basa principalmente en dos indicadores de análisis técnico:

  1. EMA línea media cruzada. La tendencia de juicio cruzado de la línea rápida EMA (3), la línea lenta EMA (11) y la línea lenta EMA (18) y sirve como señal de salida de entrada.

  2. El indicador MACD y su cruce en el eje cero. El MACD se compone de la diferencia de diferenciación ((DIFF) y DEA. El DIFF es la línea rápida (EMA) (3) menos la línea lenta (EMA) (11) que constituye.

De acuerdo con la combinación de cruces EMA y cruces MACD de eje cero, se establecen tres entradas y dos salidas:

  1. El MACD está por encima del eje cero y cruza hacia arriba para hacer más oportunidades por primera vez
  2. En la línea rápida EMA ((3) se cruza la línea lenta EMA ((11) para hacer más oportunidades por segunda vez
  3. La línea rápida EMA ((3) cruza la línea lenta EMA ((18) para hacer más oportunidades para la tercera posición llena
  4. La línea rápida EMA ((3)) pasa por debajo de la línea lenta EMA ((11) para abrir una oportunidad de liquidación por primera vez
  5. El MACD está por debajo del eje cero y cruza hacia abajo para una segunda oportunidad de liquidación

En general, la estrategia integra el sistema de cruce de dos EMA y el indicador MACD, lo que mejora la rentabilidad de la estrategia mediante la adaptación dinámica de los parámetros de la línea media y los parámetros MACD.

Ventajas estratégicas

  1. Utilizando las ventajas de los indicadores EMA y MACD, el análisis de los dos indicadores permite una mayor precisión.

  2. Establezca tres oportunidades de multiplicación y dos oportunidades de liquidación para aumentar la frecuencia de las operaciones estratégicas y ampliar el espacio de ganancias.

  3. El espacio para la optimización de los parámetros dinámicos es amplio. Se puede optimizar el ajuste de la línea rápida EMA, la línea lenta EMA, el eje cero EMA y la longitud MACD.

  4. La lógica de la estrategia es clara y fácil de entender, para que sea fácil de configurar y optimizar.

Riesgo estratégico

  1. El cruce de EMA y el MACD generan un cierto porcentaje de falsedad que puede conducir a pérdidas innecesarias.

  2. La frecuencia de las transacciones es alta, el stop loss es pequeño y el riesgo de pérdidas es acumulativo.

  3. Los parámetros son muy difíciles de optimizar, y una optimización incorrecta puede ser demasiado buena para los datos históricos.

  4. Se debe considerar el impacto en los costos de las transacciones.

En cuanto al riesgo:

  1. Establezca un alto riesgo razonable para reducir las pérdidas individuales.

  2. Ajuste adecuado de los parámetros para evitar la sobreadaptación.

  3. Tener en cuenta los efectos de los costos, como la reducción de la frecuencia de las transacciones.

Dirección de optimización de la estrategia

  1. Sustitución de otros ensayos de indicadores: como la banda de Brin, KDJ, etc.

  2. Optimice los parámetros del cruce de la línea media del EMA: cambie los parámetros de longitud del EMA de la línea rápida y el EMA de la línea lenta.

  3. Parámetros para optimizar el MACD: cambiar el DIFF del MACD y la DEA para calcular la longitud de la EMA.

  4. Aumentar las estrategias de stop loss: como el número de operaciones de stop loss, el tiempo de stop loss, el movimiento de stop loss, etc.

  5. Tener en cuenta el impacto de los costos de transacción y ajustar el número de entradas.

Resumir

Esta estrategia utiliza una combinación de dos sistemas de cruce de EMA y indicadores MACD para construir una estrategia de parámetros dinámicos con alto potencial de ganancias y alta frecuencia de transacción. Al mismo tiempo, la lógica de la estrategia es simple y clara, fácil de entender y ajustar para optimizar.

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

//@version=4
strategy("MACD+EMA crossovers Strategy custom",initial_capital=10000,max_bars_back=150,commission_type=strategy.commission.percent , commission_value=0.1, shorttitle="MACD+EMAcross",pyramiding = 10,default_qty_type=strategy.percent_of_equity,default_qty_value=33,overlay=false)

short = ema(close,3)
long = ema(close, 11)
long2 = ema(close, 18)
//plot(short, color = red, linewidth = 4)
//plot(long, color = blue, linewidth = 4)
//plot(long2, color = green, linewidth = 4)

isCross1 = crossover(short, long)
isCross2 = crossover(short, long2)
isCrossSell = crossunder(short, long)
//isCross3 = crossover(long, long2)

//plotshape(isCross1 and not isCross2, color=lime, style=shape.arrowup, text="1st in",size = size.tiny, location = location.belowbar)
//plotshape(isCross2 , color=lime, style=shape.arrowup, text="2nd in",size = size.tiny, location = location.belowbar)

//plotshape(isCross3 , color=lime, style=shape.arrowdown, text="All in",size = size.normal, location = location.abovebar)

//plotshape(isCrossSell , color=red, style=shape.arrowdown, text="SELL",size = size.small, location = location.abovebar)

fastLength = input(3)
slowlength = input(11)
MACDLength = input(27)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength) //signal
delta = MACD - aMACD // histograma

strategy.entry("MacdLE 1st in", strategy.long, comment="MacdLE 1st in",when=crossover(delta, 0))

strategy.entry("2nd in", strategy.long, comment="2nd in",when=isCross1)

strategy.entry("all in", strategy.long, comment="all in",when=isCross2)

strategy.close("2nd in",when=isCrossSell) 
strategy.close("all in",when=isCrossSell)
//strategy.close("2nd in",when=crossunder(delta, 0)) 
//strategy.close("all in",when=crossunder(delta, 0))
strategy.close("MacdLE 1st in",when=crossunder(delta, 0)) 
    
histColour = (delta > 0) ? green : (delta < 0) ? red :  #4169E1
    
plot(MACD,color=red,linewidth=2)
plot(aMACD,color=blue,linewidth=2)
plot(delta,style=histogram, color=histColour, linewidth=10)
plot(0,color=white)