Chiến lược này kết hợp Bollinger Bands với chỉ số RSI (Relative Strength Index). Nó đòi hỏi tín hiệu từ cả hai chỉ số - RSI mua quá mức / bán quá mức cùng với việc phá vỡ các đường trên / dưới của Bollinger Bands - trước khi phát hành bất kỳ tín hiệu giao dịch nào. Điều này làm cho các tín hiệu của chiến lược trở nên nghiêm ngặt và đáng tin cậy hơn.
Bằng cách yêu cầu sự đồng ý của cả hai Bollinger Bands và RSI, chiến lược này tránh hành động dựa trên các tín hiệu gây hiểu nhầm từ một chỉ số duy nhất, do đó đáng tin cậy hơn.
Để giải quyết các rủi ro trên, các thông số nên được tối ưu hóa, các mô hình phải được kiểm tra nghiêm ngặt và các xu hướng chính được xác định bằng các chỉ số bổ sung.
Chiến lược này kết hợp thành công các điểm mạnh của Bollinger Bands và RSI, chỉ phát ra tín hiệu giao dịch khi cả hai chỉ số đều đồng ý. Điều này tránh hành động dựa trên các tín hiệu gây hiểu nhầm từ bất kỳ chỉ số nào, làm cho giao dịch đáng tin cậy hơn. Tuy nhiên, các thông số nên được tối ưu hóa, các mô hình được kiểm tra nghiêm ngặt và các xu hướng chính được xác định với các chỉ số khác, để tăng thêm sự ổn định và lợi nhuận của chiến lược.
/*backtest start: 2023-11-25 00:00:00 end: 2023-12-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 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(6,title="RSI Period Length") RSIoverSold = 50 RSIoverBought = 50 price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(200, minval=1,title="Bollinger Period Length") BBmult = 2 // 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=aqua,title="Bollinger Bands SMA Basis Line") p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line") p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line") fill(p1, p2) ///////////// Colors switch1=input(true, title="Enable Bar Color?") switch2=input(true, title="Enable Background Color?") TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na barcolor(switch1?TrendColor:na) bgcolor(switch2?TrendColor:na,transp=50) ///////////// RSI + Bollinger Bands Strategy if (not na(vrsi)) if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower)) strategy.entry("RSI_BB_L", strategy.long, stop=BBlower, comment="RSI_BB_L") else strategy.cancel(id="RSI_BB_L") if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)) strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="RSI_BB_S") else strategy.cancel(id="RSI_BB_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)