La Estrategia cuantitativa de la media móvil doble es una estrategia de comercio cuantitativa basada en indicadores técnicos. Determina las tendencias del mercado mediante el cálculo de dos promedios móviles de diferentes períodos y permite el comercio de bajo riesgo. Cuando el promedio móvil de período más corto cruza por encima del promedio móvil de período más largo, se genera una señal de cruz dorada para ir largo. Cuando el promedio móvil más corto cruza por debajo del más largo, se genera una señal de cruz de muerte para ir corto.
La estrategia cuantitativa de la doble media móvil de la Cruz Dorada se basa en la teoría de la media móvil. Las medias móviles pueden filtrar eficazmente el ruido del mercado e indicar las direcciones de tendencia a largo plazo. Cuando la media móvil de período más corto cruza por encima de la media móvil de período más largo, indica una reversión al alza del mercado y es una señal de compra. Cuando la media móvil más corta cruza por debajo de la más larga, indica una reversión a la baja y es una señal de venta. Esta estrategia establece dos grupos de medias móviles: la primera son las medias móviles de 2 y 3 días, y la segunda es la media móvil de 420 días.
La lógica clave del código de estrategia es:
Los principios específicos son los siguientes:
Captura oportunidades de reversión de tendencia después de ajustes a corto plazo mediante la determinación de puntos de inflexión con cruces de media móvil dobles y establece filtros de parámetros para evitar operaciones erróneas.
La estrategia cuantitativa de doble media móvil Golden Cross tiene las siguientes ventajas:
La estrategia cuantitativa de doble media móvil Golden Cross también presenta los siguientes riesgos:
Para reducir los riesgos se pueden utilizar los siguientes métodos:
La estrategia cuantitativa de doble media móvil de la Cruz de Oro también puede optimizarse en los siguientes aspectos:
Optimización de parámetros: Ajustar los parámetros de los indicadores de media móvil y del canal para seleccionar la combinación óptima de parámetros.
Selección del tiempo: Elegir los parámetros de media móvil más adecuados basados en las diferentes características del producto.
Optimización de la estrategia de stop loss: Configurar paradas dinámicas, paradas traseras, etc. para evitar paradas de retroceso.
Optimización de operaciones direccionales: Incorporar indicadores de tendencia y adoptar operaciones de seguimiento de tendencia para evitar la negociación de contratrend.
Combinación de aprendizaje automático: utilizar LSTM, RNN y otros modelos de aprendizaje profundo para ayudar a juzgar la calidad de la señal y determinar el momento de entrada.
La estrategia cuantitativa de doble media móvil de la Cruz Dorada determina las tendencias de precios a corto plazo a través del principio simple de cruces de media móvil. El ajuste de indicadores de canal filtra eficazmente las señales falsas. La estrategia tiene una lógica sencilla y es fácil de implementar. Los ajustes de parámetros flexibles son posibles con un rendimiento relativamente bueno validado en el comercio en vivo. Es una estrategia cuantitativa recomendada que se puede actualizar a través de optimización de parámetros, optimización de pérdidas de parada, aprendizaje automático y más para lograr un rendimiento aún mejor.
/*backtest start: 2023-12-24 00:00:00 end: 2023-12-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Indicator420 by SeaSide420 strategy("Indicator420 strategy", overlay=true) q=input(title="HullMA",defval=420) z=input(title="HullMA cross",defval=3) a=input(title="VWMA",defval=14) rvwma=vwma(close,round(a)) rvwma2=vwma(close,round(a*2)) rvwma3=vwma(close,round(a*3)) n2ma=2*wma(close,round(z/2)) nma=wma(close,z) diff=n2ma-nma sqn=round(sqrt(z)) n2ma1=2*wma(close[1],round(z/2)) nma1=wma(close[1],z) diff1=n2ma1-nma1 sqn1=round(sqrt(z)) n2ma2=2*wma(close[2],round(q/2)) nma2=wma(close[2],q) diff2=n2ma2-nma2 sqn2=round(sqrt(q)) n1=wma(diff,sqn) n2=wma(diff1,sqn) n3=wma(diff2,sqn) b=n1>n2?red:lime c=n1>n2?green:red d=n3>rvwma3?red:green e=rvwma2>rvwma3?green:red f=n1>n2?red:green //plot(rvwma3, color=e, linewidth=1) plot(cross(rvwma, rvwma2) ? rvwma : na, style = line,color=e, linewidth = 1) plot(cross(n1, n2) ? n1 : na, style = line,color=b, linewidth = 3) plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4) closelong = n1<n2 if (closelong) strategy.close("Long") closeshort = n1>n2 if (closeshort) strategy.close("Short") longCondition = n1>n2 and strategy.opentrades<1 and n1<rvwma3 if (longCondition) strategy.entry("Long",strategy.long) shortCondition = n1<n2 and strategy.opentrades<1 and n1>rvwma3 if (shortCondition) strategy.entry("Short",strategy.short)