Chiến lược dựa trên RSI


Ngày tạo: 2023-11-15 16:29:25 sửa đổi lần cuối: 2023-11-15 16:29:25
sao chép: 0 Số nhấp chuột: 678
1
tập trung vào
1617
Người theo dõi

Chiến lược dựa trên RSI

Tổng quan

Chiến lược này là một chiến lược giao dịch đường ngắn dựa trên chỉ số tương đối mạnh (RSI). Nó sử dụng chỉ số RSI để xác định khoảng mua quá mức, và kết hợp với các thực thể K-line để lọc các tín hiệu giả, thực hiện các hoạt động mua và bán tại các điểm đảo ngược. Chiến lược này tìm kiếm cơ hội phục hồi sau tình trạng mua quá mức cực đoan.

Chiến lược chi tiết

Nguyên tắc

Đầu tiên, tính toán chỉ số RSI, chọn giá đóng cửa làm nguồn dữ liệu tính toán, chu kỳ được thiết lập là 7 ngày. Sau đó, thiết lập đường mua quá mức là 30 và đường bán quá mức là 70. Khi RSI vượt qua đường 30 sẽ tạo ra tín hiệu mua, khi vượt qua đường 70 sẽ tạo ra tín hiệu bán.

Để lọc các tín hiệu giả, yêu cầu thực thể K-line được phóng to lớn hơn 1-3 lần so với thông thường để kích hoạt tín hiệu giao dịch. Ở đây, sử dụng RSI 1-5 dây K liên tục ở trong phạm vi mua quá mức để xác nhận tín hiệu, thực thể được phóng to gấp 4 lần.

Khi RSI tạo ra tín hiệu mua khi 5 đường K liên tiếp thấp hơn 30, nếu sau đó đường K kết thúc đường dương, thực thể được phóng đại hơn 4 lần, thì thực hiện hành động mua. Khi RSI tạo ra tín hiệu bán khi 5 đường K liên tiếp cao hơn 70, nếu sau đó đường K kết thúc đường âm, thực thể được phóng đại hơn 4 lần, thì thực hiện hành động bán.

Để khóa lợi nhuận, khi hướng giữ vị trí phù hợp với hướng K-line hiện tại, hãy dừng vị trí bằng phẳng trong trường hợp thực thể tăng gấp đôi.

Ưu điểm

  1. Tham gia vào cơ hội thăng tiến sau khi mua quá mức

Chỉ số RSI có khả năng nhận diện tốt hơn tình trạng mua bán quá mức. Khi cổ phiếu ở trong phạm vi mua bán quá mức, có khả năng giảm trong thời gian ngắn, và phạm vi bán tháo thường báo hiệu một sự phục hồi sắp tới. Chiến lược này có thể nắm bắt cơ hội vào đêm trước khi đảo ngược.

  1. Bộ lọc thực thể làm giảm tín hiệu giả

Có thể có nhiều tín hiệu giả khi giao dịch chỉ số RSI đơn thuần. Chiến lược này bao gồm việc tăng cường thực thể K-line như một điều kiện lọc, thêm vị trí khi tăng cường thực thể K-line xuất hiện vào đêm trước khi đảo chiều, để tránh bị lừa dối bởi tín hiệu giả của thị trường lắc lư.

  1. Xác nhận đường K gốc N liên tiếp để tăng độ tin cậy

Yêu cầu RSI liên tục xác nhận 1-5 đường K nằm trong phạm vi quá mua quá bán để tránh bị lừa bởi các đường K bất động riêng lẻ, tăng độ tin cậy của tín hiệu.

  1. Số nhân phóng to có thể điều chỉnh

Số nhân mở rộng thực thể có thể được điều chỉnh theo các giống khác nhau, điều kiện có thể được nới lỏng thích hợp cho các giống lớn và nhỏ, trong khi điều kiện có thể được thắt chặt thích hợp cho các giống nhịp nhàng, có thể tự do điều chỉnh phù hợp với giống giao dịch của mình.

Rủi ro

  1. Có thể có vấn đề về sự phù hợp

