Chiến lược đột phá RSI kép là một chiến lược giao dịch định lượng tạo ra các tín hiệu giao dịch bằng cách sử dụng cả các chỉ số RSI nhanh và chậm.
Chiến lược này sử dụng hai chỉ số RSI đồng thời, một chỉ số RSI nhanh với khoảng thời gian 2 và một chỉ số RSI chậm với khoảng thời gian 14.
Khi RSI chậm lớn hơn 50 và RSI nhanh nhỏ hơn 50, một tín hiệu dài được tạo ra. Khi RSI chậm nhỏ hơn 50 và RSI nhanh lớn hơn 50, một tín hiệu ngắn được tạo ra. Sau khi đi dài hoặc ngắn, nếu có tín hiệu dừng lỗ (một cột đường K màu đỏ xuất hiện khi vị trí dài mất tiền, và một cột đường K màu xanh lá cây xuất hiện khi vị trí ngắn mất tiền), vị trí sẽ được đóng.
Chiến lược cũng có thể được tối ưu hóa trong các khía cạnh sau:
Chiến lược đột phá RSI kép sử dụng các chỉ số RSI nhanh và chậm để theo dõi những thay đổi xu hướng thị trường và hình thành các tín hiệu giao dịch trong các khu vực mua quá mức và bán quá mức, có thể tránh hiệu quả đuổi theo đỉnh và giết đáy. Đồng thời, một cơ chế dừng lỗ được thiết lập để kiểm soát rủi ro. Chiến lược này hoạt động đơn giản và dễ thực hiện, phù hợp với giao dịch định lượng.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Double RSI Strategy 1.0", shorttitle = "2RSI str 1.0", overlay=true ) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") leverage = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage") fast = input(2, defval = 2, minval = 2, maxval = 100, title = "Fast RSI Period") slow = input(14, defval = 14, minval = 2, maxval = 100, title = "Slow RSI Period") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Fast RSI fastup = rma(max(change(close), 0), fast) fastdown = rma(-min(change(close), 0), fast) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Slow RSI slowup = rma(max(change(close), 0), slow) slowdown = rma(-min(change(close), 0), slow) slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown)) //Signals up = slowrsi > 50 and fastrsi < 50 dn = slowrsi < 50 and fastrsi > 50 exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) lot = strategy.position_size == 0 ? strategy.equity / close * leverage : lot[1] //Trading if up if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot ) if dn if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot ) if exit strategy.close_all()