Croisement de double moyenne mobile combiné à la stratégie quantitative de moyenne mobile de Hull

HMA MA WMA
Date de création: 2024-11-29 16:53:05 Dernière modification: 2024-11-29 16:53:05
Copier: 2 Nombre de clics: 514
1
Suivre
1617
Abonnés

Croisement de double moyenne mobile combiné à la stratégie quantitative de moyenne mobile de Hull

Aperçu

Cette stratégie est basée sur le croisement des signaux de la Hull Moving Average (HMA). En calculant les deux lignes HMA rapides et lentes, elle génère un signal de transaction lorsqu’elles se croisent. La HMA est un indicateur avancé de la moyenne mobile qui réduit le retard par une combinaison spéciale de WMA pondérés, offrant un signal de tendance de marché plus rapide et plus fluide.

Principe de stratégie

Le cœur de la stratégie est de capturer les points de conversion des tendances du marché en utilisant des croisements de HMA de différentes périodes. Le processus de calcul de l’HMA comprend trois étapes: d’abord, le calcul de la WMA du demi-cycle, puis le calcul de la WMA du cycle complet, et enfin, par une combinaison particulière de ces deux WMA, le recalcul de la WMA d’un cycle à la racine carrée du cycle d’origine.

Avantages stratégiques

  1. Les signaux réagissent rapidement: grâce à des méthodes de calcul spéciales, l’HMA réduit considérablement le retard des moyennes mobiles traditionnelles et capte plus rapidement les changements de tendances du marché.
  2. Filtrage du bruit: par la confirmation croisée de deux lignes uniformes, le bruit du marché peut être filtré efficacement, réduisant ainsi les faux signaux.
  3. Flexibilité des paramètres: la stratégie permet d’ajuster les paramètres cycliques des lignes rapides et lentes pour s’adapter à différentes conditions de marché.
  4. Visualisation claire: la stratégie affiche clairement les deux lignes de moyenne et les signaux de négociation sur le graphique, pour faciliter l’analyse et l’optimisation.

Risque stratégique

  1. Risque de choc: dans un contexte de choc horizontal, des croisements fréquents peuvent entraîner des surtransactions et des arrêts continus.
  2. Risque de retard: Bien que la HMA soit moins retardée que la moyenne traditionnelle, il existe un certain retard qui peut manquer le meilleur point d’entrée.
  3. Sensitivité des paramètres: différentes combinaisons de paramètres peuvent entraîner des résultats de transaction très différents, nécessitant une optimisation minutieuse des paramètres.
  4. Risque de fausse rupture: le marché peut subir une fausse rupture qui entraînera de faux signaux de négociation.

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres de tendance: vous pouvez ajouter un indicateur de force de tendance ou un indicateur de force de tendance pour négocier uniquement lorsque la tendance est claire.
  2. Optimisation des mécanismes d’arrêt des pertes: conception de stratégies d’arrêt dynamiques, telles que les stratégies d’arrêt basées sur l’ATR ou la volatilité.
  3. Ajout de conditions de confirmation de transaction: combinaison d’indicateurs de trafic et de dynamique comme signaux de confirmation auxiliaires.
  4. Adaptation des paramètres: développement d’un mécanisme d’ajustement dynamique des paramètres basé sur la volatilité du marché.
  5. Optimisation de la gestion des risques: ajout de modules de gestion des positions et de gestion des fonds.

Résumer

Il s’agit d’une stratégie de négociation quantitative basée sur la croisée des HMA qui fournit des signaux de négociation plus opportuns en réduisant le retard des moyennes mobiles traditionnelles. La stratégie est conçue pour être concise, facile à comprendre et à mettre en œuvre, mais nécessite une attention particulière à l’adaptation et à la gestion des risques dans l’environnement du marché.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Hull Moving Average Crossover", overlay=true)


fastLength = input.int(9, "Fast HMA Length", minval=1)
slowLength = input.int(16, "Slow HMA Length", minval=1)


hma(src, length) =>
    wma1 = ta.wma(src, length / 2)
    wma2 = ta.wma(src, length)
    ta.wma(2 * wma1 - wma2, math.floor(math.sqrt(length)))


fastHMA = hma(close, fastLength)
slowHMA = hma(close, slowLength)


plot(fastHMA, color=color.blue, title="Fast HMA")
plot(slowHMA, color=color.red, title="Slow HMA")


longCondition = ta.crossover(fastHMA, slowHMA)
shortCondition = ta.crossunder(fastHMA, slowHMA)


if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)


plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)