
Strategi Relative Momentum Index (RMI) adalah strategi perbaikan yang didasarkan pada indeks momentum. Strategi ini menilai apakah pasar berada dalam keadaan overbought atau oversold dengan menghitung dinamika perubahan harga dalam jangka waktu tertentu untuk menangkap peluang berbalik.
RMI strategi dihitung dengan rumus sebagai berikut:
xMom = xPrice - xPrice[Length] //计算Length周期内的价格变动
xMU = 如果xMom >= 0:之前xMU减去xMU/Length加上xMom;否则:之前xMU
xMD = 如果xMom <= 0:之前xMD减去xMD/Length加上xMom的绝对值;否则:0
RM = xMU / xMD
RMI = 100 * (RM / (1 + RM))
Strategi ini pertama-tama menghitung perubahan harga selama periode Length xMom. Jika xMom> = 0, berarti harga naik, maka xMU bertambah xMom; jika xMom < 0, berarti harga turun, maka xMD bertambah xMom. Nilai mutlak dari RM adalah rasio xMU dan xMD, yang mewakili kekuatan penurunan.
Ketika RMI lebih tinggi dari nilai terendah SellZone, berarti overbuy, melakukan shorting; ketika RMI lebih rendah dari nilai terendah BuyZone, berarti oversell, melakukan overdoing.
Risiko dapat dikurangi dengan cara yang tepat untuk melonggarkan titik-titik stop loss, mengoptimalkan kombinasi parameter, dan kombinasi dengan strategi tren.
Strategi RMI dapat dioptimalkan dalam beberapa hal:
Strategi RMI dengan mengukur perubahan dinamika harga, melakukan operasi reversal, dapat secara efektif menangkap kesempatan untuk membalikkan garis pendek. Dibandingkan dengan strategi RSI, strategi RMI lebih sensitif dan tidak terpengaruh oleh guncangan. Namun, strategi ini masih memiliki risiko yang ditargetkan, perlu mengoptimalkan parameter dan bekerja sama dengan strategi tren untuk mendapatkan efek maksimal.
/*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")