Harmonics XABCD Strategy

Créé le 12 juil. 2025 · Mis à jour le 12 juil. 2025

La stratégie Harmonics XABCD est une stratégie Premium mécanique pour la plateforme NinjaTrader 8. Cette stratégie peut être utilisée pour réussir les programmes de financement des traders.

Prérequis

Pour utiliser correctement cette stratégie, vous devriez avoir les prérequis suivants disponibles.


Avertissement Important

Nous vous recommandons vivement de ne jamais exécuter vos systèmes de trading algorithmique sur votre argent durement gagné. Vous devriez toujours minimiser votre risque et exécuter vos stratégies sur des programmes de financement pour traders, afin que le montant maximum de votre risque soit la cotisation mensuelle que vous payez à ces programmes.

Cette stratégie est basée sur l'entrée en position suite à la détection de patterns harmoniques XABCD. Ces patterns sont définis par des points de swing généralement nommés X, A, B, C et D, qui délimitent des legs sur lesquels des ratios peuvent être calculés — par exemple, le ratio AB/XA, obtenu en divisant le retracement du leg AB par le mouvement initial du leg XA. Lorsque chaque leg respecte un ensemble de règles de ratio spécifique, le pattern est reconnu.

Pour en savoir plus sur les patterns harmoniques XABCD, consultez la page de l'indicateur Harmonics XABCD.

Exemples de Configuration d'Entrée

Les exemples suivants ont été sélectionnés pour illustrer les meilleurs cas de figure où le moteur de reconnaissance détecte des patterns valides. En trading en temps réel, un pattern détecté ne mènera pas toujours à une position gagnante — c'est la réalité du trading, où l'objectif est la rentabilité à long terme plutôt qu'un gain garanti à chaque signal. Tous les exemples ci-dessous sont pris sur l'instrument MES en timeframe 1 minute.

Exemple #1 : Bullish Butterfly

La stratégie a reconnu un pattern Bullish Butterfly. Une bougie après la détection du pattern, la stratégie a ouvert une position longue visant 1,5 fois la distance du stop (le prix du swing D du pattern), aboutissant à une position gagnante. Dans cet exemple, la stratégie est réglée pour entrer immédiatement à la clôture de la bougie, sans attendre de bougie de confirmation.

Exemple de pattern harmonique Bullish Butterfly
Cliquez pour agrandir
Exemple #2 : Patterns Butterfly superposés

Cet exemple illustre un aspect fréquent de la stratégie : les patterns superposés. Deux patterns Butterfly ont été détectés l'un sur l'autre — dans ce cas, la stratégie entre sur le premier pattern valide.

Exemple de patterns Butterfly superposés
Cliquez pour agrandir
Exemple #3 : Bullish Gartley dans le sens de la tendance

Le pattern harmonique XABCD Gartley est un pattern de continuation de tendance. Deux positions consécutives ont été prises à partir de deux patterns Gartley alignés avec la tendance.

Exemple de pattern harmonique Bullish Gartley
Cliquez pour agrandir
Exemple #4 : Perte évitée grâce au filtre de tendance

Cet exemple illustre le filtre de tendance évitant des positions à contre-tendance. Le filtre analyse les points de swing pour déterminer la direction dominante — une séquence ascendante de points de swing restreint la stratégie aux entrées longues uniquement, ce qui a permis d'éviter deux positions courtes perdantes sur ce graphique qui auraient sinon été déclenchées par des patterns Gartley valides à contre-tendance.

Filtre de tendance évitant des positions à contre-tendance
Cliquez pour agrandir

Caractéristiques

La stratégie Harmonics XABCD possède un ensemble de caractéristiques uniques :

  • Implémentation maison robuste de l'algorithme de reconnaissance des patterns harmoniques XABCD
  • Aucun ordre en attente n'est placé — uniquement des ordres au marché, ce qui ne produit aucun ordre rejeté ou partiellement exécuté
  • Stratégie entièrement automatique, pouvant être mise à l'échelle en instances illimitées avec une seule licence
  • Capacités de backtesting précises suivant les meilleures pratiques officielles de NinjaTrader, avec un backtesting précis au niveau du tick
  • Bibliothèque de gestion des ordres robuste et maison, résistante à la perte de connexion, fonctionnant aussi bien sur les comptes Rithmic que Tradovate
  • Boutons de commande sur le graphique pour gérer manuellement les positions si nécessaire
  • Stratégie très légère, pouvant tourner en plusieurs instances même sur un VPS peu puissant
