
La stratégie multi-période Hull Moving Average Crossover est une stratégie de trading quantitative basée sur la Hull Moving Average (HMA). Elle utilise des indicateurs HMA de différentes périodes pour identifier les tendances du marché et générer des signaux de trading. Le cœur de la stratégie est de déterminer les moments d’entrée et de sortie en observant les croisements de la HMA à court terme et à moyen terme, tout en utilisant la HMA à long terme comme référence pour les tendances globales.
Le principe central de cette stratégie est d’utiliser les caractéristiques de réponse rapide de la moyenne mobile de Hull ((HMA) et les avantages de l’analyse multi-périodes. Elle est concrètement réalisée comme suit:
Calculer l’HMA pour trois périodes différentes:
Le signal de transaction est généré:
L’HMA 3 est un indicateur de tendance à long terme qui, bien qu’il ne soit pas directement impliqué dans la génération de signaux, peut être utilisé pour juger de la tendance globale du marché.
La stratégie utilise un pourcentage fixe de titres de comptes (<10%) comme montant de chaque transaction.
Les signaux d’achat et de vente sont marqués sur le graphique par la fonction PlotShape, ce qui améliore la visualisation.
Les conditions d’alerte pour les positions longues et courtes permettent de surveiller les opportunités de marché en temps réel.
Réduction du retard: La moyenne mobile de Hull a une faible retardation en soi et réagit plus rapidement aux variations de prix que la moyenne mobile traditionnelle.
Analyse multi-périodes: en combinant des HMA de différentes périodes de temps, la stratégie est capable de capturer simultanément les tendances à court, moyen et long terme, améliorant ainsi la précision et la stabilité des transactions.
Filtrage du bruit: L’HMA utilisant des cycles plus longs (75 minutes et 125 minutes) peut filtrer efficacement le bruit du marché à court terme et réduire les faux signaux.
Flexibilité: La stratégie permet aux utilisateurs de personnaliser la longueur et la source de données de chaque HMA pour s’adapter à différents environnements de marché et styles de négociation.
Gestion des risques: Utilisez des ratios fixes de droits et intérêts de compte pour effectuer des transactions, ce qui aide à contrôler les marges de risque.
Visualisation: aide les traders à mieux comprendre et vérifier la logique de la stratégie en affichant des signaux d’achat et de vente visuellement sur le graphique.
Alertes en temps réel: Alertes de signaux de négociation sont mises en place pour permettre aux traders de saisir les opportunités de marché à temps.
Risque de renversement de tendance: Dans un marché en forte tendance, la stratégie peut générer des signaux fréquents, entraînant des sur-échanges et des coûts inutiles.
Risque de marché horizontal: dans les marchés où il n’y a pas de tendance évidente, les croisements HMA peuvent générer de nombreux faux signaux qui affectent la performance de la stratégie.
Sensitivité des paramètres: la performance de la stratégie est fortement dépendante de la longueur et de la période de temps de l’HMA choisie. Différentes combinaisons de paramètres peuvent entraîner des résultats très différents.
Points de glissement et coûts de transaction: les transactions fréquentes peuvent entraîner des points de glissement et des coûts de transaction plus élevés, en particulier dans les marchés à faible liquidité.
Dépendance à la technologie: la stratégie repose entièrement sur les indicateurs techniques, en négligeant les facteurs fondamentaux, qui peuvent être moins performants lors d’événements ou de nouvelles importantes.
Risque de suradaptation: si les paramètres sont sur-optimisés sur des données historiques, cela peut entraîner une mauvaise performance de la stratégie dans les transactions en direct.
Introduction d’un filtre de tendance: Vous pouvez envisager d’utiliser HMA 3 comme filtre de tendance, en ouvrant une position uniquement dans la direction de la tendance à long terme, afin de réduire les transactions contre-courant.
Paramètres d’ajustement dynamique: mise en place d’un mécanisme d’adaptation permettant d’ajuster la longueur et la période des HMA en fonction de la dynamique de la volatilité du marché pour s’adapter à différents environnements de marché.
Augmentation des mécanismes de stop-loss et de stop-loss: introduction de règles de stop-loss et de stop-loss basées sur l’ATR ou sur des pourcentages fixes pour mieux contrôler les risques et verrouiller les bénéfices.
Optimisation de la gestion des positions: mise en œuvre de stratégies de gestion des positions plus complexes, telles que l’ajustement dynamique de la taille des positions en fonction de la volatilité ou de la perte de compte.
Intégration d’autres indicateurs techniques: Intégration d’autres indicateurs techniques tels que le RSI, le MACD, etc. pour créer des conditions d’entrée et de sortie plus complètes.
Retour et optimisation: effectuer un retour d’expérience étendu dans différentes conditions de marché et périodes de temps afin de trouver la combinaison optimale de paramètres.
Prendre en compte les facteurs fondamentaux: introduire la prise en compte de la publication de données économiques importantes ou d’événements corporatifs, et ajuster les actions stratégiques à une période donnée.
Mise en œuvre de transactions partielles: permet à la stratégie d’exécuter des transactions partielles en fonction de l’intensité du signal, plutôt que d’entrer et de sortir la position entière à chaque fois.
Une stratégie de trading quantitative qui combine les caractéristiques de réponse rapide de la moyenne mobile de Hull et les avantages de l’analyse multi-périodes. En observant les relations croisées entre les HMA de différentes périodes de temps, la stratégie est capable d’identifier efficacement les tendances du marché et de générer des signaux de trading. Son avantage réside dans la réduction du retard des moyennes mobiles traditionnelles tout en améliorant la fiabilité du signal grâce à l’analyse multi-périodes.
Afin d’améliorer encore la stabilité et la rentabilité de la stratégie, il est possible d’envisager des améliorations dans des domaines tels que l’introduction de filtres de tendance, l’ajustement des paramètres dynamiques et l’optimisation de la gestion des positions. En outre, en combinaison avec d’autres indicateurs techniques et facteurs fondamentaux, il est possible de créer un système de négociation plus complet et plus adapté aux différents environnements de marché.
Dans l’ensemble, cette stratégie offre aux traders un cadre potentiel qui, grâce à une optimisation et une amélioration continues, est susceptible de devenir un puissant outil de trading quantitatif. Cependant, dans la pratique, les traders doivent toujours évaluer soigneusement les risques du marché et s’adapter en fonction de leur tolérance au risque et de leurs objectifs de trading.
/*backtest
start: 2024-06-01 00:00:00
end: 2024-06-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title='Hull v2 Strategy', shorttitle='V2 HMA', overlay=true)
// Hull MA 1
length_1 = input.int(20, minval=1, title="Length 1")
src_1 = input(close, title='Source 1')
timeframe_1 = input.timeframe('25')
hullma_1 = request.security(syminfo.tickerid, timeframe_1, ta.wma(2 * ta.wma(src_1, length_1 / 2) - ta.wma(src_1, length_1), math.round(math.sqrt(length_1))))
plot(hullma_1, title='Hull MA 1', color=color.blue, linewidth=2)
// Hull MA 2
length_2 = input.int(20, minval=1, title="Length 2")
src_2 = input(close, title='Source 2')
timeframe_2 = input.timeframe('75')
hullma_2 = request.security(syminfo.tickerid, timeframe_2, ta.wma(2 * ta.wma(src_2, length_2 / 2) - ta.wma(src_2, length_2), math.round(math.sqrt(length_2))))
plot(hullma_2, title='Hull MA 2', color=color.red, linewidth=2)
// Hull MA 3
length_3 = input.int(20, minval=1, title="Length 3")
src_3 = input(close, title='Source 3')
timeframe_3 = input.timeframe('125')
hullma_3 = request.security(syminfo.tickerid, timeframe_3, ta.wma(2 * ta.wma(src_3, length_3 / 2) - ta.wma(src_3, length_3), math.round(math.sqrt(length_3))))
plot(hullma_3, title='Hull MA 3', color=color.green, linewidth=2)
// Cross Strategy
longCondition = ta.crossover(hullma_1, hullma_2)
shortCondition = ta.crossunder(hullma_1, hullma_2)
// Entry and Exit
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Plot Buy/Sell Signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title='Buy Signal', text='BUY')
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title='Sell Signal', text='SELL')
// Alerts
alertcondition(longCondition, title='Long Alert', message='Long Condition Met')
alertcondition(shortCondition, title='Short Alert', message='Short Condition Met')