La estrategia de seguimiento de la volatilidad de la media móvil doble integra las ideas de las estrategias de seguimiento de la volatilidad de la media móvil y de la media móvil. Al calcular el cruce de promedios móviles simples (SMA) con diferentes períodos, se da cuenta de la cruz dorada y la cruz muerta para juzgar las tendencias. Mientras tanto, al combinar las bandas de Bollinger y el índice VIDYA, juzga las tendencias y la volatilidad del mercado, logrando una identificación de tendencias efectiva y una captura eficiente de los puntos de inflexión clave.
Los indicadores centrales de esta estrategia incluyen el promedio móvil simple (SMA), las bandas de Bollinger y el promedio dinámico del índice variable (VIDYA). La estrategia establece un SMA rápido y un LMA lento con diferentes períodos. La cruz de oro de las líneas rápidas y lentas sirve como la señal larga, mientras que la cruz de la muerte sirve como la señal de salida. Mientras tanto, monitorea la ruptura del precio por encima o por debajo de las bandas de Bollinger durante un período de retención.
Específicamente, la lógica de la señal larga se activa cuando la SMA rápida cruza la LMA lenta y el precio está por encima de la curva VIDYA, lo que indica una tendencia alcista y una expansión de la volatilidad.
La mayor ventaja de esta estrategia es la combinación de indicadores duales para evaluar las condiciones del mercado, mejorando la precisión de las decisiones.
En resumen, esta estrategia integra información de las dimensiones de tendencias, reversión y volatilidad.
Aunque esta estrategia tiene muchos méritos, todavía hay algunos riesgos a tener en cuenta:
Para mitigar los riesgos anteriores, se recomienda la optimización de parámetros, las reglas de prioridad entre las señales, el control del deslizamiento y las pruebas de robustez en diferentes entornos de mercado.
Las principales dimensiones de optimización están en el ajuste de parámetros y la configuración de las condiciones del filtro:
La combinación de optimización de parámetros y refinamiento de reglas podría mejorar aún más la estabilidad y la rentabilidad.
La estrategia de seguimiento de la volatilidad de la media móvil doble utiliza múltiples indicadores para determinar las condiciones del mercado, capturando los puntos de inflexión de la tendencia mientras se monitorean las situaciones de fluctuación de precios.
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Combined Golden Cross and Progressive Trend Tracker", shorttitle="GCC-PTT", overlay=true) // Inputs fastMA_period = input(50, title="Fast MA Period") slowMA_period = input(200, title="Slow MA Period") src = input(close, title="Source") lengthBB = input(20, title="Bollinger Bands Length") mult = input(2.0, title="Bollinger Bands Multiplier") mavType = input.string(title="Moving Average Type", defval="VAR", options=['SMA', 'EMA', 'WMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF']) // Calculate Moving Averages for Golden Cross fastMA = ta.sma(src, fastMA_period) slowMA = ta.sma(src, slowMA_period) bullish_cross = ta.crossover(fastMA, slowMA) bearish_cross = ta.crossunder(fastMA, slowMA) // Progressive Trend Tracker Components (Adjusted for NA assignment issue) Var_Func(src, length) => valpha = 2 / (length + 1) vud1 = src > src[1] ? src - src[1] : 0 vdd1 = src < src[1] ? src[1] - src : 0 vUD = math.sum(vud1, length) vDD = math.sum(vdd1, length) vCMO = (vUD - vDD) / (vUD + vDD) VAR = 0.0 // Adjusted here, assign an initial value VAR := ta.ema(src * math.abs(vCMO), length) VAR VAR = Var_Func(src, 14) // Example VAR calculation, adjust as needed // Bollinger Bands for dynamic support and resistance BBandTop = fastMA + mult * ta.stdev(src, lengthBB) BBandBot = fastMA - mult * ta.stdev(src, lengthBB) // Plotting plot(fastMA, color=color.blue, title="Fast MA") plot(slowMA, color=color.red, title="Slow MA") plot(BBandTop, color=color.green, title="Bollinger Band Top") plot(BBandBot, color=color.red, title="Bollinger Band Bottom") plot(VAR, color=color.purple, title="VAR", linewidth=2) // Strategy Logic (Adjusted for strategy use) // Long Entry when bullish cross and close above VAR // Exit when bearish cross or close below VAR if (bullish_cross and close > VAR) strategy.entry("CGC_PTT_Long", strategy.long) if (bearish_cross or close < VAR) strategy.close("CGC_PTT_Long")