
Chiến lược giao dịch RSI là một chiến lược giao dịch định lượng kết hợp các chỉ số tương đối mạnh (RSI) và đường trung bình di chuyển. Chiến lược này sử dụng chỉ số RSI để xác định tình trạng mua quá mức giá trị chứng khoán và kết hợp RSI với đường trung bình của nó để xác định vị trí bullish hoặc bearish.
RSI được tính dựa trên sự tăng/giảm trong một khoảng thời gian, bằng cách so sánh mức tăng/giảm trung bình khi đóng cửa với mức giảm trung bình khi đóng cửa, để xác định xem chứng khoán có bị mua quá mức hay bán quá mức không.
Tính trung bình di chuyển MA của chỉ số RSI. Sử dụng chỉ số trung bình di chuyển EMA hoặc trung bình di chuyển đơn giản SMA.
Khi chỉ số RSI trên đi qua đường trung bình di chuyển của nó, tạo ra một tín hiệu giao chéo vàng, làm nhiều; khi chỉ số RSI dưới đi qua đường trung bình di chuyển của nó, tạo ra một tín hiệu chết, làm trống.
Khi RSI cao hơn đường mua quá mức, coi chứng khoán là mua quá mức, giảm giá; khi RSI thấp hơn đường bán quá mức, coi chứng khoán là bán quá mức, làm nhiều hơn.
Kết hợp các chỉ số với tín hiệu chéo đường trung bình, tránh chỉ dựa vào một chỉ số, tăng độ chính xác của quyết định.
Sử dụng chỉ số RSI để đánh giá thời gian mua quá mức, thiết lập đường mua quá mức, xác định thời gian đặt và dừng lỗ.
Sử dụng các chỉ số và đường trung bình để thực hiện nhiều giao dịch nhị phân, bạn có thể nắm bắt được các điểm biến động của thị trường.
Chỉ số RSI có thể tạo ra các tín hiệu sai trong tình huống dao động.
RSI có thể được điều chỉnh dựa trên phán đoán mua quá mức và bán quá mức, và nếu không được thiết lập đúng cách, nó có thể dẫn đến quá nhẹ hoặc quá nghiêm ngặt.
Hệ thống đường trung bình quá nhạy cảm với biến động bất thường ngắn hạn và có thể bị chặn.
Điều chỉnh tham số RSI để tìm tham số chiều dài tối ưu.
Tối ưu hóa tham số trung bình di chuyển để tìm chu kỳ trung bình tốt nhất.
Kiểm tra các tham số khác nhau của đường mua bán và tối ưu hóa cơ hội đặt hàng.
Kết hợp với các chỉ số khác để lọc tín hiệu và tránh giao dịch sai.
Chỉ số RSI và chiến lược giao dịch chéo đường trung bình, sử dụng RSI để đánh giá giao dịch mua bán và giao dịch mua bán với tín hiệu giao dịch chéo đường trung bình di chuyển, có thể đánh giá hiệu quả khu vực thị trường nóng, nắm bắt cơ hội đảo ngược tại các điểm quan trọng. Bằng cách tối ưu hóa tham số và lọc tín hiệu, bạn có thể cải thiện hiệu suất chiến lược và giảm rủi ro giao dịch. Chiến lược này phù hợp với các nhà giao dịch đường ngắn trung bình, có thể cung cấp lợi nhuận vượt trội tốt hơn.
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//dfurrer45
strategy(title="Relative Strength Index", shorttitle="RSI", overlay=true)
src = close, len = input(13, minval=1, title="Length"), maLen = input(9, minval=1, title="MA Lenght"), exponential = input(false, title="Exponential")
// === BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1)
FromDay = input(defval = 3, title = "From Day", minval = 1)
FromYear = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 2014)
// === BACKTEST END ===
backtestdaterange = (time > timestamp(FromYear, FromMonth, FromDay, 00, 00))
rsioverbought = input(90, minval=1, title="RSI % start overbought")
rsioversold = input(10, minval=1, title="RSI % start oversold")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = exponential ? ema(rsi, maLen) : sma(rsi, maLen)
rsimacrossup = cross(rsi,ma) and rsi > ma
rsimacrossdown = cross(rsi,ma) and rsi < ma
plotchar(rsimacrossup, char='⇧', location = location.belowbar, color = green, text = "", textcolor = green, size=size.small)
plotchar(rsimacrossdown, char='⇩', location = location.abovebar, color = red, text = "", textcolor = red, size=size.small)
plotchar(rsi > rsioverbought, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
plotchar(rsi < rsioversold, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
closetrade = rsimacrossup or rsimacrossdown
strategy.close_all(closetrade)
strategy.close_all((rsi > rsioverbought) or (rsi < rsioversold))
strategy.entry("Short Overbought",strategy.short, when=(rsi > rsioverbought) and backtestdaterange)
strategy.entry("Buy Overbought",strategy.long, when=(rsi < rsioversold) and backtestdaterange)
strategy.entry("Long Cross", strategy.long, when=rsimacrossup and backtestdaterange)
strategy.entry("Short Cross", strategy.short, when=rsimacrossdown and backtestdaterange)