
This strategy is a comprehensive trading system that combines the Parabolic SAR indicator, SuperTrend indicator, and Volume Oscillator. The strategy confirms market trends through multiple technical indicators, enhancing trading signal reliability through cross-validation. The core design philosophy is to confirm signals across three dimensions: trend, momentum, and volume, only executing trades when all three dimensions show consistent signals.
The strategy employs three core indicators: 1. Parabolic SAR (Start 0.02, Acceleration 0.02, Maximum 0.2): Identifies trend reversal points. Bullish when price is above SAR points, bearish when below. 2. SuperTrend (Period 10, Multiplier 3): Generates dynamic trend channels using ATR volatility. Produces buy signals on upper band breakouts and sell signals on lower band breakouts. 3. Volume Oscillator (Short 14, Long 28): Measures trading activity by comparing short-term and long-term volume moving averages. Positive values indicate increasing volume, negative values indicate decreasing volume.
Signal Generation Logic: - Buy Condition: Price above SAR + Bullish SuperTrend (price above lower band) + Positive Volume Oscillator - Exit Condition: Price below SAR + Bearish SuperTrend (price below upper band) + Negative Volume Oscillator
This strategy builds a relatively complete trading system by combining trend following and volume analysis. Its main feature is using multiple indicator confirmation to enhance trading reliability while providing traders with intuitive decision references through visualization. Although it has certain lag and parameter sensitivity issues, the strategy has good practical value through proper optimization and risk control measures. Traders are advised to find suitable parameter combinations through backtesting before live trading and make flexible adjustments based on market experience.
//@version=5
strategy("Parabolic SAR + SuperTrend + Volume Oscillator Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// --- Parabolic SAR Parameters ---
sar_start = 0.02
sar_increment = 0.02
sar_max = 0.2
sar = ta.sar(sar_start, sar_increment, sar_max)
plot(sar, color=color.red, style=plot.style_cross, title="Parabolic SAR")
// --- SuperTrend Parameters ---
st_length = 10
st_multiplier = 3
[st_upper, st_lower] = ta.supertrend(st_length, st_multiplier)
st_color = close > st_upper ? color.green : color.red
plot(st_upper, color=color.new(st_color, 0), title="SuperTrend Upper")
plot(st_lower, color=color.new(st_color, 0), title="SuperTrend Lower")
fill(plot(st_upper), plot(st_lower), color=color.new(st_color, 90), title="SuperTrend Cloud")
// --- Volume Oscillator Parameters ---
vo_short_length = 14
vo_long_length = 28
vo = ta.ema(volume, vo_short_length) - ta.ema(volume, vo_long_length)
plot(vo, color=color.blue, title="Volume Oscillator")
// --- Buy and Sell Conditions ---
// Buy Condition:
// - Price is above Parabolic SAR
// - SuperTrend is bullish (price above SuperTrend lower line)
// - Volume Oscillator is positive (indicating increasing volume)
buyCondition = close > sar and close > st_lower and vo > 0
// Sell Condition:
// - Price is below Parabolic SAR
// - SuperTrend is bearish (price below SuperTrend upper line)
// - Volume Oscillator is negative (indicating decreasing volume)
sellCondition = close < sar and close < st_upper and vo < 0
// Plot Buy/Sell Signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// --- Execute Trades ---
if (buyCondition)
strategy.entry("Long", strategy.long)
if (sellCondition)
strategy.close("Long")