
Chiến lược này được thiết kế dựa trên chỉ số RSI Linear Regression. Chiến lược này tạo ra tín hiệu mua và bán bằng cách tính toán chéo của RSI và EMA Linear Regression. Chiến lược này đồng thời cung cấp hai lựa chọn logic mua, có thể được lựa chọn theo nhu cầu.
Chiến lược đầu tiên tính toán sự hồi phục tuyến tính với độ dài 200 chu kỳ, sau đó tính toán RSI với 21 chu kỳ dựa trên kết quả của sự hồi phục tuyến tính. Sau đó tính toán EMA với độ dài 50 chu kỳ. Khi RSI vượt qua EMA, nó tạo ra tín hiệu mua, và khi RSI vượt qua EMA, nó tạo ra tín hiệu bán.
Chiến lược này cung cấp hai logic mua:
Bạn có thể chọn cách mua dựa trên thị trường.
Chiến lược này kết hợp lợi thế của RSI và EMA với sự hồi phục tuyến tính để có thể loại bỏ một phần tiếng ồn giá thành hiệu quả và tạo ra tín hiệu giao dịch đáng tin cậy hơn.
RSI có thể phản ánh tốt hơn xu hướng và EMA có thể giúp phát hiện điểm đảo ngược. Sự kết hợp của cả hai có thể tìm kiếm cơ hội đảo ngược trong xu hướng và tạo ra chiến lược đảo ngược trung bình.
Chiến lược này cung cấp hai loại logic mua có thể lựa chọn, có thể điều chỉnh linh hoạt hơn theo giai đoạn thị trường. Ví dụ, bạn có thể chọn logic đầu tiên khi xu hướng rõ ràng và logic thứ hai khi có biến động.
Chiến lược này phụ thuộc chủ yếu vào mối quan hệ giữa RSI và EMA, và nếu mối quan hệ giữa hai điều này thay đổi, sẽ dẫn đến tín hiệu giao dịch bị lỗi. Đây là điểm rủi ro chính.
Ngoài ra, RSI và EMA cũng có thể bị tụt hậu, có thể dẫn đến sự chậm trễ của mua và bán, không thể nắm bắt hoàn hảo các điểm biến. Điều này cũng mang lại một số rủi ro thực tế.
Để giảm rủi ro, các tham số chiều dài của RSI và EMA có thể được điều chỉnh thích hợp, tối ưu hóa sự phối hợp giữa cả hai.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Chiến lược này được thiết kế dựa trên RSI và EMA quay trở lại tuyến tính, một chiến lược quay trở lại có nghĩa là tìm kiếm cơ hội đảo ngược trong phạm vi cân bằng bằng sự giao thoa của RSI và EMA. Chiến lược này đồng thời cung cấp hai lựa chọn logic mua có thể đáp ứng linh hoạt với các tình huống thị trường khác nhau.
/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Linear RSI")
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end = timestamp(input(9999, "End Year"), input(1, "Month"), input(1, "Day"), 0, 0)
_testPeriod() => true
//inputs
length = input(defval=200, minval=1, title="LR length")
length2 = input(defval=21, minval=1, title="RSI length")
ema_fast = input(defval=50, minval=1, title="EMA")
lag = 0
overBought = input(50)
overSold = input(50)
//rsi
src = close
Lr = linreg(src, length, lag)
rsi = rsi(Lr, length2)
ema = ema(rsi, ema_fast)
plot(rsi, color = rsi > overBought ? color.green : rsi < overSold ? color.red : color.silver)
plot(overBought, color=color.purple)
plot(overSold, color=color.purple)
plot(ema, color=color.blue)
first_type = input(true, title="Use first logic?")
second_type = input(false, title="Use second logic?")
long_condition = (first_type ? crossover(rsi, ema) and _testPeriod() : false) or (second_type ? rsi > ema and rsi > overBought and _testPeriod() : false)
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = crossunder(rsi, ema)
strategy.close('BUY', when=short_condition)