Esta estrategia es un sistema de negociación cuantitativo que combina el oscilador acelerador (AC) y los indicadores estocásticos. Captura los cambios de impulso del mercado mediante la identificación de divergencias entre los indicadores de precio y técnicos para predecir posibles inversiones de tendencia. La estrategia también incorpora promedios móviles simples (SMA) e índice de fuerza relativa (RSI) para mejorar la confiabilidad de la señal, con niveles fijos de toma de ganancias y stop-loss para el control de riesgos.
La lógica central se basa en la sinergia de múltiples indicadores técnicos. El AC se calcula utilizando la diferencia entre los SMA de 5 períodos y 34 períodos de los puntos medios de precios, menos su promedio móvil de N períodos. Los valores estocásticos K y D se calculan para confirmar las señales de divergencia.
Esta es una estrategia comercial cuantitativa que integra múltiples indicadores técnicos, capturando puntos de inflexión del mercado a través de señales de divergencia. Sus fortalezas se encuentran en la validación cruzada de múltiples indicadores y un sistema integral de control de riesgos, mientras que se debe prestar atención a las fallas y la optimización de parámetros. A través de la optimización y mejora continuas, la estrategia muestra promesa para mantener un rendimiento estable en diferentes entornos de mercado.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © JayQwae //@version=5 strategy("Enhanced AC Divergence Strategy with Stochastic Divergence", overlay=true) // Input settings tp_pips = input.float(0.0020, "Take Profit (in price)", step=0.0001) sl_pips = input.float(0.0040, "Stop Loss (in price)", step=0.0001) // 40 pips ac_length = input.int(5, "AC Length") rsi_length = input.int(14, "RSI Length") stoch_k = input.int(14, "Stochastic K Length") stoch_d = input.int(3, "Stochastic D Smoothing") stoch_ob = input.float(80, "Stochastic Overbought Level") stoch_os = input.float(20, "Stochastic Oversold Level") // Accelerator Oscillator Calculation high_low_mid = (high + low) / 2 ao = ta.sma(high_low_mid, 5) - ta.sma(high_low_mid, 34) ac = ao - ta.sma(ao, ac_length) // RSI Calculation rsi = ta.rsi(close, rsi_length) // Stochastic Oscillator Calculation k = ta.sma(ta.stoch(close, high, low, stoch_k), stoch_d) d = ta.sma(k, stoch_d) // Stochastic Divergence Detection stoch_bull_div = ta.lowest(close, 5) < ta.lowest(close[1], 5) and ta.lowest(k, 5) > ta.lowest(k[1], 5) stoch_bear_div = ta.highest(close, 5) > ta.highest(close[1], 5) and ta.highest(k, 5) < ta.highest(k[1], 5) // Main Divergence Detection bullish_div = ta.lowest(close, 5) < ta.lowest(close[1], 5) and ac > ac[1] and stoch_bull_div bearish_div = ta.highest(close, 5) > ta.highest(close[1], 5) and ac < ac[1] and stoch_bear_div // Plot divergences plotshape(bullish_div, title="Bullish Divergence", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(bearish_div, title="Bearish Divergence", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) // Strategy rules if (bullish_div) strategy.entry("Buy", strategy.long) strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + tp_pips, stop=close - sl_pips) if (bearish_div) strategy.entry("Sell", strategy.short) strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - tp_pips, stop=close + sl_pips) // Alerts if (bullish_div) alert("Bullish Divergence detected! Potential Buy Opportunity", alert.freq_once_per_bar) if (bearish_div) alert("Bearish Divergence detected! Potential Sell Opportunity", alert.freq_once_per_bar)