
Strategi ini adalah sistem perdagangan yang menyesuaikan diri dengan gabungan Bollinger Bands dan indeks yang agak kuat RSI. Strategi ini mengenal pasti peluang perdagangan yang berpotensi melalui saluran harga Bollinger Bands dan isyarat overbought dan oversold RSI untuk menangkap trend dan turun naik pasaran. Strategi ini menggunakan standard deviation untuk menyesuaikan zon perdagangan secara dinamik dan menggabungkan tahap overbought dan oversold RSI untuk mengesahkan isyarat perdagangan, yang meningkatkan ketepatan perdagangan.
Inti strategi ini adalah untuk menangkap peluang turun naik di pasaran melalui Brinband, atas, tengah, bawah orbit digabungkan dengan RSI. Brinband adalah berdasarkan purata bergerak 20 kitaran, dan menggunakan 2 kali ganda perbezaan standard untuk mengira turun naik. RSI menggunakan pengiraan 14 kitaran, menetapkan 70 sebagai overbuy dan 30 sebagai oversell. Apabila harga menyentuh bawah dan RSI berada di kawasan oversell, sistem menghasilkan isyarat beli; apabila harga menyentuh laluan dan RSI berada di kawasan overbuy, sistem menghasilkan isyarat jual.
Strategi ini membina sistem perdagangan yang agak lengkap melalui penggunaan gabungan Brinband dan RSI. Kelebihan strategi adalah keupayaan untuk menyesuaikan diri dengan turun naik pasaran dan memberikan isyarat perdagangan yang boleh dipercayai, tetapi masih perlu memperhatikan kesan persekitaran pasaran terhadap prestasi strategi. Dengan arah pengoptimuman yang disyorkan, kestabilan dan kebolehpercayaan strategi dijangka meningkat lebih lanjut. Dalam aplikasi praktikal, peniaga disarankan untuk menyesuaikan nombor mengikut ciri-ciri pasaran tertentu, dan mengambil bahagian dalam keputusan perdagangan alat analisis teknikal lain.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands and RSI Strategy with Buy/Sell Signals", overlay=true)
// Input settings
bb_length = input.int(20, title="Bollinger Bands Length", minval=1)
bb_mult = input.float(2.0, title="Bollinger Bands Multiplier", minval=0.1)
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=50)
rsi_oversold = input.int(30, title="RSI Oversold Level", minval=1)
// Bollinger Bands calculation
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper_band = basis + dev
lower_band = basis - dev
// RSI calculation
rsi = ta.rsi(close, rsi_length)
// Buy signal: Price touches lower Bollinger Band and RSI is oversold
buy_signal = ta.crossover(close, lower_band) and rsi < rsi_oversold
// Sell signal: Price touches upper Bollinger Band and RSI is overbought
sell_signal = ta.crossunder(close, upper_band) and rsi > rsi_overbought
// Execute orders
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.close("Buy")
// Plotting Bollinger Bands and RSI
plot(upper_band, color=color.red, linewidth=2, title="Upper Band")
plot(lower_band, color=color.green, linewidth=2, title="Lower Band")
plot(basis, color=color.blue, linewidth=1, title="Middle Band")
hline(rsi_overbought, "Overbought", color=color.red, linestyle=hline.style_dashed)
hline(rsi_oversold, "Oversold", color=color.green, linestyle=hline.style_dashed)
plot(rsi, "RSI", color=color.orange)
// Add Buy/Sell signals on the chart
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")