La estrategia de media móvil cruzada calcula las medias móviles de diferentes períodos y utiliza sus cruces como señales comerciales. Pertenece a las estrategias de análisis técnico. Esta estrategia combina medias móviles rápidas, medianas y lentas para juzgar las señales comerciales, que pueden filtrar eficazmente el ruido del mercado e identificar tendencias.
La estrategia calcula 3 promedios móviles con diferentes períodos: EMA de 34 períodos, EMA de 89 períodos y EMA de 200 períodos.
Las señales de negociación se generan en función de los cruces entre diferentes MA: cuando el MA rápido cruza por encima del MA medio, desencadena la señal de compra; cuando el MA rápido cruza por debajo del MA medio, desencadena la señal de venta.
Para filtrar el exceso de ruido, la estrategia también emplea un MA lento. Solo cuando el MA rápido cruza el MA lento simultáneamente se desencadenarán las señales de compra y venta reales. Por ejemplo, solo cuando el MA rápido cruza por encima de los MA medianos y lentos se generará la señal de compra. Esto asegura que las operaciones solo ocurran cuando ocurren cambios significativos de tendencia.
La estrategia de media móvil cruzada es una estrategia típica de análisis técnico. Observa la relación entre los MA de diferentes marcos de tiempo para determinar los puntos de reversión del mercado. El uso simultáneo de MA rápidos, medios y lentos puede reaccionar rápidamente a las tendencias y filtrar señales falsas de manera efectiva. Con el ajuste adecuado de los parámetros, puede ser flexible para diferentes entornos de mercado. Aún así, se deben considerar los problemas con los MA. En general, la estrategia tiene una lógica intuitiva y vale la pena validar y optimizar en los mercados en vivo.
/*backtest start: 2022-10-30 00:00:00 end: 2023-11-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="EMA 34, 89, 200 e cruzamento das EMA", overlay=true) // Input options fastMALen = input(title="Fast MA", defval=34) midMALen = input(title="Medium MA", defval=89) slowMALen = input(title="Slow MA", defval=200) // Calculate values fastMA = ema(close, fastMALen) midMA = ema(close, midMALen) slowMA = ema(close, slowMALen) // Plot values plot(series=fastMA, color=yellow, title="Fast MA", linewidth=3, trackprice=false) plot(series=midMA, color=red, title="Mid MA", linewidth=4, trackprice=false) plot(series=slowMA, color=white, title="Slow MA", linewidth=5) // Highlight crossovers longCondition = crossover(ema(close, 34), ema(close, 200)) if (longCondition) strategy.entry("COMPRA FINAL", strategy.long) longCondition1 = crossover(ema(close, 34), ema(close, 89)) if (longCondition1) strategy.entry("COMPRA INICIAL", strategy.long) shortCondition = crossunder(ema(close, 34), ema(close, 200)) if (shortCondition) strategy.entry("VENDE FINAL", strategy.short) shortCondition1 = crossunder(ema(close, 34), ema(close, 89)) if (shortCondition1) strategy.entry("VENDE INICIAL", strategy.short)