
Strategi ini adalah sistem perdagangan berbalik rata-rata yang digabungkan dengan Bollinger Bands dan indikator RSI yang agak kuat. Strategi ini digunakan untuk menentukan masa perdagangan dengan mengenal pasti keadaan yang melampau di mana harga menyimpang dari nilai rata-rata, dan digabungkan dengan isyarat overbought dan oversold RSI. Isyarat plus dihasilkan apabila harga menembusi Bollinger Bands dan RSI berada di kawasan oversold, dan isyarat kosong dihasilkan apabila harga menembusi Bollinger Bands dan RSI berada di kawasan oversold.
Logik teras strategi ini adalah berdasarkan ciri-ciri pulangan rata-rata pasaran kewangan. Dalam penerapan khusus, penggunaan purata bergerak mudah 20-hari ((SMA) sebagai rujukan rata-rata, penggandaan standard deviasi 2.0 untuk mengira lebar jalur Brining. Di samping itu, pengenalan RSI 14 hari sebagai petunjuk tambahan, menetapkan 70 dan 30 sebagai paras paras overbought dan oversold.
Strategi ini membina sistem perdagangan pulangan rata-rata yang kukuh melalui sinergi antara Brin dan RSI. Strategi ini direka dengan wajar, mempunyai skalabiliti dan kemampuan yang baik. Dengan pengoptimuman dan penyempurnaan yang berterusan, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.
/*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")