
Strategi Indeks Nilai Mutlak Dinamika adalah versi yang lebih baik dari Indeks Nilai Mutlak CMO yang dibangunkan oleh Tushar Chande. Strategi ini menilai sama ada pasaran kini berada dalam keadaan overbought atau oversold dengan mengira nilai nilai mutlak dinamika harga untuk menangkap turun naik harga dalam tempoh pertengahan pasaran.
Penunjuk utama strategi ini adalah penunjuk CMO yang ditingkatkan, yang dikenali sebagai AbsCMO. Formula pengiraan AbsCMO adalah:
AbsCMO = abs(100 * (最新收盘价 - Length周期前的收盘价) / (Length周期内价格波动绝对值的简单移动平均 * Length))
Di antaranya, Length mewakili panjang tempoh purata. Julat nilai AbsCMO adalah 0 hingga 100. Penunjuk ini menggabungkan arah momentum dan monumentality intensiti, yang dapat menentukan dengan jelas trend pertengahan pasaran dan kawasan overbought dan oversold.
Apabila AbsCMO di atas melintasi laluan atas yang ditetapkan (default 70), menunjukkan bahawa pasaran melangkah ke atas untuk membeli, melakukan shorting; apabila AbsCMO di bawah melintasi laluan bawah yang ditetapkan (default 20), menunjukkan bahawa pasaran melintasi jalan untuk menjual, melakukan lebih banyak.
Berbanding dengan petunjuk momentum lain, Indeks AbsCMO mempunyai kelebihan berikut:
Strategi ini mempunyai risiko utama:
Risiko boleh dikurangkan dengan memendekkan tempoh pemegang kedudukan, mengoptimumkan parameter, atau digunakan dengan kombinasi penunjuk lain.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Strategi penunjuk nilai mutlak dinamik secara keseluruhan adalah strategi perdagangan jangka menengah yang lebih praktikal. Ia bertindak balas terhadap ciri-ciri pergerakan mutlak jangka menengah harga, menilai kecenderungan jangka menengah pasaran dengan kebijaksanaan yang lebih kuat. Tetapi strategi ini tidak sensitif terhadap turun naik yang teruk dalam jangka pendek, terdapat risiko tertentu.
/*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")