
Strategi ini adalah sistem perdagangan berbalik rata-rata yang menggabungkan Bollinger Bands dan indikator RSI yang relatif kuat. Strategi ini digunakan untuk menentukan waktu perdagangan dengan mengidentifikasi kondisi ekstrim di mana harga menyimpang dari rata-rata, dan menggabungkan sinyal RSI overbought dan oversold.
Logika inti dari strategi ini didasarkan pada karakteristik kemunduran rata-rata di pasar keuangan. Dalam implementasinya, strategi ini menggunakan rata-rata rata-rata bergerak sederhana 20-hari (SMA) sebagai referensi rata-rata, dengan standar deviasi kali 2.0 untuk menghitung bandwidth Brin. Strategi ini juga memperkenalkan RSI 14-hari sebagai indikator tambahan, dengan setelan 70 dan 30 sebagai ambang batas overbought dan oversold.
Strategi ini menggunakan sinergi antara Brin dan RSI untuk membangun sistem perdagangan yang stabil dan berbalik pada nilai rata-rata. Strategi ini dirancang dengan baik, memiliki skalabilitas dan fleksibilitas yang baik. Dengan terus-menerus mengoptimalkan dan menyempurnakan, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*backtest
start: 2024-11-19 00:00:00
end: 2024-12-18 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Mean Reversion Strategy", overlay=true)
// User Inputs
length = input.int(20, title="SMA Length") // Moving Average length
stdDev = input.float(2.0, title="Standard Deviation Multiplier") // Bollinger Band deviation
rsiLength = input.int(14, title="RSI Length") // RSI calculation length
rsiOverbought = input.int(70, title="RSI Overbought Level") // RSI overbought threshold
rsiOversold = input.int(30, title="RSI Oversold Level") // RSI oversold threshold
// Bollinger Bands
sma = ta.sma(close, length) // Calculate the SMA
stdDevValue = ta.stdev(close, length) // Calculate Standard Deviation
upperBand = sma + stdDev * stdDevValue // Upper Bollinger Band
lowerBand = sma - stdDev * stdDevValue // Lower Bollinger Band
// RSI
rsi = ta.rsi(close, rsiLength) // Calculate RSI
// Plot Bollinger Bands
plot(sma, color=color.orange, title="SMA") // Plot SMA
plot(upperBand, color=color.red, title="Upper Bollinger Band") // Plot Upper Band
plot(lowerBand, color=color.green, title="Lower Bollinger Band") // Plot Lower Band
// Plot RSI Levels (Optional)
hline(rsiOverbought, "Overbought Level", color=color.red, linestyle=hline.style_dotted)
hline(rsiOversold, "Oversold Level", color=color.green, linestyle=hline.style_dotted)
// Buy and Sell Conditions
buyCondition = (close < lowerBand) and (rsi < rsiOversold) // Price below Lower Band and RSI Oversold
sellCondition = (close > upperBand) and (rsi > rsiOverbought) // Price above Upper Band and RSI Overbought
// Execute Strategy
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Optional: Plot Buy/Sell Signals
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")