Strategi Relative Momentum Index (RMI) adalah versi yang ditingkatkan berdasarkan indeks momentum. Ini menghitung momentum harga selama periode untuk menentukan apakah pasar terlalu banyak dibeli atau terlalu banyak dijual, untuk menangkap peluang pembalikan.
Rumus perhitungan RMI adalah sebagai 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))
Pertama-tama hitung perubahan harga xMom selama periode Panjang. Jika xMom>=0, yang berarti harga naik, akumulasi ke dalam xMU; jika xMom<0, yang berarti harga turun, akumulasi nilai absolutnya ke dalam xMD. RM adalah rasio antara xMU dan xMD, yang mewakili momentum naik turun. RMI menormalkan RM ke dalam kisaran 0-100.
Ketika RMI lebih tinggi dari ambang SellZone, pasar overbought, pergi short.
Risiko dapat dikurangi dengan memperluas stop loss, mengoptimalkan parameter, menggabungkan dengan strategi tren dll.
Strategi RMI dapat ditingkatkan dari aspek berikut:
Strategi RMI menangkap peluang mundur jangka pendek dengan mengukur perubahan momentum harga. Dibandingkan dengan RSI, RMI lebih sensitif dan kuat terhadap konsolidasi. Tetapi risiko dihentikan ada. Parameter perlu dioptimalkan dan dikombinasikan dengan strategi tren untuk memaksimalkan kinerja.
/*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")