Esta estratégia é um sistema de negociação baseado em relações de divergência entre o indicador SAR parabólico e o movimento dos preços. Ao monitorar fenômenos de divergência entre o indicador SAR e as tendências de preços, ele identifica pontos de reversão de tendência potenciais para capturar oportunidades de mudança de mercado. A estratégia emprega o indicador SAR parabólico clássico como seu indicador técnico principal, combinado com métodos de análise de divergência para construir um sistema de negociação completo seguindo a tendência.
A lógica central inclui vários elementos-chave:
Esta é uma estratégia de seguimento de tendências baseada em indicadores técnicos clássicos, capturando pontos de virada do mercado através da análise de divergência. O projeto da estratégia é claro, os métodos de implementação são concisos e tem boa operabilidade. No entanto, na aplicação prática, ainda precisa de otimização de acordo com características específicas do mercado, especialmente em aspectos de controle de risco.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SAR Divergence Strategy", overlay=true) // --- Inputs --- length = input.int(14, title="SAR Length", minval=1) accelerationFactor = input.float(0.02, title="Acceleration Factor", minval=0.01) maximumFactor = input.float(0.2, title="Maximum Factor", minval=0.01) // --- SAR Calculation --- sar = ta.sar(length, accelerationFactor, maximumFactor) // --- Divergence Detection --- lookback = 5 // Bullish Divergence bullCond = close[lookback] < close[lookback + 1] and sar[lookback] > sar[lookback + 1] // Bearish Divergence bearCond = close[lookback] > close[lookback + 1] and sar[lookback] < sar[lookback + 1] // --- Strategy Logic --- if (bullCond) strategy.entry("Long", strategy.long) if (bearCond) strategy.entry("Short", strategy.short) // --- Plotting --- plot(sar, color=color.blue, linewidth=2, title="Parabolic SAR") plotshape(bullCond, style=shape.triangleup, color=color.green, size=size.small, title="Bullish Divergence") plotshape(bearCond, style=shape.triangledown, color=color.red, size=size.small, title="Bearish Divergence") // --- Alerts --- alertcondition(bullCond, title="Bullish SAR Divergence", message="Bullish Divergence detected") alertcondition(bearCond, title="Bearish SAR Divergence", message="Bearish Divergence detected")