La doble estrategia de cruce de promedios móviles es una estrategia típica de tendencia siguiendo promedios móviles. Identifica la tendencia del mercado comparando dos promedios móviles de diferentes períodos y genera señales de compra y venta cuando los promedios se cruzan.
La estrategia utiliza principalmente promedios móviles exponenciales (EMA) de 20 y 50 períodos para determinar la tendencia del mercado.
Con esta lógica, la doble estrategia EMA es capaz de seguir los cambios de tendencia dinámicamente, ajustando la posición para maximizar el beneficio durante la tendencia.
La estrategia de doble cruce de medias móviles tiene las siguientes ventajas:
Simple de implementar: sólo se necesita una comparación entre dos promedios, sin predicción o modelado complejos.
Utiliza la capacidad de seguimiento de tendencias de las medias móviles para entrar en el mercado solo cuando la tendencia es clara.
Stop loss automático para controlar el riesgo.
El maquillaje pierde operaciones, se recupera, vuelve a entrar después de un stop loss cuando la tendencia vuelve alcista.
Parámetros flexibles, adaptables: los períodos de autorización pueden ajustarse a los diferentes entornos del mercado.
Alta utilización del capital, con frecuencia ajusta la posición en función de la tendencia, manteniendo el capital plenamente utilizado.
También hay algunos riesgos con esta estrategia:
Los costos de negociación frecuentes: los cruces frecuentes pueden conducir a transacciones excesivas.
Las medias móviles pueden cruzarse varias veces en mercados agitados, causando pérdidas.
El ajuste de parámetros es crítico.
Los indicadores técnicos tienen una capacidad limitada para capturar eventos extremos.
Se pierde el apoyo/resistencia clave.
Para gestionar los riesgos, se pueden aplicar métodos como la optimización de parámetros, la adición de filtros, el stop loss, el tamaño de la posición basado en la evaluación del riesgo.
La estrategia de doble media móvil puede mejorarse en varios aspectos:
Optimizar los parámetros de MA para los mercados cambiantes. Probar diferentes combinaciones de MA a corto y largo plazo para encontrar la mejor opción para el entorno actual.
Añadir un filtro de volumen para evitar falsos brotes.
Incorporar otros indicadores para la validación de la señal.
Ajuste dinámico de la anchura de la parada de pérdida.
Optimizar la gestión del capital y determinar el tamaño de la posición en función del riesgo para limitar las pérdidas en operaciones individuales.
Usar una lógica de entrada diferente para tendencias frente a mercados de rango. endurecer las reglas de entrada en mercados agitados, esperando señales de alta convicción.
El doble cruce de promedios móviles es una estrategia muy típica y práctica de seguimiento de tendencias. Tiene las ventajas de una implementación fácil, seguimiento de tendencias, stop loss automático, maquillaje de operaciones perdedoras, etc., lo que lo hace muy adecuado para el comercio de posiciones a medio / largo plazo. También debemos prestar atención a los riesgos como el exceso de negociación y las señales falsas. Estos pueden mejorarse mediante el ajuste de parámetros, la adición de filtros y la administración adecuada del capital. Para los operadores que buscan montar la tendencia, esta es una estrategia simple pero sólida.
/*backtest start: 2023-09-01 00:00:00 end: 2023-09-30 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version =4 strategy("Moving Average Cross", overlay=true) ema20 = ema(close, 20) ema50 =ema(close, 50) long = ema20 > ema50 short = ema20 < ema50 longcondition = long and long[10] and not long[11] shortcondition = short and short[10] and not short[11] closelong = ema20 < ema50 and not long[11] closeshort = ema20 > ema50 and not short[11] plot(ema20, title="20", color=#00ffaa, linewidth=3) plot(ema50, title="50", color=#FFC1CC, linewidth=2) start = timestamp(2015,6,1,0,0) end = timestamp(2019,6,1,0,0) if true strategy.entry("Long" ,strategy.long, when = longcondition) strategy.entry("Short" ,strategy.short, when = shortcondition) strategy.close("Long", when = closeshort) strategy.close("Short", when = closelong)