
Strategi ini adalah sistem perdagangan reversal tren multisignal yang menggabungkan tiga indikator teknis, yaitu indikator yang relatif kuat (RSI), indikator parasit (SAR), dan rata-rata bergerak sederhana (SMA). Gagasan inti dari strategi ini adalah untuk memperingatkan potensi peluang reversal melalui sinyal RSI overbought, kemudian menggunakan perubahan arah indikator SAR untuk mengkonfirmasi sinyal reversal, dan akhirnya menggunakan rata-rata bergerak sebagai referensi stop loss yang dinamis. Metode verifikasi multisignal ini dapat secara efektif mengurangi gangguan sinyal palsu dan meningkatkan keandalan perdagangan.
Mekanisme operasi strategi terdiri dari tiga langkah utama:
Strategi ini menggunakan RSI dan SAR untuk membangun sistem perdagangan reversal tren yang relatif andal. Penggunaan rata-rata bergerak sebagai alat pengendalian risiko dinamis memastikan pengendalian tren yang efektif dan kontrol dinamis risiko. Keuntungan utama dari strategi ini adalah verifikasi sinyal ganda dan aturan perdagangan yang jelas, tetapi dalam aplikasi praktis perlu memperhatikan identifikasi lingkungan pasar dan pengoptimalan dinamis parameter.
/*backtest
start: 2024-07-15 00:00:00
end: 2025-02-15 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/
//@version=5
strategy("SAR + RSI Strategy", overlay=true, margin_long=100, margin_short=100)
// ———————— SAR Parameters ————————
start = input(0.02, "SAR Start")
increment = input(0.02, "SAR Increment")
maximum = input(0.2, "SAR Maximum")
// ———————— RSI Parameters ————————
rsiLength = input(14, "RSI Length")
upperLevel = input(70, "RSI Upper Level")
lowerLevel = input(30, "RSI Lower Level")
// ———————— SMA Parameter ————————
smaLength = input(21, "SMA Exit Length")
// ———————— Indicators Calculation ————————
// SAR Calculation
sarValue = ta.sar(start, increment, maximum)
sarUp = sarValue < close
sarDown = sarValue > close
// RSI Calculation
rsi = ta.rsi(close, rsiLength)
rsiOverbought = ta.cross(rsi, upperLevel)
rsiOversold = ta.cross(rsi, lowerLevel)
// SMA Calculation
sma21 = ta.sma(close, smaLength)
// ———————— Entry Conditions ————————
longCondition =
// RSI oversold signal occurred in last 3 bars
(ta.barssince(rsiOversold) <= 3) and
// SAR reversal to bullish occurs now
sarUp and not sarUp[1]
shortCondition =
// RSI overbought signal occurred in last 3 bars
(ta.barssince(rsiOverbought) <= 3) and
// SAR reversal to bearish occurs now
sarDown and not sarDown[1]
// ———————— Exit Conditions ————————
exitLong = ta.crossunder(close, sma21)
exitShort = ta.crossover(close, sma21)
// ———————— Strategy Execution ————————
strategy.entry("Long", strategy.long, when=longCondition)
strategy.close("Long", when=exitLong)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Short", when=exitShort)
// ———————— Visualizations ————————
// plot(sarValue, "SAR", style=plot.style_circles, color=sarUp ? color.green : color.red)
// plot(sma21, "21 SMA", color=color.orange)