
A estratégia do indicador de valor absoluto de dinâmica é uma versão melhorada do indicador de dinâmica CMO, baseado no desenvolvimento de Tushar Chande. A estratégia determina se o mercado está atualmente em um estado de sobrecompra ou sobrevenda, calculando o valor do indicador de dinâmica absoluto do preço, para capturar a flutuação de preços no mercado a médio prazo.
O indicador central da estratégia é o indicador CMO melhorado, conhecido como AbsCMO. A fórmula de cálculo do AbsCMO é:
AbsCMO = abs(100 * (最新收盘价 - Length周期前的收盘价) / (Length周期内价格波动绝对值的简单移动平均 * Length))
Dentre eles, o comprimento representa a duração do período médio. Os valores da AbsCMO variam de 0 a 100. O indicador combina a direção do impulso e a monumentalidade da intensidade, permitindo uma clara determinação da tendência do mercado a médio prazo e das áreas de sobrecompra e sobrevenda.
Quando o AbsCMO atravessa o trajeto superior designado (default 70), o mercado entra em sobrecompra e fechamento; quando o AbsCMO atravessa o trajeto inferior designado (default 20), o mercado entra em sobrevenda e fechamento.
Em comparação com outros indicadores de dinâmica, o AbsCMO tem as seguintes vantagens:
A estratégia tem os seguintes riscos:
Pode-se reduzir o risco através da redução apropriada do período de detenção da posição, otimizar os parâmetros, ou usar em combinação com outros indicadores.
A estratégia pode ser melhorada em vários aspectos:
A estratégia do indicador de valor absoluto de dinâmica é, em geral, uma estratégia de negociação de médio prazo mais prática. Ela reage às características de dinâmica absoluta de médio prazo dos preços e tem um julgamento mais forte sobre a tendência de médio prazo do mercado.
/*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")