Quantité Dynamique et Gestion des Risques

Comme toutes nos stratégies, celle-ci implémente deux méthodes pour définir la quantité des positions ouvertes :

  • Quantité Fixe : utilise la même quantité pour chaque position. Si le stop loss varie d'une position à l'autre, le gain/perte varie également.
  • Quantité Ajustée au Risque Dynamique : calcule la quantité de chaque position à partir de son stop loss, du risque maximum autorisé (en $) et de la quantité maximale autorisée — produisant des montants de gain/perte égaux sur toutes les positions.
Gestion de Positions

Comme toutes nos stratégies, celle-ci implémente plusieurs méthodes de gestion de positions :

  • Stratégie ATM : délègue entièrement la gestion de la position à votre propre stratégie ATM, sélectionnée dans une liste déroulante.
  • Classic Trailing Stop : suit le stop loss en fonction d'un déclencheur et d'un montant de traînage.

La stratégie permet aussi de définir le stop loss selon plusieurs méthodes et le take profit selon un ratio — voir la section Paramètres pour le détail.

Gestion des Comptes

La stratégie implémente des déclencheurs d'arrêt de trading quotidiens basés sur le nombre net de positions gagnantes, le nombre net de positions perdantes, ou un objectif de profit net ou de perte nette réalisé.

Paramètres

Nous essayons de garder les paramètres au minimum — seuls les plus importants sont exposés.

Général
Execute Historical TradesActive l'exécution de positions en mode Historique, Backtest ou Optimization — utile pour tester la performance sur des jours passés, mais devrait être décoché en mode Live.
Daily TakeProfit TargetLa stratégie s'arrête pour la journée une fois ce montant de take profit quotidien atteint. Ignoré si réglé à 0.
Daily StopLoss LimitLa stratégie s'arrête pour la journée une fois la limite de perte quotidienne atteinte (valeur positive — par exemple 300 arrête le trading dès que le PnL réalisé est ≤ -300$). Ignoré si réglé à 0.
Stop @ Winning CountArrête le trading pour la journée une fois ce nombre net de positions gagnantes atteint. Ignoré si réglé à 0.
Stop @ Losing CountArrête le trading pour la journée une fois ce nombre net de positions perdantes atteint. Ignoré si réglé à 0.
Execute on Different InstrumentExécute les positions sur un instrument différent de celui du graphique actif — par exemple exécuter la logique sur les Minis mais exécuter sur les Micros. Tous les calculs de risque se font sur l'instrument d'exécution, et ces positions ne sont pas dessinées sur le graphique.
Execution InstrumentChoisissez, parmi les Micros disponibles sur votre connexion NinjaTrader, l'instrument d'exécution. Les positions ne seront pas affichées sur le graphique dans ce cas.
Order LabelUn label suffixé à chaque position envoyée au courtier, utile pour différencier vos positions de celles d'autres utilisateurs de la même stratégie.
Enable/Disable Trading Days Restreint le trading sur certains jours de la semaine.
  • Trade Mondays : active le trading le lundi et le dimanche soir à l'ouverture des marchés Futures
  • Trade Tuesdays, Wednesdays, Thursdays, Fridays : idem, par jour
XABCD Harmonics
Swing PeriodDéfinit le nombre de bougies devant séparer deux swings du même type avant qu'un nouveau swing n'invalide le précédent. Augmenter ce paramètre réduit le nombre global de swings détectés ; le diminuer l'augmente. Il a un impact important sur la qualité des patterns — plus de swings signifient plus de patterns, et inversement.
Show Price SwingsActive/désactive le dessin d'une marque en dessous/au-dessus des points de swing — utile pour visualiser l'analyse de la structure du marché, ces points étant les éléments de base de l'algorithme de reconnaissance des patterns.
Swing Bullish Color / Swing Bearish ColorDéfinit la couleur des points de swing bas (haussiers) et hauts (baissiers).
Swing Opacity (1-100)Opacité du dessin des points de swing — 1 est transparent, 100 est totalement opaque.
Enable Gartley / Enable Bat / Enable Crab / Enable Butterfly / Enable Shark / Enable CypherActive/désactive le trading de chaque pattern harmonique spécifique.
Gartley/Bat/Crab/Butterfly/Shark/Cypher Ratio Tolerance %Définit la tolérance, en pourcentage, appliquée aux règles de ratio des legs de chaque pattern — par exemple, avec une tolérance de 10%, un ratio de leg qui devrait être autour de 0,368 peut varier entre 0,368 - 10% et 0,368 + 10%.
Configuration d'Entrée
Time Zone Le fuseau horaire utilisé pour le paramètre Trade Time ci-dessous. Les marchés Futures fonctionnant sur l'heure de l'Est américain (EST), ce paramètre permet de spécifier l'intervalle de trading relativement à votre propre fuseau horaire.
  • EST, CET, ou Local Time
