
La stratégie Dynamic Absolute Value Indicator est une version améliorée de Dynamic Indicator CMO développée par Tushar Chande. Cette stratégie permet de déterminer si le marché est actuellement en survente ou en survente en calculant la valeur absolue de la dynamique des prix afin de capturer les fluctuations des prix à moyen terme du marché.
La mesure centrale de cette stratégie est l’indicateur CMO amélioré, appelé AbsCMO. La formule de calcul de l’AbsCMO est:
AbsCMO = abs(100 * (最新收盘价 - Length周期前的收盘价) / (Length周期内价格波动绝对值的简单移动平均 * Length))
La longueur représente la longueur moyenne de la période. Les valeurs AbsCMO sont comprises entre 0 et 100. L’indicateur combine la direction de la dynamique et la monumentalité de l’intensité, permettant de déterminer clairement les tendances à moyen terme du marché et les zones de survente et de survente.
Lorsque AbsCMO est en haut de la trajectoire indiquée (défaut 70), cela signifie que le marché entre en survente et en survente. Lorsque AbsCMO est en bas de la trajectoire indiquée (défaut 20), cela signifie que le marché entre en survente et en survente.
Par rapport aux autres indicateurs de dynamique, l’indicateur AbsCMO présente les avantages suivants:
La stratégie présente principalement les risques suivants:
Le risque peut être réduit par une réduction appropriée de la période de détention, l’optimisation des paramètres, ou en combinaison avec d’autres indicateurs.
Cette stratégie peut être optimisée dans les domaines suivants:
La stratégie d’indicateur de valeur absolue dynamique est une stratégie de négociation à moyen terme relativement pratique dans son ensemble. Elle réagit aux caractéristiques de dynamique absolue à moyen terme des prix et est plus judicieuse pour juger de la tendance à moyen terme du marché.
/*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")