Chiến lược này kết hợp các chỉ số kỹ thuật Relative Strength Index (RSI) và Bollinger Bands. Nó tạo ra tín hiệu mua khi giá giảm xuống dưới Bollinger Band dưới và bán tín hiệu khi giá tăng lên trên Bollinger Band trên. Chiến lược chỉ kích hoạt tín hiệu giao dịch khi cả chỉ số RSI và Bollinger Bands đồng thời ở trạng thái bán quá hoặc mua quá.
Chiến lược RSI và Bollinger Bands Double Strategy kết hợp các chỉ số xu hướng và động lực để cung cấp đánh giá tương đối toàn diện về điều kiện thị trường và tạo ra các tín hiệu giao dịch tương ứng. Tuy nhiên, chiến lược có thể hoạt động kém hơn ở các thị trường hỗn loạn và thiếu các biện pháp kiểm soát rủi ro, do đó cần thận trọng khi áp dụng nó để giao dịch trực tiếp. Bằng cách tối ưu hóa các tham số, giới thiệu các chỉ số khác và thiết lập mức dừng lỗ và lấy lợi nhuận hợp lý, sự ổn định và lợi nhuận của chiến lược này có thể được cải thiện hơn nữa.
/*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")