Chiến lược giao dịch định lượng dài hạn dựa trên chỉ số sức mạnh tương đối (RSI) và dừng lỗ


Ngày tạo: 2024-03-08 15:06:58 sửa đổi lần cuối: 2024-03-08 15:06:58
sao chép: 0 Số nhấp chuột: 345
1
tập trung vào
1166
Người theo dõi

Chiến lược giao dịch định lượng dài hạn dựa trên chỉ số sức mạnh tương đối (RSI) và dừng lỗ

Tổng quan

Bài viết này giới thiệu một chiến lược giao dịch định lượng đa đầu dựa trên chỉ số tương đối mạnh (RSI) và dừng lỗ. Chiến lược này sử dụng chỉ số RSI để đánh giá tình trạng quá bán và quá mua của thị trường, mở vị trí đa đầu khi quá bán, giữ vị trí bằng khi quá mua.

Nguyên tắc chiến lược

Trung tâm của chiến lược này là chỉ số tương đối mạnh yếu (RSI). RSI là một chỉ số dao động động động, được sử dụng để đo lường mức độ thay đổi của giá trong một khoảng thời gian. Công thức tính toán của nó là:

RS = N天内上涨幅度的平均值 / N天内下跌幅度的平均值
RSI = 100 - 100 / (1 + RS)

Trong đó, N là chu kỳ thời gian để tính RSI, thường lấy 14 .

Lập luận của chiến lược là:

  1. Tính RSI của N chu kỳ.
  2. Khi RSI vượt quá mức bán tháo từ dưới lên (ví dụ: 30), hãy mở vị trí đầu nhiều hơn.
  3. Khi RSI vượt quá mức mua (như 70) từ trên xuống, xóa vị trí đầu nhiều.
  4. Khi mở vị trí, giá dừng lỗ được tính dựa trên giá hiện tại và tỷ lệ phần trăm được thiết lập.
  5. Nếu giá chạm mức dừng lỗ, bạn có thể xóa vị trí nhiều đầu để kiểm soát tổn thất.

Chiến lược này cố gắng để nắm bắt xu hướng tăng trưởng chính trong thị trường bằng cách mở vị trí đầu tiên của thị trường từ gấu sang bò, và giữ vị trí bằng phẳng vào cuối thị trường bò.

Phân tích lợi thế

  1. Đơn giản và dễ sử dụng: Chiến lược này chỉ sử dụng một chỉ số kỹ thuật RSI, logic rõ ràng và phù hợp cho người mới bắt đầu học và sử dụng.
  2. Theo dõi xu hướng: Chiến lược mở vị trí trong khu vực bán quá mức, bán quá mức, phù hợp với tư tưởng đầu tư xu hướng “mua thấp bán cao”, có thể nắm bắt hiệu quả xu hướng tăng của thị trường bò.
  3. Kiểm soát rủi ro: Tỷ lệ dừng lỗ có thể giúp nhà đầu tư kiểm soát lỗ hổng rủi ro của mỗi giao dịch, hạn chế tổn thất trong phạm vi chấp nhận được.

Phân tích rủi ro

  1. RSI là một chỉ số chậm trễ, trong thị trường dao động sẽ phát ra nhiều tín hiệu sai, dẫn đến việc mở lỗ thường xuyên, và tổn thất nhỏ sẽ gây ra tổn thất lớn.
  2. Cài đặt điểm dừng lỗ không đúng cách: Nếu điểm dừng lỗ được thiết lập quá rộng, thua lỗ đơn lẻ sẽ lớn hơn; Nếu điểm dừng lỗ được thiết lập quá hẹp, sẽ dừng lỗ quá sớm và mất xu hướng tiếp theo.
  3. Thiếu quản lý vị trí: Chiến lược thiếu cơ chế điều chỉnh động đối với vị trí, kiểm soát lỗ hổng rủi ro không đủ linh hoạt.

Hướng tối ưu hóa

  1. Trình lọc xu hướng: Trước khi sử dụng tín hiệu RSI, hãy đánh giá xu hướng lớn bằng đường trung bình dài hạn hoặc các chỉ số xu hướng khác, chỉ sử dụng tín hiệu đa đầu RSI khi xu hướng lớn đi lên.
  2. Tối ưu hóa dừng lỗ: Bạn có thể xem xét sử dụng các chiến lược dừng lỗ cao hơn như dừng di động hoặc ATR, động điều chỉnh vị trí dừng lỗ để phù hợp hơn với nhịp độ thị trường.
  3. Quản lý vị trí: tùy thuộc vào sự biến động của thị trường, cường độ của xu hướng, kích thước vị trí của mỗi giao dịch được điều chỉnh động để kiểm soát rủi ro tốt hơn.
  4. Bảo hiểm đa không: Trong khi sử dụng chiến lược đa đầu, giới thiệu chiến lược đầu không để bảo hiểm, làm giảm lỗ hổng rủi ro tổng thể của chiến lược.

Tóm tắt

Bài viết này giới thiệu một chiến lược giao dịch định lượng đa đầu dựa trên RSI và dừng lỗ. Chiến lược này sử dụng tín hiệu mua bán quá mức RSI để phá vỡ vị trí, đồng thời sử dụng rủi ro kiểm soát dừng phần trăm. Đây là một chiến lược theo dõi xu hướng thực tế đơn giản và phù hợp cho người mới bắt đầu.

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

//@version=5
strategy("RSI Strategy (Long)", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = ta.rsi(price, length)
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)

// *** Signals ***
enter_long = ta.crossover(vrsi, overSold)
enter_short = ta.crossunder(vrsi, overBought)
close_long = ta.crossunder(vrsi, overBought)
close_short = ta.crossunder(vrsi, overBought)


// *** Risk management *** 
entry_price = close
percent_diff = input(5)
stop_loss_price_long = (1 - percent_diff / 100.) * entry_price 
stop_loss_price_short = (1 + percent_diff / 100.) * entry_price 


// *** Positions *** 
if enter_long and strategy.position_size == 0
    strategy.entry("Long", strategy.long)
    strategy.exit("SL Long", "Long", stop = stop_loss_price_long)

if enter_short and strategy.position_size == 0
    strategy.entry("Short", strategy.short, qty=.001)
    strategy.exit("SL short", "Short", stop = stop_loss_price_short)

if close_long 
    strategy.close("Long", "Exit Long")

if close_short
    strategy.close("Short", "Exit Short")