EMA kép với RSI Trend Following Strategy

Tác giả:ChaoZhang, Ngày: 2023-09-28 16:17:53
Tags:

Tổng quan

Chiến lược này kết hợp chỉ số trung bình động EMA và chỉ số RSI mua quá mức để xác định hướng xu hướng và xác định các cơ hội xu hướng tiềm năng. Khi EMA nhanh vượt qua trên EMA chậm, nó báo hiệu cơ hội tăng. Khi EMA nhanh vượt qua dưới EMA chậm, nó báo hiệu cơ hội giảm. RSI được sử dụng để lọc các đột phá sai, chỉ có vị trí khi xác nhận hướng xu hướng được chỉ định bởi EMA.

Nguyên tắc

Chiến lược dựa trên các nguyên tắc sau:

  1. EMA có thể làm mượt dữ liệu giá hiệu quả và xác định xu hướng.

  2. Chỉ số RSI xác định hiệu quả mức mua quá mức và bán quá mức. Kết hợp chỉ số RSI giúp lọc các tín hiệu sai từ đường chéo EMA. Chỉ khi EMA và RSI xác nhận xu hướng, chúng ta sẽ nhập vào một vị trí.

Cụ thể, thời gian EMA nhanh được thiết lập là 8 và thời gian EMA chậm được thiết lập là 24. Một chéo chéo của EMA nhanh trên EMA chậm tạo ra tín hiệu tăng, trong khi một chéo chéo bên dưới tạo ra tín hiệu giảm. Thời gian RSI được thiết lập là 7. RSI trên ngưỡng 70*(1-RSI) chỉ ra mức mua quá mức và RSI dưới ngưỡng 30*(1+RSI) chỉ ra mức bán quá mức. Chỉ khi cả EMA và RSI báo hiệu tăng chúng ta sẽ mua dài. Chỉ khi cả hai tín hiệu giảm chúng ta sẽ mua ngắn.

Ưu điểm

Bằng cách kết hợp các điểm mạnh của chỉ số EMA và RSI, chiến lược này có thể xác định hiệu quả hướng xu hướng và lọc các tín hiệu sai.

  1. EMA làm mịn mượt giá và xác định xu hướng trong khi RSI xác định mức mua quá mức / bán quá mức để lọc các đột phá sai.

  2. Điều chỉnh tham số linh hoạt cho các tài sản khác nhau.

  3. Nhiều chỉ số xác nhận và giảm tín hiệu sai, cải thiện tỷ lệ thắng.

  4. Logic đơn giản và rõ ràng, dễ hiểu và thực hiện để theo xu hướng.

  5. Áp dụng cho các khung thời gian khác nhau cho giao dịch ban ngày hoặc nắm giữ dài hạn.

Rủi ro

Ngoài ra còn có một số rủi ro cần lưu ý cho chiến lược này:

  1. EMA có thể bị chậm trễ trong việc đảo ngược xu hướng và gây ra tổn thất.

  2. Cài đặt tham số RSI không chính xác có thể dẫn đến việc bỏ lỡ giao dịch.

  3. Các sản phẩm chỉ số có thể chọc, kích hoạt dừng lỗ.

  4. Chi phí giao dịch cũng ảnh hưởng đến lợi nhuận, tối ưu hóa dừng lỗ một cách cẩn thận.

  5. Nếu không xem xét các nguyên tắc cơ bản, có nguy cơ bị đánh lừa bởi các nhà điều tra.

Chúng ta có thể giảm thiểu rủi ro bằng cách dừng lỗ hợp lý, tối ưu hóa các thông số RSI, xem xét chi phí khi thiết lập mục tiêu lợi nhuận và dừng lỗ, vv

Cơ hội gia tăng

Chiến lược có thể được cải thiện trong các khía cạnh sau:

  1. Tối ưu hóa các thông số EMA và RSI để phù hợp hơn với các tài sản khác nhau.

  2. Thêm các bộ lọc khác như Bollinger Bands, KDJ để cải thiện chất lượng tín hiệu.

  3. Bao gồm các yếu tố cơ bản để tránh rủi ro chênh lệch.

  4. Kết hợp với đường xu hướng, hỗ trợ / kháng cự để vào.

  5. Tối ưu hóa lợi nhuận và dừng lỗ dựa trên biến động và ưu tiên rủi ro.

  6. Kiểm tra ngược trong khung thời gian dài hơn và các tài sản khác nhau để đảm bảo độ bền.

Kết luận

Nhìn chung, đây là một chiến lược theo xu hướng đơn giản và thực tế. Bằng cách kết hợp EMA và RSI, nó xác định hướng xu hướng hiệu quả và lọc ra tiếng ồn. Với điều chỉnh tham số và tích hợp các công cụ khác, chiến lược có thể được cải thiện hơn nữa. Nhưng không có chiến lược nào loại bỏ hoàn toàn tổn thất. Quản lý rủi ro đúng cách khi sử dụng nó để theo xu hướng.


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MACD + RSI", overlay=true)

src = input(close,"Source")

//MACD
len1 = input(8, title="MACD Fast Length")
len2 = input(24, title="MACD Slow Length")
ema1 = ema(src,len1)
ema2 = ema(src,len2)
div = ema1-ema2
long_macd = div>div[1]
short_macd = div<div[1]

//RSI
len = input(7, minval=1, title="RSI Length")
rsi_threshold = input(0.2,minval=0,maxval=0.5, title="RSI Threshold")
rsi = rsi(src,len)
long_rsi = rsi<30*(1+rsi_threshold)
short_rsi = rsi>70*(1-rsi_threshold)


//POSITIONING
if (long_macd)
    if(long_rsi)
        strategy.entry("Long", strategy.long)

if (short_macd)
    if(short_rsi)
        strategy.entry("Short", strategy.short)

Thêm nữa