Chiến lược chỉ số RSI theo mùa

Tác giả:ChaoZhang, Ngày: 2023-10-27 16:04:21
Tags:

img

Tổng quan

Chiến lược này kết hợp trung bình động và chỉ số sức mạnh tương đối (RSI), hai chỉ số kỹ thuật, để nắm bắt các đặc điểm chu kỳ theo mùa và tạo ra các tín hiệu giao dịch. Ưu điểm của chiến lược này là nó có thể xác định xu hướng theo mùa rất rõ ràng, nhưng nó cũng có nguy cơ bị đánh lừa bởi các tín hiệu sai.

Chiến lược logic

Chiến lược đầu tiên tính toán trung bình động của một khoảng thời gian nhất định n để nắm bắt hướng xu hướng trung hạn đến dài hạn. Sau đó, nó tính toán chỉ số RSI của trung bình động để đánh giá xem nó có đang ở trạng thái mua quá nhiều hay bán quá nhiều không. RSI đo cảm xúc thị trường bằng cách tính toán tỷ lệ lợi nhuận so với lỗ trong một khoảng thời gian nhất định.

Khi chỉ số RSI vượt trên dải dưới, một tín hiệu mua được tạo ra, cho thấy tình trạng bán quá mức và một vị trí dài có thể được mở. Khi chỉ số RSI vượt dưới dải trên, một tín hiệu bán được tạo ra, cho thấy tình trạng mua quá mức, và một vị trí ngắn có thể được mở. Ngoài ra, chiến lược cũng đặt phạm vi cho tháng và ngày để giao dịch chỉ trong những tháng và ngày cụ thể, để nắm bắt các mô hình theo mùa.

Ưu điểm của Chiến lược

  • Sử dụng đường trung bình động để xác định xu hướng chính và RSI để đánh giá các kịch bản mua quá mức / bán quá mức, kết hợp hai chỉ số để cải thiện độ chính xác

  • Thiết lập phạm vi tháng và ngày có thể xác định hiệu quả xu hướng theo mùa và nắm bắt các cơ hội giao dịch như vậy

  • Cài đặt tham số RSI linh hoạt để điều chỉnh độ nhạy trong việc xác định mức mua quá mức / bán quá mức

  • Các thông số trung bình động có thể tùy chỉnh để điều chỉnh độ nhạy trong việc đánh giá các xu hướng chính

Rủi ro và giải pháp

  • Rủi ro bị đánh lừa bởi các tín hiệu sai, ví dụ như sự đảo ngược xu hướng do các sự kiện không theo mùa, có thể tạo ra các tín hiệu giao dịch không phù hợp.

  • Sự khác biệt có thể xuất hiện giữa đường trung bình động và chỉ số RSI khi xu hướng đang đảo ngược.

  • Phạm vi tháng và ngày được đặt trước có thể lệch khỏi xu hướng theo mùa thực tế.

  • Các tín hiệu giao dịch có thể gặp phải sự đột phá sai. Giải pháp là đặt phạm vi rộng hơn để tránh bị đánh lừa bởi các biến động nhỏ.

Hướng dẫn tối ưu hóa

  • Đưa ra các chỉ số phụ trợ khác, ví dụ: Stochastic Oscillator, để thiết lập các điều kiện lọc nghiêm ngặt hơn và giảm các tín hiệu sai.

  • Kiểm tra nhiều kết hợp tham số khác nhau để tìm các tham số tối ưu và cải thiện hiệu suất chiến lược, ví dụ: điều chỉnh thời gian trung bình động, băng tần RSI v.v.

  • Sử dụng các phương pháp tối ưu hóa tham số để tự động tìm kiếm không gian tham số cho các bộ tham số tối ưu.

  • Thu thập nhiều dữ liệu lịch sử hơn và sử dụng máy học để đào tạo và tối ưu hóa các quy tắc chiến lược.

  • Xem xét thêm các chiến lược dừng lỗ / lấy lợi nhuận để tối ưu hóa quản lý tiền.

Tóm lại

Chiến lược này kết hợp trung bình động và RSI, với việc thêm các phán đoán theo mùa, để tạo thành một hệ thống tương đối hoàn chỉnh cho xu hướng và xác định quá mua / quá bán. Ưu điểm nằm trong khả năng nhận ra rõ ràng các mô hình theo mùa và tận dụng các cơ hội giao dịch như vậy. Có một số rủi ro bị đánh lừa, nhưng có thể tối ưu hóa thông qua điều chỉnh tham số, giới thiệu các chỉ số phụ trợ, học máy vv để nâng cao hiệu suất chiến lược. Nhìn chung, chiến lược này cung cấp một khuôn khổ giao dịch theo mùa đáng tin cậy và hiệu quả đáng để thử nghiệm và áp dụng trực tiếp.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = " RSI of MA Strategy ",shorttitle="MARSI Strategy",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=1)



lengthofma = input(15,minval=1,title="Length of MA")
len = input(14, minval=1, title="Length")
upperband = input(70,minval=1,title='Upper Band for RSI')
lowerband = input(30,minval=1,title="Lower Band for RSI")

src=sma(close,lengthofma)
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))
plot(rsi, color=purple)

band1 = hline(upperband)
band0 = hline(lowerband)
fill(band1, band0, color=purple, transp=90)



longCond =  crossover(rsi,lowerband)

shortCond =  crossunder(rsi,upperband)




monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)

if (  longCond ) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")
    



if ( shortCond ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND",  comment="SHORT")
else
    strategy.cancel(id="SHORT")





Thêm nữa