
Chiến lược này kết hợp hai chỉ số kỹ thuật mạnh mẽ, chỉ số tương đối mạnh (RSI) và Stoch RSI, để thực hiện một chiến lược giao dịch hai chiều ổn định và đáng tin cậy hơn. Chiến lược này sẽ tham gia quá nhiều hoặc thiếu khi chỉ số RSI hiển thị tín hiệu bán quá nhiều và Stoch RSI phát đi tín hiệu giao dịch vàng.
Chiến lược này chủ yếu dựa trên hai chỉ số RSI và Stoch RSI. RSI được sử dụng để xác định thị trường có đang mua quá mức hay bán quá mức không. Stoch RSI được sử dụng để phát ra tín hiệu giao dịch cụ thể.
Đầu tiên, thông qua RSI, đánh giá thị trường có quá mua hay quá bán không. Nếu RSI cao hơn đường mua quá mức được thiết lập, thì được đánh giá là quá mua, nếu RSI thấp hơn đường bán quá mức được thiết lập thì được đánh giá là quá bán.
Tiếp theo, Stoch RSI phát ra tín hiệu giao dịch. Nó tạo ra tín hiệu mua khi đường nhanh từ dưới lên phá vỡ đường chậm; nó tạo ra tín hiệu bán khi đường nhanh từ trên xuống phá vỡ đường chậm.
Cuối cùng, chỉ khi RSI hiển thị dấu hiệu mua và bán cùng lúc với dấu hiệu RSI, chiến lược này sẽ đi vào giao dịch trong trường. Làm nhiều dấu hiệu cho RSI hiển thị dấu hiệu mua và bán cùng lúc với dấu hiệu RSI của Stoch; làm dấu hiệu tháo lỗ cho RSI hiển thị dấu hiệu mua và bán cùng lúc với dấu hiệu RSI của Stoch.
Chiến lược này kết hợp các lợi thế của hai chỉ số RSI và Stoch RSI, xem xét xu hướng tổng thể của thị trường và chú ý đến sự thay đổi chi tiết để phát tín hiệu giao dịch, làm cho nó đáng tin cậy hơn.
Chỉ số RSI có thể đánh giá hiệu quả liệu thị trường có đang ở trạng thái quá mua quá bán hay không, và tránh theo đuổi ở trên cùng của thị trường và theo đuổi ở dưới cùng của thị trường. Chỉ số RSI của Stoch xem xét sự thay đổi động lực của RSI và có thể bắt được các điểm biến đổi kịp thời. Sự kết hợp của cả hai đảm bảo cả độ tin cậy của tín hiệu giao dịch và thời điểm nhập cảnh.
Ngoài ra, chiến lược này đã thêm các điều kiện lọc thời gian và giá, làm giảm thêm khả năng giao dịch sai và làm cho toàn bộ chiến lược trở nên vững chắc hơn.
Chiến lược này phụ thuộc chủ yếu vào hai chỉ số RSI và Stoch RSI, cả hai đều nhạy cảm với sự thay đổi của thị trường và có thể thường xuyên gửi tín hiệu sai. Ngoài ra, có thể có sự lệch giữa các chỉ số.
Để giảm những rủi ro này, các tham số của RSI và Stoch RSI có thể được điều chỉnh thích hợp, thêm các điều kiện lọc, v.v., để các tham số chiến lược phù hợp hơn với đặc điểm thị trường; hoặc có thể thêm các chỉ số khác để xác minh, tránh chỉ tham gia bằng một chỉ số.
Chiến lược này có thể được tối ưu hóa hơn nữa ở những khía cạnh sau:
Tham gia chiến lược dừng lỗ di động để khóa lợi nhuận và giảm tổn thất;
Tối ưu hóa các tham số RSI và Stoch RSI để phù hợp hơn với các đặc điểm của các chu kỳ khác nhau và các giống khác nhau;
Thêm thêm các điều kiện lọc như mở rộng phạm vi thời gian của chu kỳ giao dịch, giảm tần suất giao dịch;
Xác nhận tín hiệu kết hợp với các chỉ số khác để tránh sai sót trong việc đánh giá chỉ số đơn lẻ;
Các nhà nghiên cứu đã nghiên cứu một số phương pháp khác nhau để tìm ra các phương pháp tốt nhất.
Chiến lược này kết hợp các lợi thế của cả hai chỉ số RSI và Stoch RSI để thực hiện một khung chiến lược giao dịch hai chiều. Chiến lược này phán đoán toàn diện và đáng tin cậy hơn so với việc sử dụng chỉ số nào đó và tránh được nhiều tín hiệu sai không cần thiết. Với tối ưu hóa hơn nữa, chiến lược này có thể trở thành một chiến lược giao dịch định lượng có lợi nhuận ổn định.
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version= 2
strategy("RSI+STOCHRSI v2", overlay=true)
lengthrsi = input(10)
overSold = input( 20 )
overBought = input( 70 )
price = ohlc4
vrsi = rsi(price, lengthrsi)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
srsilow=input(20)
srsiup=input(80)
yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( ( crossover(d,k)) and ( (vrsi<overSold) or crossover(vrsi,overSold) ) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil)
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( ( crossunder(d,k) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil )
strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL")
else
strategy.cancel(id="SELL")