Estrategia de cruce de promedio móvil simple

El autor:¿ Qué pasa?, Fecha: 2024-02-21 15:11:32
Las etiquetas:

img

Resumen general

Esta es una estrategia de negociación combinada basada en promedios móviles simples (SMA). Utiliza un cruce de las líneas SMA de 9 días y 21 días como señales de compra y venta. Cuando la SMA a corto plazo cruza por encima de la SMA a largo plazo desde abajo, se genera una señal de compra. Cuando la SMA a corto plazo cruza por debajo de la SMA a largo plazo desde arriba, se genera una señal de venta.

Estrategia lógica

La lógica central de esta estrategia es usar dos líneas SMA con parámetros diferentes: una SMA de 9 días que representa la tendencia a corto plazo y una SMA de 21 días que representa la tendencia a largo plazo. Cuando la línea de tendencia a corto plazo cruza por encima de la línea de tendencia a largo plazo desde abajo, indica que el mercado está cambiando de tendencia bajista a alcista, generando una señal de compra. Cuando la línea a corto plazo cruza por debajo de la línea a largo plazo desde arriba, indica un cambio de tendencia alcista a alcista, generando una señal de venta.

Las señales clave en las que se basa esta estrategia son la cruz de oro y la cruz de muerte de las dos líneas de SMA. Una cruz de oro ocurre cuando la SMA corta cruza por encima de la SMA larga, lo que indica un posible cambio de tendencia bajista a ascendente. Una cruz de muerte ocurre cuando la SMA corta cruza por debajo de la SMA larga, lo que sugiere que puede comenzar una desaceleración de la tendencia alcista. Mediante la utilización de estas dos señales, la estrategia identifica las relaciones entre las tendencias a corto y largo plazo para tomar decisiones comerciales.

Ventajas

  1. Sencillo de entender e implementar
  2. Pocos parámetros que requieran pruebas/optimización extensas
  3. Frecuencia de negociación razonable evitando operaciones demasiado agresivas
  4. Es bastante preciso en la identificación de los puntos de reversión de tendencia
  5. Ofrece una cierta medidabilidad y estabilidad

Los riesgos

  1. Es propenso a generar señales falsas y golpes
  2. La selección de puntos de compra/venta se basa en gran medida en la experiencia en lugar de un enfoque sistemático
  3. El rendimiento depende en gran medida de los parámetros. La SMA de 9 días/21 días puede no ser óptima
  4. No es eficaz para filtrar el ruido de los intercambios en mercados agitados/desorientados
  5. Las operaciones con pérdidas considerables en entornos de alta volatilidad

Posibles mejoras:

  1. Añadir filtros para evitar actuar sobre señales falsas
  2. Incorporar otros indicadores para medir la fiabilidad de la señal
  3. Prueba y optimización de parámetros para diferentes productos
  4. Implementar el stop loss/take profit para controlar los riesgos

Conclusión

En general, este es un sistema de cruce de promedio móvil dual bastante tradicional y simple. Es fácil de entender e implementar con una selección de parámetros relativamente simple. Puede rastrear eficazmente los cambios entre las tendencias a corto y largo plazo. Sin embargo, se deben abordar problemas como señales falsas, parámetros elegidos empíricamente, rendimiento mediocre en entornos de alta volatilidad. Se deben considerar optimizaciones, mejoras y combinaciones apropiadas junto con prácticas sólidas de control de riesgos.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitboy Strategy", overlay=true)

// Define MAs
SlowMA = ta.sma(close, 9)
FastMA = ta.sma(close, 21)

// Plot MAs
plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA")
plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA")

// Plot MA Ribbon
fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45))

// Define buy/sell conditions
longCondition = ta.crossover(SlowMA, FastMA)
shortCondition = ta.crossunder(SlowMA, FastMA)

// Strategy commands for buy/sell
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Plot buy/sell signals (for visualization)
plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white)
plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)

Más.