Esta estratégia é um sistema de negociação quantitativo que combina o oscilador do acelerador (AC) e indicadores estocásticos. Captura as mudanças de momento do mercado identificando divergências entre os indicadores de preço e técnicos para prever potenciais inversões de tendência. A estratégia também incorpora médias móveis simples (SMA) e índice de força relativa (RSI) para melhorar a confiabilidade do sinal, com níveis fixos de take-profit e stop-loss para controle de risco.
A lógica básica é baseada na sinergia de vários indicadores técnicos. O AC é calculado usando a diferença entre os SMAs de 5 períodos e 34 períodos dos pontos médios dos preços, menos sua média móvel de N períodos. Os valores estocásticos K e D são calculados para confirmar sinais de divergência. A divergência alta se forma quando o preço faz novas baixas enquanto o AC sobe; a divergência baixa se forma quando o preço faz novas altas enquanto o AC cai. O RSI é incorporado como um indicador de confirmação adicional, usando a validação cruzada de vários indicadores para melhorar a precisão do sinal.
Esta é uma estratégia quantitativa de negociação que integra múltiplos indicadores técnicos, capturando pontos de virada do mercado através de sinais de divergência. Seus pontos fortes estão na validação cruzada de múltiplos indicadores e no sistema abrangente de controle de risco, enquanto deve ser dada atenção a falhas e otimização de parâmetros. Através de otimização e melhoria contínua, a estratégia mostra promessa para manter um desempenho estável em diferentes ambientes 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)