
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ể.
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.
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ế.
/*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()