Strategi ini menggabungkan Indeks Kekuatan Relatif (RSI) dan penunjuk teknikal Bollinger Bands. Ia menghasilkan isyarat beli apabila harga jatuh di bawah Bollinger Band yang lebih rendah dan isyarat jual apabila harga meningkat di atas Bollinger Band yang lebih tinggi. Strategi ini hanya mencetuskan isyarat perdagangan apabila kedua-dua penunjuk RSI dan Bollinger Bands secara serentak berada dalam keadaan oversold atau overbought.
RSI dan Bollinger Bands Double Strategy menggabungkan penunjuk trend dan momentum untuk memberikan penilaian yang agak komprehensif terhadap keadaan pasaran dan menghasilkan isyarat perdagangan yang sesuai. Walau bagaimanapun, strategi ini mungkin kurang berprestasi di pasaran yang bergolak dan tidak mempunyai langkah kawalan risiko, jadi berhati-hati diperlukan apabila menerapkannya untuk perdagangan langsung. Dengan mengoptimumkan parameter, memperkenalkan penunjuk lain, dan menetapkan tahap stop-loss dan mengambil keuntungan yang munasabah, kestabilan dan keuntungan strategi ini dapat ditingkatkan lagi.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Bollinger + RSI, Double Strategy (by ChartArt) v1.1", shorttitle="CA_-_RSI_Bol_Strat_1.1", overlay=true) // ChartArt's RSI + Bollinger Bands, Double Strategy - Update // // Version 1.1 // Idea by ChartArt on January 18, 2015. // // This strategy uses the RSI indicator // together with the Bollinger Bands // to sell when the price is above the // upper Bollinger Band (and to buy when // this value is below the lower band). // // This simple strategy only triggers when // both the RSI and the Bollinger Bands // indicators are at the same time in // a overbought or oversold condition. // // In this version 1.1 the strategy was // both simplified for the user and // made more successful in backtesting. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // // __ __ ___ __ ___ // / ` |__| /\ |__) | /\ |__) | // \__, | | /~~\ | \ | /~~\ | \ | // // ///////////// RSI RSIlength = input(14,title="RSI Period Length") RSIoverSold = 30 RSIoverBought = 70 price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(20, minval=1,title="Bollinger Period Length") BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close buyEntry = crossover(source, BBlower) sellEntry = crossunder(source, BBupper) plot(BBbasis, color=color.blue,title="Bollinger Bands SMA Basis Line") p1 = plot(BBupper, color=color.red,title="Bollinger Bands Upper Line") p2 = plot(BBlower, color=color.green,title="Bollinger Bands Lower Line") fill(p1, p2) // Entry conditions crossover_rsi = crossover(vrsi, RSIoverSold) and crossover(source, BBlower) crossunder_rsi = crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper) ///////////// RSI + Bollinger Bands Strategy if (not na(vrsi)) if (crossover_rsi) strategy.entry("RSI_BB_L", strategy.long, comment="RSI_BB_L") else strategy.cancel(id="RSI_BB_L") if (crossunder_rsi) strategy.entry("RSI_BB_S", strategy.short, comment="RSI_BB_S") else strategy.cancel(id="RSI_BB_S")