Trade Time (hh:mm-hh:mm,...)Séquence d'intervalles de temps pendant lesquels la stratégie est autorisée à placer des positions — par exemple 09:30-16:15 pour les heures normales de marché en EST. Plusieurs intervalles peuvent être listés par ordre croissant, par exemple « 00:01-08:00,09:55-15:55,18:01-23:59 » pour couvrir les heures étendues avec une pause autour d'une période volatile, coupée à minuit pour éviter les problèmes de changement de jour.
Quantity Strategy
  • Fixed Quantity : quantité fixe par position ; ignorée si le risque évalué dépasse Target Risk Per Trade ($)
  • Risk Adjusted : taille de contrat dynamique, calculée à partir du prix du stop loss et de Target Risk Per Trade ($)
Max QtyQuantité maximale autorisée quand Risk Adjusted est sélectionné — utile car certains propfirms imposent des limites de quantité pouvant invalider un compte.
Entry Mode Le déclencheur utilisé pour entrer en position une fois un pattern XABCD reconnu et validé.
  • Immediate on Bar Close : entre en position dès que le pattern est confirmé à la clôture de la bougie suivante
  • Wait For Bar Confirmation : attend une bougie de confirmation — une bougie haussière clôturant au-dessus du haut de la bougie précédente pour une entrée longue, ou une bougie baissière clôturant en dessous du bas de la bougie précédente pour une entrée courte
