Estrategia de cruce de las medias móviles multi-SMA

El autor:¿ Qué pasa?, Fecha: 2023-11-28 15:08:37
Las etiquetas:

img

Resumen general

Esta estrategia calcula los promedios móviles SMA de múltiples marcos de tiempo y toma el valor promedio para construir el indicador de promedio móvil.

Principio de la estrategia

  1. Calcular las medias móviles de 5 SMA de diferentes períodos (8 días, 21 días, 50 días, 100 días, 200 días)
  2. Tome el promedio de los 5 promedios móviles para obtener el indicador de promedio móvil final
  3. Generar señales de compra cuando los precios de cierre se elevan por encima de la media móvil
  4. Generar señales de venta cuando los precios de cierre caen por debajo de la media móvil

Al promediar las SMA de múltiples marcos de tiempo, esta estrategia puede suavizar efectivamente la curva y filtrar las fallas.

Análisis de ventajas

  1. El uso de promedios móviles de varios marcos de tiempo puede filtrar eficazmente el ruido del mercado e identificar tendencias
  2. Curva lisa, evitar la generación de demasiadas señales falsas
  3. La lógica de la estrategia es simple y clara, fácil de entender e implementar, adecuada para que los principiantes aprendan
  4. Combinación de períodos de media móvil personalizable para optimizar el efecto del indicador

Análisis de riesgos

  1. El sistema de medias móviles está rezagado en su conjunto y no puede mantenerse al día con los cambios de precios en el tiempo
  2. Cuando se produce un fallo de ruptura, el punto de parada de pérdida está lejos, con un mayor riesgo de pérdida
  3. Las líneas de stop loss se activan con frecuencia en tendencias oscilantes

Estos riesgos pueden reducirse acortando adecuadamente algunos períodos de media móvil y añadiendo otros indicadores de confirmación.

Direcciones de optimización

  1. Optimizar las combinaciones de períodos de media móvil para encontrar los mejores parámetros
  2. Añadir indicadores como el volumen de operaciones para confirmar las señales de ruptura
  3. Incorporar indicadores de tendencia para evitar señales falsas en los mercados oscilantes
  4. Desarrollar programas de optimización automática de parámetros para encontrar dinámicamente los parámetros óptimos

Resumen de las actividades

La idea general de esta estrategia es clara. Al integrar los promedios móviles de múltiples marcos de tiempo, puede identificar efectivamente las tendencias y es una estrategia estable y práctica. Sin embargo, también debemos prestar atención a sus riesgos de retraso y falsas señales. A través de la optimización adicional de la configuración de parámetros, la adición de indicadores de confirmación, etc., podemos mejorar continuamente esta estrategia para convertirla en una poderosa herramienta de negociación cuantitativa.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("STRATEGY AVERAGE MULTI_SMA", overlay=true)


sma1 = sma(close,input(title="SMA 1", defval=8))

sma2 = sma(close,input(title="SMA 2", defval=21))

sma3 = sma(close,input(title="SMA 3", defval=50))

sma4 = sma(close,input(title="SMA 4", defval=100))

sma5 = sma(close,input(title="SMA 5", defval=200))


mediaSMA= (sma1+sma2+sma3+sma4+sma5)/5

//color mediaSMA

MediaUP = mediaSMA>mediaSMA[1]
colorUP = (MediaUP ? #3CFF35 : na)

MediaDOWN = mediaSMA<mediaSMA[1]
colorDOWN =(MediaDOWN ? #FF0F03 : na)

colorN =(not MediaUP and not MediaDOWN and mediaSMA==mediaSMA[1] ? white : na )

plot(mediaSMA,title="Avarege MULTI_SMA UP", color=colorUP, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA DOWN", color=colorDOWN, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA UP NEUTRAL", color=colorN, style=circles, linewidth=2, transp=0)


//plot(sma1,color=blue,linewidth=1, style=line,transp=0,title="SMA 1")
//plot(sma2,color=yellow,linewidth=1, style=line,transp=0,title="SMA 2")
//plot(sma3,color=green,linewidth=1, style=line,transp=0,title="SMA 3")
//plot(sma4,color=purple,linewidth=1, style=line,transp=0,title="SMA 4")
//plot(sma5,color=red,linewidth=1, style=line,transp=0,title="SMA 5")


// Strategy

//BUY
comprar=close>mediaSMA and mediaSMA>mediaSMA[1] 
fechar=close<mediaSMA and mediaSMA<mediaSMA[1]
 
strategy.entry("BUY",strategy.long,when=comprar)
strategy.entry("SELL",strategy.short, when=fechar)

//SELL
vender=close<mediaSMA and mediaSMA<mediaSMA[1] 
fechar2=close>mediaSMA and mediaSMA>mediaSMA[1]

strategy.entry("SELL",strategy.short, when=vender)
strategy.entry("BUY", strategy.long,when=fechar2)



Más.