Bollinger Bands + Chiến lược dài gấp đôi RSI
Chiến lược này kết hợp chỉ số Bollinger Bands và chỉ số RSI để đi dài khi cả hai cho thấy tín hiệu bán quá mức và đóng vị trí dài khi cả hai cho thấy tín hiệu mua quá mức.
Chiến lược này kết hợp các điểm mạnh của Bollinger Bands và chỉ số RSI để giao dịch khi cả hai đều hiển thị cực đoan. Điều này tránh các tín hiệu sai từ một chỉ số duy nhất và cải thiện độ chính xác tín hiệu. So với các phiên bản trước, chỉ thiết lập các vị trí dài làm giảm rủi ro giao dịch.
/*backtest start: 2023-11-30 00:00:00 end: 2023-12-07 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Bollinger + RSI, Double Strategy Long-Only (by ChartArt) v1.2", shorttitle="CA_-_RSI_Bol_Strat_1.2", overlay=true) // ChartArt's RSI + Bollinger Bands, Double Strategy UPDATE: Long-Only // // Version 1.2 // Idea by ChartArt on October 4, 2017. // // This strategy uses the RSI indicator // together with the Bollinger Bands // to buy when the price is below the // lower Bollinger Band (and to close the // long trade when this value is above // the upper Bollinger band). // // This simple strategy only longs when // both the RSI and the Bollinger Bands // indicators are at the same time in // a oversold condition. // // In this new version 1.2 the strategy was // simplified by going long-only, which made // it 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 long = (crossover(vrsi, RSIoverSold) and crossover(source, BBlower)) close_long = (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)) if (not na(vrsi)) if long strategy.entry("RSI_BB", strategy.long, stop=BBlower, comment="RSI_BB") else strategy.cancel(id="RSI_BB") if close_long strategy.close("RSI_BB") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)