Estrategia de cruce de medias móviles multi-SMA


Fecha de creación: 2023-11-28 15:08:37 Última modificación: 2023-11-28 15:08:37
Copiar: 2 Número de Visitas: 713
1
Seguir
1617
Seguidores

Estrategia de cruce de medias móviles multi-SMA

Descripción general

Esta estrategia se basa en el cálculo de la media SMA de varios períodos de tiempo, y toma el promedio para construir un indicador de la media. Cuando el precio sube, se genera una señal de compra cuando se rompe la media, y cuando el precio baja, se genera una señal de venta cuando se rompe la media, es una estrategia típica de cruce de la media.

Principio de estrategia

  1. Calcula el promedio SMA de 5 períodos diferentes (8, 21, 50, 100 y 200 días)
  2. El promedio de los cinco promedios es el promedio final.
  3. Cuando el precio de cierre sube y rompe la línea media, genera una señal de compra
  4. Cuando el precio de cierre baja y rompe la línea media, genera una señal de venta

Esta estrategia, que utiliza el promedio de las SMA de varios períodos de tiempo, es capaz de suavizar la curva de manera efectiva, eliminando falsas rupturas. Tiene una mayor estabilidad en comparación con una sola línea media.

Análisis de las ventajas

  1. El uso de líneas medias de varios períodos permite filtrar el ruido del mercado y identificar tendencias.
  2. Alinear la curva para evitar una gran cantidad de señales falsas
  3. La lógica de la estrategia es simple, clara, fácil de entender y adecuada para los principiantes.
  4. Combinación de períodos equilíneos personalizables para optimizar el efecto del indicador

Análisis de riesgos

  1. El sistema de medias líneas en su conjunto está atrasado y no puede seguir los cambios de precios en tiempo real.
  2. El punto de parada está más lejos y el riesgo de pérdidas es mayor cuando la brecha falla
  3. La línea de parada se activa con frecuencia en la tendencia de la oscilación.

Estos riesgos pueden reducirse mediante la reducción adecuada de algunos ciclos de promedio y la confirmación de otros indicadores.

Dirección de optimización

  1. Optimización de la combinación de periodicidad lineal para encontrar el parámetro óptimo
  2. Se añaden indicadores como el volumen de transacciones para confirmar la señal de ruptura.
  3. Combinación de indicadores de tendencia para evitar falsas señales de movimiento de los mercados
  4. Desarrollo de programas de optimización automática de parámetros para la búsqueda dinámica de parámetros óptimos

Resumir

La estrategia tiene una idea general clara, la integración de la línea media en varios períodos de tiempo, la capacidad de identificar las tendencias de manera efectiva, es una estrategia de práctica estable. Pero también debemos tener en cuenta su atraso y el riesgo de información errónea. Mediante la configuración de parámetros de optimización adicional, la adición de indicadores de confirmación, etc., la estrategia puede ser mejorada continuamente, lo que la convierte en una poderosa herramienta de comercio cuantitativa.

Código Fuente de la Estrategia
/*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)