Tài nguyên đang được tải lên... tải...

Chiến lược MACD và RSI nhiều lần

Tác giả:ChaoZhang, Ngày: 2023-10-08 14:03:47
Tags:

Tổng quan

Chiến lược Multiple MACD và RSI sử dụng toàn diện các tín hiệu của chỉ số MACD và chỉ số RSI. Nó đi dài khi cả hai đường nhanh và chậm của hai MACD giao nhau và RSI nằm dưới mức mua quá mức, và đi ngắn khi cả hai đường nhanh và chậm của hai MACD giao nhau và RSI bước vào mức bán quá mức, nhằm mục đích nắm bắt xu hướng trung dài.

Nguyên tắc

Chiến lược này sử dụng hai chỉ số MACD để tạo ra tín hiệu. Một MACD có tham số dài nhanh 10, dài chậm 22 và dài MACD 9. MACD khác có tham số dài nhanh 21, dài chậm 45 và dài MACD 20. Nó tạo ra tín hiệu mua khi đường nhanh của cả hai MACD vượt qua đường chậm của chúng, và tín hiệu bán khi đường nhanh của cả hai MACD vượt qua đường chậm của chúng.

Trong khi đó, nó kết hợp chỉ số RSI để đánh giá các điều kiện mua quá mức và bán quá mức. Các thông số RSI được thiết lập là 14, với mức mua quá mức ở 70 và mức bán quá mức ở 20. Nó có thể mua khi RSI dưới mức mua quá mức và bán khi RSI trên mức bán quá mức.

Chỉ khi cả hai MACD tạo ra tín hiệu mua và chỉ số RSI không bị mua quá mức, một bước vào dài sẽ được kích hoạt.

Ưu điểm

Ưu điểm lớn nhất của chiến lược này là nó sử dụng các chỉ số MACD kép để lọc ra một số tín hiệu sai và chỉ đi vào khi cả hai MACD đưa ra tín hiệu. Điều này làm giảm các giao dịch không cần thiết và tần suất giao dịch trong khi cải thiện tỷ lệ lợi nhuận.

Ngoài ra, việc kết hợp RSI để đánh giá các điều kiện mua quá mức / bán quá mức tránh đi dài / ngắn khi giá đã có xu hướng mạnh mẽ, do đó giảm rủi ro mất mát.

Kết hợp lọc MACD kép và phán đoán RSI, chiến lược này chỉ giao dịch trên các thị trường xu hướng và có thể kiếm được lợi nhuận hợp lý từ xu hướng trung hạn.

Rủi ro

Chiến lược này cũng có một số rủi ro. Việc lọc MACD kép có thể bỏ lỡ thời điểm đảo ngược giá và dẫn đến tổn thất lớn hơn. Đi dài khi cả hai MACD đều vượt dương và chỉ số RSI không bị mua quá mức nhưng có thể đã bỏ lỡ đáy và dẫn đến tổn thất.

Ngoài ra, MACD cũng rất nhạy cảm với các đặc điểm của thị trường giao dịch. Các thông số MACD cần phải được điều chỉnh để các chu kỳ giao dịch và môi trường thị trường khác nhau có hiệu lực. Nếu các thông số không được đặt đúng cách, nó dễ tạo ra tín hiệu sai và gây ra tổn thất.

Ngoài ra, RSI có thể tạo ra nhiều tín hiệu mua quá mức / bán quá mức.

Tối ưu hóa

Một số khía cạnh có thể được xem xét để tối ưu hóa chiến lược này:

  1. Tối ưu hóa các thông số MACD, điều chỉnh chiều dài đường nhanh / chậm để tìm kết hợp thông số MACD tối ưu cho các sản phẩm và khung thời gian khác nhau, cải thiện hiệu quả tín hiệu.

  2. Điều chỉnh các thông số RSI, giảm hoặc mở rộng mức mua quá mức để tối ưu hóa thời gian nhập cảnh.

  3. Thêm các chiến lược dừng lỗ để cắt giảm tổn thất khi rút vốn đạt đến một mức độ nhất định, tránh tổn thất thêm.

  4. Xem xét thêm các phán đoán phụ như điểm đột phá để xác nhận thêm xu hướng trước khi vào.

Kết luận

Chiến lược Multiple MACD và RSI kết hợp hai chỉ số MACD và chỉ số RSI để cải thiện tính hợp lệ của tín hiệu và có thể kiếm được lợi nhuận tốt từ các xu hướng trung dài hạn.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

fastLength = input(10)
slowlength = input(22)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = sma(MACD, MACDLength)
delta = MACD - aMACD

fastLength2 = input(21)
slowlength2 = input(45)
MACDLength2 = input(20)

MACD2 = ema(open, fastLength2) - ema(open, slowlength2)
aMACD2 = sma(MACD2, MACDLength2)
delta2 = MACD2 - aMACD2

Length = input(14, minval=1)
Oversold = input(20, minval=1)
Overbought = input(70, minval=1)
xRSI = rsi(open, Length)


if (delta > 0) and (year>2015) and (delta2 > 0) and (xRSI < Overbought)
    strategy.entry("buy", strategy.long, comment="buy")

if (delta < 0) and (year>2015) and (delta2 < 0) and (xRSI > Oversold)
    strategy.entry("sell", strategy.short, comment="sell")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Thêm nữa