Il s’agit d’une stratégie de négociation en moyennes mobiles construite à l’aide de la technologie de filtrage dynamique. Elle filtre les fluctuations de prix mineures en définissant des seuils de variation des prix, en choisissant de ne prendre en compte que les variations de prix importantes, ce qui améliore la stabilité de la stratégie.
L’indicateur de fluctuation de la dynamique de Cande est un type d’indicateur de dynamique qui permet de juger de la dynamique de la dynamique en calculant la somme de la valeur absolue du nombre de jours de marge et la somme de la différence entre la hausse et la baisse des prix. La stratégie a été améliorée en mettant en place un filtre pour les paramètres de la plus petite baisse de la variation des prix, qui ne participe au calcul de la CMO que lorsque la variation des prix dépasse cette baisse.
Sur la base de l’indicateur calculé, il définit le TopBand en ligne haute et le LowBand en ligne basse, générant un signal de transaction lorsque l’indicateur dépasse ces deux lignes. Enfin, le paramètre d’entrée inverse inverse peut inverser le signal d’origine et réaliser une opération inverse.
Il s’agit d’une stratégie de suivi de tendance très stable et fiable, qui, grâce à la technologie de filtrage dynamique, filtre efficacement le bruit du marché et empêche la spéculation. Il y a beaucoup d’espace pour optimiser les paramètres de la stratégie, il est possible d’optimiser les indicateurs de la stratégie en ajustant des paramètres tels que Filter, TopBand et LowBand.
La stratégie est basée sur le suivi de tendances, ce qui entraîne des signaux erronés et des pertes dans le marché de la liquidation. En outre, une mauvaise optimisation des paramètres peut entraîner une fréquence de négociation trop élevée ou une instabilité du signal. Enfin, une mauvaise utilisation des paramètres de trading inversés peut entraîner des pertes inutiles.
Afin de réduire ces risques, il convient d’optimiser raisonnablement les paramètres pour rendre le signal plus stable et plus fiable. Évitez d’utiliser cette stratégie lors de la correction des marchés et choisissez un outil de stratégie plus approprié. Utilisez avec prudence la fonction de trading inversé et évitez d’ouvrir la fonction de trading inversé si la paramétration n’est pas optimisée.
Cette stratégie peut être optimisée dans les directions suivantes:
Optimiser les paramètres de Filter pour filtrer le bruit du marché tout en veillant à ce que la fréquence des transactions ne soit pas trop faible.
Optimiser la plage de paramètres de TopBand et LowBand pour les faire correspondre à l’amplitude des fluctuations du marché et éviter les faux signaux.
Les paramètres d’optimisation dynamique sont utilisés pour adapter les paramètres de stratégie aux changements du marché, en utilisant des méthodes telles que l’analyse de marche en avant.
Ajout d’une logique d’arrêt de perte et de mise en place d’un point de perte raisonnable pour contrôler les pertes.
En combinant les fluctuations avec d’autres indicateurs, tels que MACD, KD, etc., il est possible d’éviter les erreurs de trading sur les marchés non tendanciels.
Il s’agit d’une stratégie de suivi de tendance très pratique. Elle utilise la technologie de filtrage dynamique, qui permet de supprimer efficacement le bruit du marché et de rendre le signal plus clair et plus fiable. Par l’optimisation des paramètres et de la logique, elle peut être adaptée en un outil de trading quantitatif fiable et stable.
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 02/03/2017
// This indicator plots a CMO which ignores price changes which are less
// than a threshold value. 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.
////////////////////////////////////////////////////////////
fFilter(xSeriesSum, xSeriesV, Filter) =>
iff(xSeriesV > Filter, xSeriesSum, 0)
strategy(title="CMOfilt", shorttitle="CMOfilt")
Length = input(9, minval=1)
Filter = input(3, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMom = close - close[1]
xMomAbs = abs(close - close[1])
xMomFilter = fFilter(xMom, xMomAbs, Filter)
xMomAbsFilter = fFilter(xMomAbs,xMomAbs, Filter)
nSum = sum(xMomFilter, Length)
nAbsSum = sum(xMomAbsFilter, Length)
nRes = 100 * nSum / nAbsSum
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="CMOfilt")