Chiến lược chỉ số động lượng tương đối (RMI) là một phiên bản cải tiến dựa trên chỉ số động lực. Nó tính toán động lực giá trong một khoảng thời gian để xác định xem thị trường có mua quá nhiều hay bán quá nhiều, để nắm bắt các cơ hội đảo ngược.
Công thức tính toán RMI là như sau:
xMom = xPrice - xPrice[Length] // Price change over Length periods
xMU = If xMom >= 0: previous xMU minus xMU/Length plus xMom; else: previous xMU
xMD = If xMom <= 0: previous xMD minus xMD/Length plus absolute value of xMom; else: 0
RM = xMU / xMD
RMI = 100 * (RM / (1 + RM))
Đầu tiên tính toán sự thay đổi giá xMom trong thời gian dài. Nếu xMom>=0, nghĩa là giá tăng, tích lũy nó vào xMU; nếu xMom<0, nghĩa là giá giảm, tích lũy giá trị tuyệt đối của nó vào xMD. RM là tỷ lệ giữa xMU và xMD, đại diện cho đà tăng và giảm. RMI bình thường hóa RM vào khoảng 0-100.
Khi RMI cao hơn ngưỡng SellZone, thị trường bị mua quá mức, đi ngắn. Khi RMI thấp hơn BuyZone, thị trường bị bán quá mức, đi dài.
Rủi ro có thể được giảm bằng cách mở rộng dừng lỗ, tối ưu hóa các tham số, kết hợp với các chiến lược xu hướng vv.
Chiến lược RMI có thể được cải thiện từ các khía cạnh sau:
Chiến lược RMI nắm bắt các cơ hội rút lui ngắn hạn bằng cách đo lường sự thay đổi động lực giá. So với RSI, RMI nhạy cảm và mạnh mẽ hơn đối với việc hợp nhất. Nhưng rủi ro bị dừng lại tồn tại. Các thông số cần được tối ưu hóa và kết hợp với các chiến lược xu hướng để tối đa hóa hiệu suất.
/*backtest start: 2023-10-02 00:00:00 end: 2023-10-21 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 19/10/2017 // The Relative Momentum Index (RMI) was developed by Roger Altman. Impressed // with the Relative Strength Index's sensitivity to the number of look-back // periods, yet frustrated with it's inconsistent oscillation between defined // overbought and oversold levels, Mr. Altman added a momentum component to the RSI. // As mentioned, the RMI is a variation of the RSI indicator. Instead of counting // up and down days from close to close as the RSI does, the RMI counts up and down // days from the close relative to the close x-days ago where x is not necessarily // 1 as required by the RSI). So as the name of the indicator reflects, "momentum" is // substituted for "strength". // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Relative Momentum Index", shorttitle="RMI") xPrice = close Length = input(20, minval=1) BuyZone = input(40, minval=1) SellZone = input(70, minval=1) reverse = input(false, title="Trade reverse") // hline(0, color=gray, linestyle=dashed) // hline(SellZone, color=red, linestyle=line) // hline(BuyZone, color=green, linestyle=line) xMom = xPrice - xPrice[Length] xMU = iff(xMom >= 0, nz(xMU[1], 1) - (nz(xMU[1],1) / Length) + xMom, nz(xMU[1], 1)) xMD = iff(xMom <= 0, nz(xMD[1], 1) - (nz(xMD[1],1) / Length) + abs(xMom), nz(xMD[1], 0)) RM = xMU / xMD nRes = 100 * (RM / (1+RM)) pos = iff(nRes < BuyZone, 1, iff(nRes > SellZone, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=blue, title="RMI")