Chiến lược ADX theo dõi RSI

Tác giả:ChaoZhang, Ngày: 2023-10-10 10:32:48
Tags:

Tóm lại

Chiến lược ADX theo dõi RSI là một chiến lược theo xu hướng kết hợp chỉ số RSI và chỉ số ADX. Nó sử dụng chỉ số RSI để xác định các điều kiện mua quá mức và bán quá mức, và chỉ số ADX để đánh giá sức mạnh xu hướng, cho phép các mục nhập trong xu hướng tăng khi không mua quá mức và thoát ra khi xu hướng suy yếu hoặc trở nên mua quá mức.

Chiến lược logic

Chiến lược chủ yếu sử dụng sự kết hợp của chỉ số RSI và chỉ số ADX để xác định các bước vào và ra.

Điều kiện nhập cảnh:

  1. SMA 20 ngày tăng;

  2. ADX tăng hơn 0,2 so với ngày trước, cho thấy xu hướng tăng cường;

  3. RSI dưới 85 để tránh tình trạng mua quá mức;

Hoặc:

  1. SMA 20 ngày tăng;

  2. ADX tăng nhưng dưới 0,2, cho thấy xu hướng nhẹ;

  3. Chỉ số RSI dưới 50, còn chỗ để hồi phục.

Điều kiện xuất cảnh:

  1. RSI trên 75, trạng thái mua quá mức;

  2. ADX tăng nhẹ, xu hướng yếu;

Hoặc:

  1. RSI trên 75, trạng thái mua quá mức;

  2. ADX tăng mạnh, xu hướng mạnh;

Hoặc:

SMA 20 ngày giảm dần.

Chiến lược sử dụng chỉ số RSI cho quá mua / quá bán và ADX cho xu hướng để vào trong xu hướng tăng khi không quá mua và thoát khi quá mua hoặc xu hướng suy yếu. Điều này cho phép theo dõi xu hướng tăng trung hạn đến dài hạn.

Ưu điểm

Những lợi thế chính của chiến lược này là:

  1. Kết hợp RSI và ADX cho phép xu hướng chính xác hơn và đọc mua quá mức / bán quá mức cho các bước vào và ra tốt hơn.

  2. ADX đo sức mạnh xu hướng để tránh ra khỏi whipsaw trong quá trình củng cố.

  3. RSI sử dụng các thông số lỏng lẻo để theo dõi xu hướng trung bình đến dài hạn và giảm giao dịch quá mức.

  4. Logic đơn giản và dễ thực hiện, phù hợp với các tổ chức dài hạn.

  5. Các tham số có thể cấu hình cho phép linh hoạt.

Rủi ro

Những rủi ro chính là:

  1. ADX lag có thể bỏ lỡ các điểm chuyển hướng dẫn đến tổn thất lớn hơn.

  2. Stop loss có thể được kích hoạt muộn trong thời gian giảm giá như vách đá, làm tăng lỗ.

  3. Các thông số RSI quá lỏng lẻo có thể gây ra việc mua quá nhiều tài sản trong quá lâu.

  4. Các thông số ADX quá nhạy cảm có thể gây ra sai sót trong thời gian xu hướng yếu.

  5. Các cổ phiếu có thể hoạt động bất thường trong quá trình thay đổi chế độ thị trường.

Quản lý rủi ro:

  1. Sử dụng thời gian ADX ngắn hơn để nhạy cảm.

  2. Đặt lỗ dừng chặt chẽ hơn để hạn chế tổn thất.

  3. Gióng ngắn thời gian RSI để tránh mua quá mức kéo dài.

  4. Tránh các thông số ADX quá nhạy cảm.

  5. Bỏ qua thủ công trong những biến động thị trường quan trọng.

Những cải tiến

Chiến lược có thể được tối ưu hóa bằng cách:

  1. Kiểm tra thời gian RSI để có các thông số tốt hơn.

  2. Tối ưu hóa thời gian ADX để nắm bắt xu hướng.

  3. Thêm các chỉ số khác như MACD để xác nhận.

  4. Kiểm tra các kết hợp trung bình động để cải thiện các mục.

  5. Thêm lợi nhuận và dừng lỗ để tăng tỷ lệ rủi ro-lợi nhuận.

  6. Đánh giá các chế độ thị trường để tự bỏ qua tại các điểm chuyển đổi.

Kết luận

Chiến lược theo dõi ADX của RSI là một chiến lược theo dõi xu hướng hiệu quả nhưng đơn giản. Nó kết hợp các điểm mạnh của RSI và ADX để phân tích xu hướng chính xác và quá mua / quá bán. Logic là đơn giản và dễ thực hiện với tính linh hoạt tối ưu hóa. Cần thận trọng với ADX lag và thiết lập stop loss. Nhìn chung nó phù hợp với theo dõi xu hướng trung và dài hạn và có thể cung cấp lợi nhuận ổn định.


/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Copyright by Reed Asset Management registered in Shanghai, China
//该策略为上海蘆田资产管理有限公司制
//@version=2
strategy("[蘆田策略]ADX+RSI", overlay=true)

//ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) => 
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)

sig = adx(dilen, adxlen)

plot(sig, color=red, title="ADX")

//ADX+RSI Strategy Long Entry
longEntry1 = sma(close, 20) > sma(close, 20)[1] //check if the ADX is rising
longEntry2 = (adx(14, 14) - adx(14, 14)[1]) > 0.2
longEntry3 = rsi(close, 14) < 85
longEntry4 = (adx(14, 14) - adx(14, 14)[1]) > 0
longEntry5 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2
longEntry6 = rsi(close, 14) < 50

longCondition1 = longEntry1 and longEntry2 and longEntry3
longCondition2 = longEntry1 and longEntry4 and longEntry5 and longEntry6
if(longCondition1 or longCondition2)
    strategy.entry("long", strategy.long)

//ADX+RSI Strategy Long Exit
longExit1 = rsi(close, 9) > 75
longExit2 = (adx(14, 14) - adx(14, 14)[1]) > 0
longExit3 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2
longExit4 = (adx(14, 14) - adx(14, 14)[1]) > 0.2
longExit5 = sma(close, 20) < sma(close,20)[1]

longExitCondition1 = longExit1 and longExit2 and longExit3
longExitCondition2 = longExit1 and longExit4
longStop1 = strategy.position_avg_price + 4 * tr
longExitCondition3 = longExit5
longStop2 = sma(close, 20)

strategy.close_all(when = longExitCondition1)
if (longExitCondition2)
    strategy.exit("exit", "long", stop = longStop1)
if (longExitCondition3)
    strategy.exit("exit", "long", stop = longStop2)
    

//Strategy


Thêm nữa