La estrategia de cruce de la media móvil es una estrategia de negociación cuantitativa

El autor:¿ Qué pasa?, Fecha: 2023-12-22 13:28:01
Las etiquetas:

img

Resumen general

La estrategia de cruce de promedios móviles es una estrategia de negociación cuantitativa basada en promedios móviles simples (SMA).

Específicamente, esta estrategia calcula el SMA de 9 períodos y 45 períodos. Cuando el precio cruza por encima de ambas líneas SMA, se genera una señal de compra. Cuando el precio cruza por debajo de ambas líneas, se activa una señal de venta.

Estrategia lógica

La lógica central de esta estrategia se basa en los principios de cruce dorado y cruce muerto de los promedios móviles. Los promedios móviles pueden filtrar eficazmente el ruido del mercado e indicar cambios de tendencia importantes. Cuando el MA a corto plazo cruza por encima del MA a largo plazo, indica una inversión de tendencia al alza. El cruce opuesto indica una tendencia a la baja.

En particular, esta estrategia utiliza los promedios móviles simples de 9 períodos y 45 períodos. La línea de 9 períodos representa tendencias a corto plazo, mientras que la línea de 45 períodos captura movimientos a largo plazo. Cuando el precio cruza por encima de ambas líneas SMA, indica que el precio está en canales ascendentes a corto y largo plazo, lo que desencadena una entrada larga. El cruce opuesto sugiere un debilitamiento del impulso alcista y solicita señales de salida.

Desde el punto de vista del código, la estrategia primero calcula los valores de SMA de 9 períodos y 45 períodos. Luego utiliza las funciones ta.crossover y ta.crossunder para detectar cruces doradas y cruces muertas entre las dos líneas MA. Cuando se activan las señales de compra y venta, las funciones de gráficos dibujan triángulos y triángulos invertidos en el gráfico de precios.

Además, se implementa la lógica de stop-loss para gestionar las salidas de operaciones. Específicamente, los precios altos y bajos de la barra anterior se extraen como el precio de stop-loss después de abrir nuevas operaciones. Esto permite que la estrategia bloquee las ganancias y evite grandes pérdidas.

Análisis de ventajas

  • La configuración de la media móvil dual captura los cambios de tendencia a medio y largo plazo mientras se filtran los ruidos a corto plazo, mejorando la calidad de la señal.

  • El mecanismo de stop-loss controla eficazmente los riesgos y bloquea las ganancias.

  • Lógica sencilla y fácil de implementar, adecuada para principiantes.

  • Alta utilización del capital para obtener ganancias compuestas.

Análisis de riesgos

  • Las estrategias de doble MA tienden a generar problemas y señales inválidas durante los mercados agitados.

  • Colocación de stop loss conservadora incapaz de rastrear las tendencias de manera efectiva.

  • La selección de parámetros no óptimos puede dar lugar a un exceso de operaciones o a una frecuencia de operaciones insuficiente.

  • Incapaz de adaptarse a grandes inversiones de tendencia.

Soluciones:

  1. Optimizar los parámetros de MA para reducir las señales falsas

  2. Implementar paradas dinámicas de tendencia

  3. Añadir filtros con otros indicadores

  4. Anulación manual en caso de reversión mayor

Direcciones de optimización

Otras mejoras de la estrategia:

  1. Utilice MAs adaptativas o exponenciales para capturar mejor las tendencias.

  2. Añadir un filtro de volatilidad para evitar señales falsas durante los mercados variados.

  3. Realizar la optimización de parámetros para obtener las mejores combinaciones de parámetros.

  4. Incorporar mecanismos de seguimiento de tendencias en la lógica de stop-loss.

  5. Añadir análisis de soporte-resistencia para evitar señales alrededor de los niveles clave.

  6. Aprovechar el aprendizaje automático para filtrar aún más la calidad de la señal.

Conclusión

El sistema de cruce de promedios móviles es un enfoque simple pero efectivo de seguimiento de tendencias. Al filtrar el ruido y rastrear las tendencias a medio plazo, genera señales de calidad. Con las pérdidas de parada adecuadas, permite el comercio de tendencias gestionadas por riesgo. La lógica simple también lo hace ideal para que los principiantes lo pongan en práctica.


/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Input parameters
fast_length = input(9, title="Fast SMA Length")
slow_length = input(45, title="Slow SMA Length")

// Calculate moving averages
fast_sma = ta.sma(close, fast_length)
slow_sma = ta.sma(close, slow_length)

// Buy condition
buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma)

// Sell condition
sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma)

// Calculate stop loss levels
prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on)
prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on)

// Plot signals on the chart
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Strategy exit conditions
long_stop_loss = sell_condition ? prev_low : na
short_stop_loss = buy_condition ? prev_high : na

strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss)
strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss)

strategy.entry("Long", strategy.long, when=buy_condition)
strategy.entry("Short", strategy.short, when=sell_condition)


Más.