
Strategi indikator nilai mutlak momentum adalah versi yang lebih baik dari indikator CMO yang didasarkan pada indikator nilai mutlak momentum yang dikembangkan oleh Tushar Chande. Strategi ini menilai apakah pasar saat ini berada dalam kondisi overbought atau oversold dengan menghitung nilai indikator harga yang benar-benar dinamis untuk menangkap fluktuasi harga jangka menengah di pasar.
Metrik inti dari strategi ini adalah metrik CMO yang disempurnakan, yang disebut AbsCMO. Formula perhitungan AbsCMO adalah:
AbsCMO = abs(100 * (最新收盘价 - Length周期前的收盘价) / (Length周期内价格波动绝对值的简单移动平均 * Length))
Di antaranya, Length mewakili panjang periode rata-rata. Abscmo berjarak 0-100 nilai. Indikator ini menggabungkan arah momentum dan intensitas monumentality, yang dapat dengan jelas menilai tren jangka menengah pasar dan zona overbought dan oversold.
Ketika AbsCMO di atas melewati jalur atas yang ditentukan (default 70), berarti pasar melangkah ke overbuy, melakukan shorting; ketika AbsCMO di bawah melewati jalur bawah yang ditentukan (default 20), berarti pasar melangkah ke oversell, melakukan overdoing.
Bandingkan dengan indikator momentum lainnya, indeks AbsCMO memiliki keuntungan sebagai berikut:
Strategi ini memiliki risiko utama sebagai berikut:
Risiko dapat dikurangi dengan mengurangi periode kepemilikan posisi, mengoptimalkan parameter, atau menggunakan kombinasi dengan indikator lainnya.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi indikator nilai absolut dinamis secara keseluruhan adalah strategi perdagangan jangka menengah yang relatif praktis. Ini menanggapi karakteristik dinamika absolut jangka menengah harga, menilai tren jangka menengah pasar dengan penilaian yang lebih kuat. Namun, strategi ini tidak sensitif terhadap fluktuasi tajam jangka pendek, dan ada beberapa risiko.
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 17/02/2017
// This indicator plots the absolute value of CMO. CMO was developed by Tushar
// Chande. A scientist, an inventor, and a respected trading system developer,
// Mr. Chande developed the CMO to capture what he calls "pure momentum". For
// more definitive information on the CMO and other indicators we recommend the
// book The New Technical Trader by Tushar Chande and Stanley Kroll.
// The CMO is closely related to, yet unique from, other momentum oriented indicators
// such as Relative Strength Index, Stochastic, Rate-of-Change, etc. It is most closely
// related to Welles Wilder`s RSI, yet it differs in several ways:
// - It uses data for both up days and down days in the numerator, thereby directly
// measuring momentum;
// - The calculations are applied on unsmoothed data. Therefore, short-term extreme
// movements in price are not hidden. Once calculated, smoothing can be applied to
// the CMO, if desired;
// - The scale is bounded between +100 and -100, thereby allowing you to clearly see
// changes in net momentum using the 0 level. The bounded scale also allows you to
// conveniently compare values across different securities.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="CMOabs", shorttitle="CMOabs")
Length = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(20, minval=0)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = abs(100 * (xMomLength / (xSMA_mom * Length)))
pos = iff(nRes > TopBand, -1,
iff(nRes < LowBand, 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="CMO")