Strategi Indeks Momentum Relatif (RMI) adalah versi yang lebih baik berdasarkan indeks momentum. Ia mengira momentum harga dalam tempoh untuk menentukan sama ada pasaran terlalu banyak dibeli atau terlalu banyak dijual, untuk menangkap peluang pembalikan.
Formula pengiraan RMI adalah seperti berikut:
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))
Mula-mula mengira perubahan harga xMom dalam tempoh Panjang. Jika xMom>=0, yang bermaksud harga meningkat, akumulasikan ke dalam xMU; jika xMom<0, yang bermaksud harga turun, akumulasi nilai mutlaknya ke dalam xMD. RM adalah nisbah antara xMU dan xMD, yang mewakili momentum kenaikan dan penurunan. RMI menormalkan RM ke dalam julat 0-100.
Apabila RMI lebih tinggi daripada ambang SellZone, pasaran overbought, pergi pendek.
Risiko boleh dikurangkan dengan memperluaskan stop loss, mengoptimumkan parameter, menggabungkan dengan strategi trend dll.
Strategi RMI boleh ditingkatkan dari aspek berikut:
Strategi RMI menangkap peluang mundur jangka pendek dengan mengukur perubahan momentum harga. Berbanding dengan RSI, RMI lebih sensitif dan kuat terhadap penyatuan. Tetapi risiko dihentikan ada. Parameter perlu dioptimumkan dan digabungkan dengan strategi trend untuk memaksimumkan prestasi.
/*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")