
Chiến lược này sử dụng dấu chéo của chỉ số RSI với đường trung bình của nó như một tín hiệu giao dịch, thuộc chiến lược chỉ số động lực phổ biến. Nguyên tắc cốt lõi của nó là theo dõi chênh lệch giữa chỉ số RSI và đường trung bình di chuyển đơn giản của RSI là SMA_RSI, sau đó tính toán đường trung bình di chuyển đơn giản của SMA_RSI2 cho chênh lệch này.
Chiến lược này sử dụng 3 tham số để tính toán chỉ số RSI với trung bình di chuyển đơn giản của hai chu kỳ khác nhau của nó. Đầu tiên, tính toán chỉ số RSI thông thường với chu kỳ là length. Sau đó, tính toán trung bình di chuyển đơn giản của chu kỳ length2 của RSI là SMA_RSI. Cuối cùng, tính toán độ chênh lệch giữa RSI và SMA_RSI, sau đó tính toán trung bình di chuyển đơn giản của chu kỳ length3 là SMA_RSI2.
Như vậy, nó tạo thành một tín hiệu chiến lược giao dịch dựa trên đường trung bình của chỉ số RSI. Vì SMA_RSI2 là đường trung bình của giá trị chênh lệch delta, nó có thể phản ánh động lực và xu hướng thay đổi của chỉ số RSI, nắm bắt được bản chất của chỉ số RSI.
Chiến lược này kết hợp lợi thế của chỉ số RSI với đường cân bằng của nó, có thể tuân theo xu hướng giá và tránh bị lừa bởi tiếng ồn. Sử dụng suy nghĩ của giá trị chênh lệch delta và mịn, làm cho tín hiệu giao dịch rõ ràng hơn. Nhìn chung, chiến lược này có sự rút lui nhỏ và lợi nhuận ổn định.
Những ưu điểm cụ thể là:
Chiến lược này cũng có một số rủi ro, đặc biệt là:
Có thể cải thiện ở những khía cạnh sau:
Chiến lược này nói chung là đơn giản và phổ biến, bằng cách tính toán chênh lệch, tăng tính thực tế của chỉ số RSI, sử dụng giao thoa ngang hàng để phán đoán, có khả năng kiểm soát rút lui mạnh mẽ, là một chiến lược chỉ số động lực rất thực tế.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy ("RSI&SMA", overlay=false )
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end = timestamp((9999), (1), (1), 0, 0)
_testPeriod() => true
length = input(3, minval=1, title = "RSI period")
length2 = input(21, minval=1, title = "RSI SMA-1")
length3 = input(13, minval=1, title = "RSI SMA-2")
threshold = input(0,step=0.5, title="Threshold")
filter = input(false, title="Use filter?")
up = rma (max (change (close), 0), length)
down = rma (-min (change (close), 0), length)
RSI = down == 0? 100: up == 0? 0: 100-100 / (1 + up / down)
SMA_RSI = sma(RSI, length2)
delta = RSI-SMA_RSI
SMA_RSI2 = sma(delta, length3)
Long = crossover(SMA_RSI2, threshold)
Short = crossunder(SMA_RSI2, threshold)
plot(threshold, color=color.silver)
plot(SMA_RSI2, color= SMA_RSI2 > 0 ? color.blue : color.purple)
//plot(SMA_RSI, color=color.green)
//plot(delta, color=color.red)
long_condition = Long and (filter ? close > ema(close, 200) : true) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = Short
strategy.close('BUY', when=short_condition)