
Chiến lược kết hợp Bollinger Bands với chỉ số tương đối mạnh (RSI) là một chiến lược phân tích kỹ thuật kết hợp hai chỉ số kỹ thuật phổ biến: Bollinger Bands và RSI để đưa ra quyết định đi vào và ra khỏi thị trường. Chiến lược này sử dụng giá phá vỡ Bollinger Bands và tín hiệu bán tháo của RSI để xác định cơ hội giao dịch.
Chiến lược này sử dụng hai chỉ số kỹ thuật Brin và RSI để tạo ra tín hiệu giao dịch:
Băng Burin bao gồm ba đường: đường trung ương ((Moving Average), đường trung ương ((Middle plus Standard Difference) và đường trung ương ((Middle minus Standard Difference)). Khi giá phá vỡ đường trung ương Burin, nó sẽ tạo ra tín hiệu giao dịch.
RSI đo lường tốc độ và mức độ biến động của giá, bằng cách so sánh tỷ lệ số ngày giá tăng so với số ngày giá giảm trong một khoảng thời gian. RSI được sử dụng để lọc tín hiệu giao dịch được tạo ra bởi các dải thác: chỉ làm nhiều khi RSI thấp hơn mức bán quá mức và chỉ làm trống khi RSI cao hơn mức mua quá mức.
Cụ thể, các tín hiệu giao dịch cho chiến lược này là:
Chiến lược kết hợp RSI và BRI là một chiến lược giao dịch kỹ thuật đơn giản và thực tế, tạo ra tín hiệu giao dịch tương đối đáng tin cậy bằng cách kết hợp hai chỉ số cổ điển BRI và RSI. Ưu điểm của chiến lược này là rõ ràng về mặt logic, dễ hiểu và thực hiện, đồng thời sử dụng chỉ số RSI để lọc tín hiệu BRI và cải thiện chất lượng tín hiệu. Tuy nhiên, chiến lược này cũng có một số hạn chế, chẳng hạn như không phù hợp với môi trường thị trường, thiếu sự cân nhắc về các yếu tố cơ bản.
/*backtest
start: 2023-03-15 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands & RSI Strategy", overlay=true)
// Bollinger Bands Parameters
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
// RSI Parameters
rsi_length = input.int(14, minval=1)
rsi_oversold = input.int(30, minval=1, maxval=100)
rsi_overbought = input.int(70, minval=1, maxval=100)
// Strategy Entry
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
rsi = ta.rsi(source, rsi_length)
if (ta.crossover(source, lower) and rsi < rsi_oversold)
strategy.entry("BBandLE", strategy.long, comment="BBandLE")
else
strategy.cancel(id="BBandLE")
if (ta.crossunder(source, upper) and rsi > rsi_overbought)
strategy.entry("BBandSE", strategy.short, comment="BBandSE")
else
strategy.cancel(id="BBandSE")