Stratégie de filtrage de l'élan de la moyenne mobile

Auteur:ChaoZhang est là., Date: 2023-12-12 à 12h35
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de négociation de moyenne mobile construite avec des techniques de filtrage de l'élan.

La logique de la stratégie

L'indicateur principal de cette stratégie est l'oscillateur de dynamique de Chande (CMO) filtré par dynamique. L'oscillateur de dynamique de Chande est une sorte d'indicateur de dynamique qui juge la dynamique des tendances en calculant le rapport de la somme des valeurs absolues des journées de hausse et de baisse par rapport à la somme des hausses et baisses de prix. Cette stratégie l'améliore en fixant un seuil minimum de changements de prix appelé filtre.

Le paramètre inverse d'entrée peut inverser les signaux d'origine pour réaliser une opération inverse.

Analyse des avantages

Il s'agit d'une stratégie de suivi des tendances très stable et fiable. En adoptant des techniques de filtrage de l'élan, il peut filtrer efficacement le bruit du marché et éviter d'être piégé. La stratégie a un grand espace d'optimisation des paramètres, des paramètres tels que Filtre, TopBand, LowBand, etc. peuvent être ajustés pour optimiser l'indicateur de stratégie.

Analyse des risques

La stratégie repose principalement sur le suivi des tendances, de sorte qu'elle est sujette à la génération de faux signaux et de pertes sur les marchés à plage.

Pour réduire ces risques, les paramètres doivent être raisonnablement optimisés pour rendre les signaux plus stables et fiables; éviter d'utiliser cette stratégie sur les marchés à plage, choisir des outils de stratégie plus appropriés; utiliser les fonctions de négociation inversées avec prudence, éviter de l'activer lorsque l'optimisation des paramètres n'est pas idéale.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Optimiser la valeur du paramètre Filtre, s'assurer de filtrer le bruit du marché tout en gardant la fréquence de négociation pas trop basse.

  2. Optimiser la plage de paramètres de TopBand et LowBand pour qu'elle corresponde à la plage de volatilité du marché afin d'éviter les faux signaux.

  3. Utiliser l'analyse de marche vers l'avenir et d'autres méthodes pour optimiser dynamiquement les paramètres afin que les paramètres de stratégie s'adaptent aux changements du marché.

  4. Ajoutez une logique de stop loss et définissez des points de stop loss raisonnables pour contrôler les pertes.

  5. Filtrez avec d'autres indicateurs techniques tels que MACD, KD pour éviter les faux échanges sur les marchés non tendance.

Résumé

Il s'agit d'une stratégie de suivi des tendances très pratique. Elle adopte des techniques de filtrage de l'élan pour freiner efficacement le bruit du marché et faire des signaux plus clairs et plus fiables. Grâce à l'optimisation des paramètres et à l'optimisation de la logique, elle peut être adaptée à 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")


Plus de