SuperTrend Entry FilterRestreint les entrées longues aux moments où SuperTrend est haussier, et les entrées courtes aux moments où il est baissier.
Swing Trend Entry FilterFiltre les entrées en comparant le premier point de swing du pattern XABCD au swing de prix précédent — une entrée longue exige que le swing précédent soit en dessous du pattern (poursuite d'une tendance haussière), et une entrée courte exige qu'il soit au-dessus.
Order QtyUtilisé uniquement si Quantity Strategy est Fixed — la quantité fixe par position.
Gestion des Ordres
Order Management Strategy
  • ATM Strategy : délègue entièrement la gestion de la position à un modèle de stratégie ATM NinjaTrader de votre choix
  • Classic Trail Stop : suit le stop loss selon un déclencheur et un montant de traînage (voir Paramètres de Trailing Stop ci-dessous)
  • None : le stop loss défini par Target Risk Per Trade ($) est utilisé à la place
ATM Strategy Template NameUtilisé uniquement avec la méthode ATM Strategy — le nom exact du modèle de votre stratégie ATM personnalisée. Doit correspondre à un modèle existant, sinon aucune position ne sera ouverte.
Scale out % Qty at % TargetFerme un pourcentage de la quantité de la position lorsque le prix atteint un pourcentage de l'objectif de profit (arrondi à l'inférieur si fractionnaire — par exemple 50% d'une position de 5 contrats en ferme 2).
Scale out at % TargetLe pourcentage de l'objectif de profit qui déclenche le mécanisme de réduction de position.
Scale out % QtyLe pourcentage de la quantité fermée par le mécanisme de réduction de position.
Enable Price BreakevenActive/désactive le mécanisme de breakeven basé sur le prix.
Breakeven Price Strategy
  • Points : le breakeven se déclenche en points
  • Percentage : le breakeven se déclenche en pourcentage du take profit atteint
Breakeven Price TriggerDisponible si le breakeven basé sur le prix est activé — la valeur de déclenchement requise pour placer le stop loss au breakeven.
StopLoss Strategy
  • Pattern Defined : dérivé de la structure propre du pattern XABCD
  • Last Swing : le swing high le plus récent (position courte) ou le swing low le plus récent (position longue)
  • Fixed Currency Value : seul Target Risk Per Trade ($) est utilisé
  • Points : un nombre fixe de points depuis l'entrée
TakeProfit Strategy
  • Fixed Currency Value : basé sur Take Profit Currency
  • Points : un nombre fixe de points depuis l'entrée
  • Pattern Extreme : le point extrême opposé du pattern par rapport au prix d'entrée (généralement le point A ou C, selon le pattern)
  • Ratios gain/perte fixes : 0,5:1 à 6:1
Target Risk Per Trade ($)Risque maximum, en dollars, par position — utilisé avant l'ouverture d'une position pour vérifier que le stop loss calculé respecte cette limite ; sinon, la position est ignorée.
Max Allowed Risk Per ($)Utilisé uniquement avec la quantité Risk Adjusted — contrôle jusqu'où le risque réel calculé peut s'écarter du Target Risk (une correspondance exacte étant rarement possible).
Stop Loss Points / Take Profit PointsDisponible quand la stratégie respective est réglée sur Points.
Stoploss offset PointsAjoute un décalage, en points, au niveau de stop loss calculé — utilisé lors du calcul du risque par position.
Take Profit CurrencyLe montant du take profit en dollars, utilisé quand la stratégie Fixed Currency Value est sélectionnée.
Paramètres de Trailing Stop
Trailing Stop Strategy
  • Points : déclencheur et montant de traînage calculés en points depuis l'entrée
  • Ratio : calculés en ratio du stop loss, miroir côté gagnant
Trailing Stop TriggerLe déclencheur (en points ou en ratio) pour la méthode Classic Trail Stop.
Trail AmountLe montant (en points ou en ratio) suivi une fois le déclencheur atteint.
Super Trend
Visible uniquement quand le paramètre SuperTrend Entry Filter est activé.
SuperTrend ModeBasé sur ATR, ou Adaptive (basé sur la clôture/haut/bas de la bougie).
Period / Multiplier / Moving Avg. Type / SmoothParamètres standards du calcul SuperTrend — période, multiplicateur des bandes, type de moyenne mobile, et période de lissage.
Boutons de Commande
La stratégie expose des boutons de commande manuels sur le panneau Chart Trader — assurez-vous qu'il est affiché sur votre graphique actif.
Arm/Disarm ButtonsActive/désactive manuellement l'entrée en position longue ou courte — utile en cas de biais directionnel.
Close Position ButtonFerme immédiatement la position sur l'instrument actif sans redémarrer la stratégie, qui continue ensuite à chercher de nouvelles positions.
Increase / Decrease Qty ButtonAjuste la quantité de la position active de ±1 contrat.
Set Breakeven ButtonDéplace le stop loss de la position ouverte au breakeven, si cela l'améliore.

Rapports de Performance

Les résultats passés ne garantissent pas les résultats futurs. Tous les résultats de backtesting sont fournis à titre purement indicatif.

  • Les commissions sont incluses, selon le schéma de la licence NinjaTrader Lifetime, pour des résultats réalistes.
  • Nous suivons le guide officiel de NinjaTrader pour un backtesting intrabar précis via des séries de données supplémentaires au niveau du tick, et n'utilisons que des ordres au marché — jamais d'ordres en attente — en temps réel comme en backtest.

Aucun rapport de performance n'a encore été téléversé pour cette stratégie.

Instructions de Téléchargement et d'Installation

Conditions de Licence

Chez automated-trading.ch, vous pouvez choisir soit d'acheter un abonnement mensuel pour utiliser nos produits premium, soit d'utiliser nos produits gratuits sans vous abonner.

Dans les deux cas, vous devez créer un compte afin d'obtenir une licence utilisable pour les produits premium comme gratuits.

Pour obtenir votre licence, il suffit de vous inscrire puis de récupérer votre licence sur la page de facturation.

Important : Ceci est un produit Premium. Il peut être exécuté gratuitement en modes Backtest, Playback et Optimization ; un abonnement Premium actif est requis pour l'exécuter en direct.
Téléchargement
Connectez-vous pour télécharger ce fichier.
Dernière Version v1.0.0.1 · Publiée il y a 1 an
Ce fichier a été téléchargé 209 fois.

Vous pouvez aussi télécharger cette stratégie — et toutes les autres stratégies et indicateurs automated-trading.ch — à tout moment depuis votre page de téléchargements centralisée.

Étapes d'Installation
1
Importez le fichier .zip téléchargé dans NinjaTrader via le menu Import NinjaScript.
2
Ouvrez une nouvelle fenêtre de graphique en vous assurant que la case Tick Replay est cochée (si elle n'est pas visible, allez dans Tools → Options → Market Data et activez Show Tick Replay).
3
Clic droit sur le graphique puis Strategies (ou Ctrl+S) pour ouvrir la fenêtre d'ajout de stratégie, et assurez-vous que la case Enabled est cochée.
4
Après ajout, la stratégie s'exécute d'abord sur les données historiques du graphique, puis bascule en mode Temps Réel et ajoute une zone de texte de licence au panneau Chart Trader — assurez-vous que ce panneau est affiché.
5
Collez votre licence (disponible sur la page de facturation) dans la zone de texte et cliquez sur Check License.
6
Une fois vérifiée, le bouton « Check License » devient vert avec la prochaine date de vérification — à répéter uniquement après cette date.
7
Sans abonnement actif, la stratégie peut tout de même être exécutée en modes Playback et Historique pour la tester au préalable.

Questions Fréquemment Posées

Général

Utiliser un VPS est une bonne pratique mais pas impératif — un VPS Windows d'entrée de gamme suffit pour la plupart des utilisateurs.

Oui, tant que chaque instance s'exécute sur un instrument unique — NinjaTrader agrège les ordres en une seule position par instrument et par compte, donc deux instances sur le même instrument ne fonctionneraient pas.

Oui, mais exécuter directement plusieurs instances de la stratégie est généralement une meilleure solution — la licence permet un nombre illimité d'instances sur plusieurs machines.

Oui — la stratégie est conçue exactement pour cela, et fonctionne parfaitement sur Rithmic, le courtage NinjaTrader, Tradovate, ou tout autre fournisseur connecté à votre plateforme NinjaTrader.

Elle est conçue pour être entièrement automatique, mais ses boutons de commande permettent aussi de gérer les positions manuellement si vous préférez un mode semi-automatique.

Les stratégies automatisées tradent 24/7, exécutent plus vite et plus précisément, éliminent la psychologie et les émotions, et peuvent être mises à l'échelle sur des dizaines voire des centaines d'instances — générant un revenu véritablement passif plutôt qu'un autre travail manuel stressant.

Oui — si vous avez une idée susceptible d'améliorer la stratégie, utilisez la page de contact pour nous en faire part.

Non, le code source est protégé pour des raisons de droits d'auteur.
Facturation

Oui, vous pouvez annuler votre abonnement depuis la page de votre compte à tout moment pour éviter les paiements futurs. Nous ne pouvons pas rembourser la partie inutilisée de votre abonnement, mais vous pourrez continuer à l'utiliser jusqu'à la fin du cycle de facturation.

Non, nous ne proposons pas d'abonnement d'essai, mais vous pouvez télécharger et tester le produit en mode backtest et playback avant de vous abonner.

Nous n'offrons pas de remboursement total ou partiel, mais vous pouvez annuler votre abonnement à tout moment pour arrêter les paiements futurs.
Sceptiques

Je suis développeur logiciel professionnel depuis 2010 et je développe des stratégies de trading automatisées depuis 2012, pour moi-même comme pour des clients partout dans le monde — j'ai aussi travaillé dans la finance et la banque d'investissement. Je ne suis pas un marketeur et je ne sous-traite pas le développement de mes stratégies.

Je ne la vends pas, je la loue, comme source de revenu additionnelle en complément de la diversification de mon propre trading. La stratégie est purement mécanique, sans avantage quantitatif caché qui s'éroderait si davantage de personnes l'utilisaient.

Les ordres en attente (limite) offrent une meilleure exécution des prix et une certaine protection en cas de problème de connectivité, mais peuvent être rejetés en cas de forte volatilité, nécessitent une gestion active, et sont visibles par le courtier. Les ordres au marché garantissent l'exécution quelle que soit la volatilité, sont invisibles au courtier avant soumission, et s'exécutent plus rapidement — le seul vrai inconvénient étant qu'une perte de connexion empêche de les envoyer. Les ordres MIT (market-if-touched) de NinjaTrader sont une bonne alternative si vous tenez à un comportement de type ordre en attente.

Nous suivons le guide officiel de NinjaTrader pour un backtesting intrabar précis via des séries de données supplémentaires au niveau du tick. Ne nous croyez pas sur parole — exécutez un backtest à la fin de chaque journée de trading et comparez-le aux positions réellement prises en direct ce jour-là.

Notes de Mise à Jour

  • First release of the strategy
discord
Rejoignez notre communauté Discord
Des questions, des retours, ou juste envie de discuter avec d'autres traders ? Venez nous dire bonjour.
Rejoindre Discord
En Bref
Plateforme NinjaTrader 8
Catégorie Stratégie
Abonnement Requis Premium
Dernière Version v1.0.0.1
Dernière Mise à Jour il y a 1 an
Téléchargements 209