Cài đặt tham số của chiến lược này có một số hạn chế, các tham số cần được điều chỉnh cho các giống khác nhau và các giai đoạn khác nhau. Nếu cố định sử dụng một tham số, có thể gây ra vấn đề quá phù hợp.

  1. Nhận diện điểm mua bán không chính xác

Chỉ số RSI tự nó có một mức độ chậm trễ nhất định, kết hợp với thực thể tăng cường như là điều kiện lọc cũng sẽ sớm thoát khỏi vị trí một mức độ nhất định. Vì vậy, độ chính xác xác định điểm mua và bán thường không cao.

  1. Có thể giữ cổ phiếu quá lâu trong bối cảnh khủng hoảng

Trong tình huống biến động, chỉ số RSI có thể thường xuyên kích hoạt tín hiệu mua và bán dẫn đến thời gian giữ vị trí quá dài. Khi đó, cần điều chỉnh các tham số hoặc tạm dừng hoạt động chiến lược.

  1. Cần điều chỉnh chiến lược giữ vị thế

Chiến lược này là chiến lược giao dịch ngắn hạn, cần được kết hợp với các chiến lược giữ vị trí thích hợp, chẳng hạn như loại bỏ đường trung bình, dừng lỗ và các phương pháp khác, để khóa lợi nhuận và kiểm soát rủi ro.

Tối ưu hóa tư duy

  1. Kiểm tra các thiết lập tham số khác nhau

Có thể thử nghiệm các kết hợp các tham số RSI khác nhau, chẳng hạn như chu kỳ, đường mua quá mức, đường bán quá mức và tham số lọc thực thể đường K, tối ưu hóa tham số để phù hợp với các giống khác nhau.

  1. Tăng chiến lược dừng lỗ

Có thể thiết lập dừng di động hoặc dừng phần trăm để khóa lợi nhuận, cũng có thể thiết lập điểm dừng dựa trên giá trị ATR, hoặc kết hợp với kênh Donchain để dừng.

  1. Bộ lọc kết hợp với các chỉ số khác

Các điều kiện lọc của các chỉ số khác như MACD, KDJ có thể được thêm vào để tránh tạo ra tín hiệu sai khi phá vỡ không hiệu quả. Các chỉ số dao động cũng có thể được sử dụng để xác định các tín hiệu đảo ngược trong xu hướng.

  1. Tăng khả năng đánh giá xu hướng

Sử dụng đường trung bình để đánh giá xu hướng, chỉ xem xét tín hiệu giao dịch khi xu hướng phù hợp, có thể chọn chiến lược tạm dừng khi có biến động. Cũng có thể kết hợp với tín hiệu lọc chỉ số xu hướng yếu.

Tóm tắt

Chiến lược đảo ngược RSI nói chung là một chiến lược giao dịch ngắn hạn điển hình, có một số lợi thế và rủi ro. Ưu điểm chính là có thể bắt được sự hồi phục sau khi mua quá mức, và rủi ro chủ yếu là độ chính xác của con số tự tin không cao và thời gian giữ vị trí quá dài trong tình trạng biến động. Chúng ta có thể cải thiện chiến lược bằng cách điều chỉnh các tham số, thêm các điều kiện lọc và tối ưu hóa chiến lược dừng lỗ để có thể thích ứng với nhiều loại khác nhau và môi trường giao dịch, để có được lợi nhuận chiến lược ổn định hơn.

Mã nguồn chiến lược
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's FRSI Strategy v1.21", shorttitle = "FRSI str 1.21", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0)

//Settings
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
sps = 0
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2038, defval = 2018, 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(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0

//Body
body = abs(close - open)
emabody = ema(body, 30)

//Signals
up = bar == -1 and sps == 0 and dnrsi and body > emabody / 4
dn = bar == 1 and sps == 0 and uprsi and body > emabody / 4
exit = bar == 1 and fastrsi > dnlimit and body > emabody / 2

//Trading
if up
    strategy.entry("Long", strategy.long, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    sps := 1

if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()
    sps := 0