Chiến lược giao dịch ETF theo xu hướng RSI đảo ngược


Ngày tạo: 2024-01-22 17:15:18 sửa đổi lần cuối: 2024-01-22 17:15:18
sao chép: 0 Số nhấp chuột: 720
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch ETF theo xu hướng RSI đảo ngược

Tổng quan

Chiến lược này là một chiến lược giao dịch ETF theo dõi xu hướng đảo ngược dựa trên chỉ số tương đối mạnh (RSI). Nó sử dụng chỉ số RSI để đánh giá hiện tượng bán tháo quá mức trong thời gian ngắn, thực hiện các mục đảo ngược và xuất cảnh. Đồng thời kết hợp với đường trung bình di chuyển 200 ngày để đánh giá hướng xu hướng tổng thể.

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

Lập luận cốt lõi của chiến lược này dựa trên nguyên tắc đảo ngược của chỉ số RSI. Chỉ số RSI đánh giá xem loại giao dịch đó có bị mua quá mức hay bán quá mức bằng cách tính toán mức tăng/tăng trung bình trong một khoảng thời gian. Khi RSI cao hơn 70 là mua quá mức và khi RSI thấp hơn 30 là bán quá mức.

Chính sách này sử dụng nguyên tắc này để đặt RSI trong ngày thấp hơn tham số điều chỉnhTodaysMinRSI3 ngày trước RSI thấp hơn tham số điều chỉnhDay3RSIMaxKhi RSI giảm, bạn có thể mua. Điều này có nghĩa là giá có thể nằm trong khu vực bán tháo ngắn hạn và có khả năng phục hồi. Đồng thời yêu cầu RSI trong 3 ngày có xu hướng giảm, tức là RSI tiếp tục giảm để mua, tránh sự phục hồi giả.

Cơ chế thoát ra của chiến lược là khi chỉ số RSI vượt quá tham số điều chỉnh một lần nữaExit RSIKhi giá trị của một giao dịch giảm xuống, bạn sẽ cho rằng đợt phục hồi đã kết thúc, và bạn sẽ rút khỏi vị trí bình thường.

Chiến lược này cũng giới thiệu đường trung bình di chuyển 200 ngày như một sự phán đoán xu hướng tổng thể. Việc mua chỉ có thể được thực hiện khi giá cao hơn đường 200 ngày. Điều này giúp đảm bảo chỉ mua trong giai đoạn xu hướng lên và tránh rủi ro của giao dịch ngược.

Phân tích lợi thế chiến lược

  • Dùng chỉ số RSI để đánh giá khu vực mua quá mức, bellion có khả năng lớn.
  • Kết hợp với đường 200 ngày để đánh giá xu hướng lớn, giúp tránh giao dịch ngược.
  • RSI là một nguyên tắc kinh điển và đáng tin cậy, có tỷ lệ thành công cao.
  • Các tham số có thể điều chỉnh cung cấp sự linh hoạt để tối ưu hóa cho các giống khác nhau.

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

  • Chỉ số RSI có khả năng phá vỡ giả, không thể tránh hoàn toàn thua lỗ. Bạn có thể thiết lập dừng lỗ để kiểm soát tổn thất đơn lẻ.
  • Sự thất bại của việc đảo ngược có thể dẫn đến sự gia tăng lỗ. Bạn có thể rút ngắn thời gian giữ vị trí và rút khỏi lỗ.
  • Thiết lập tham số không đúng có thể dẫn đến quá cực đoan, hoặc có thể quá bảo thủ để bỏ lỡ cơ hội giao dịch.

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

  • Thêm kết hợp các chỉ số khác, chẳng hạn như KDJ, Brinband, v.v., để tạo ra các chỉ số, tăng độ chính xác của tín hiệu.
  • Thêm chiến lược dừng lỗ di động, cho phép mức dừng lỗ có thể thay đổi, giảm lỗ.
  • Tăng khối lượng giao dịch hoặc mô-đun quản lý tiền để kiểm soát lỗ hổng rủi ro cho mỗi giao dịch.
  • Tối ưu hóa và kiểm tra lại các tham số cho các giống khác nhau, xây dựng các tham số phù hợp với giống.

Tóm tắt

Chiến lược này sử dụng nguyên tắc điểm mua và bán cổ điển của chỉ số RSI để thực hiện các bước vào và lối ra đảo ngược bằng cách xác định khu vực mua và bán quá mức. Trong khi đó, xem xét phán đoán xu hướng lớn và không gian tối ưu hóa tham số, đây là một chiến lược ETF đảo ngược ngắn hạn có độ tin cậy cao. Với tối ưu hóa hơn nữa, nó có thể trở thành chiến lược định lượng có hiệu quả thực tế.

Mã nguồn chiến lược
/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @version = 5
// Author = TradeAutomation


strategy(title="R3 ETF Strategy", shorttitle="R3 ETF Strategy", overlay=true)


// Backtest Date Range Inputs // 
StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time')
EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time')
InDateRange = true

// Calculations and Inputs //
RSILen = input.int(2, "RSI Length")
RSI = ta.rsi(close, RSILen)
TodaysMinRSI = input.int(10, "Today's Min RSI for Entry", tooltip = "The RSI must be below this number today to qualify for trade entry")
Day3RSIMax = input.int(60, "Max RSI 3 Days Ago for Entry", tooltip = "The RSI must be below this number 3 days ago to qualify for trade entry")
EMA = ta.ema(close, 200)

// Strategy Rules //
Rule1 = close>ta.ema(close, 200)
Rule2 = RSI[3]<Day3RSIMax and RSI<TodaysMinRSI
Rule3 = RSI<RSI[1] and RSI[1]<RSI[2] and RSI[2]<RSI[3] 
Exit = ta.crossover(RSI, input.int(70, "Exit RSI", tooltip = "The strategy will sell when the RSI crosses over this number"))

// Plot //
plot(EMA, "200 Day EMA")

// Entry & Exit Functions //
if (InDateRange)
    strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3)
//    strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop))
    strategy.close("Long", when = Exit)
if (not InDateRange)
    strategy.close_all()