Stacked Imbalances Strategy

Créé le 07 janv. 2024 · Mis à jour le 24 janv. 2025

La stratégie Stacked Imbalances est une stratégie mécanique Premium pour la plateforme NinjaTrader 8. C'est une stratégie entièrement automatique qui peut fonctionner en pilotage automatique, tout en offrant la possibilité de l'étendre grâce à ses boutons de commande intégrés. Cette stratégie peut être utilisée pour réussir les défis d'évaluation des propfirms.

Prérequis

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


  • NinjaTrader 8, avec n'importe quel type de licence. Cliquez ici pour télécharger
  • Un compte NinjaTrader avec les données OrderFlow activées, obtenu soit en achetant une licence NinjaTrader à vie, soit via une licence fournie par un programme de financement de traders.
  • Un compte automated-trading.ch avec un Abonnement Premium actif

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.

La stratégie Stacked Imbalances est à la fois une stratégie de suivi de tendance et de reversal, basée sur l'hypothèse que les imbalances de volume empilés sont un symptôme des inefficacités inhérentes à la microstructure du marché.

La stratégie implémente plusieurs configurations d'entrée basées sur les imbalances :

  • Mode Tendance : entrée longue lors d'un imbalance empilé du côté ask, ou entrée courte lors d'un imbalance empilé du côté bid
  • Mode Reversal : entrée longue lors de la détection de vendeurs piégés sur un reversal de prix haussier, ou entrée courte lors de la détection d'acheteurs piégés sur un reversal de prix baissier
  • Mode Auto : bascule automatiquement entre les modes Tendance et Reversal en fonction du Volume Profile du jour précédent par rapport à l'action de prix actuelle

La stratégie vise à être rentable à long terme en générant un rendement attendu positif via un ratio gain/perte supérieur à 1. Elle peut être utilisée sur un type de barre basé sur les prix (barres Range ou Ticks) ou basé sur le temps — voir la section Rapports de Performance pour les réglages suggérés selon les instruments.

Exemples de Configuration d'Entrée

Entrée Longue en Mode Continuation de Tendance

La stratégie détecte un imbalance empilé du côté ask qui la met en garde pour aller à l'achat, puis attend un follow-through d'action de prix pour exécuter le trade — par exemple une bougie clôturant au-dessus du high de la bougie précédente. Dans un tel exemple, le trade a été exécuté avec un stop loss/take profit de 100$ et une quantité de 2 contrats sur MES.

Exemple d'entrée longue en mode continuation de tendance
Cliquez pour agrandir
Entrée de Trades en Mode Reversal

Lorsque Stacked Imbalances Entry Mode est défini sur Reversal, un imbalance empilé côté achat déclenche une entrée courte, et un imbalance empilé côté vente déclenche une entrée longue — par exemple une entrée longue suite à un imbalance empilé côté bid et une bougie de confirmation, rentable car l'imbalance reflétait des ordres limites d'achat à haut volume prenant des profits après une tendance baissière avant que le prix ne s'inverse à la hausse.

Exemple d'entrée de trades en mode reversal
Cliquez pour agrandir
Entrée Longue sur un Signal de Vendeurs Piégés

Avec uniquement le setup Trapped Traders activé, un imbalance empilé côté bid sur une bougie verte (activité de vente agressive piégée, ou important volume d'ordres limites d'achat à ce niveau) met en garde la stratégie ; une bougie de follow-through confirme l'entrée. Un tel setup a produit un trade long rentable avec 2 contrats et un take profit/stop loss 1:1 de 100$ sur MCL.

Exemple d'entrée longue sur signal de vendeurs piégés
Cliquez pour agrandir
Gestion des Ordres « Dollar Cost Averaging » en Action

Quand DCA est utilisé comme stratégie de gestion des ordres, la quantité de la position ouverte est augmentée à chaque clôture de bougie dans la direction gagnante, dans l'espoir d'atteindre le breakeven et de fermer la position tôt au breakeven ou légèrement en profit. Cela ne fonctionne pas toujours — parfois le stop loss est atteint avant le take profit en raison de l'augmentation de quantité, entraînant une sortie précoce en perte. De nombreux backtests sur différents régimes de marché, instruments et unités de temps sont recommandés pour comprendre l'impact à long terme de cette méthode.

Gestion des ordres Dollar cost averaging en action
Cliquez pour agrandir
Signal d'Imbalance Fort mais Sans Follow-Through

Un fort imbalance empilé côté vente peut mettre en garde une entrée courte, mais sans action de prix de confirmation (le prix continue plutôt à la hausse), le signal de vente est annulé — illustrant l'importance du follow-through d'action de prix plutôt qu'un trade réel.

Signal d'imbalance fort mais sans follow-through exemple
Cliquez pour agrandir

Caractéristiques

La stratégie Stacked Imbalances possède un ensemble de caractéristiques uniques :

  • Moteur de détection des imbalances performant et développé en interne
  • Aucun ordre en attente n'est placé — uniquement des ordres au marché
  • Stratégie entièrement automatique, pouvant être mise à l'échelle en plusieurs instances
  • Peut être exécutée comme stratégie semi-automatique via l'interface de trading automatisé du panneau des graphiques
  • Capacités de backtesting précises suivant les meilleures pratiques officielles de NinjaTrader, avec un backtesting précis d'entrée/sortie 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 sur les comptes de courtage NinjaTrader

Paramètres

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

Général
Execute Historical TradesDoit être coché lorsque la stratégie s'exécute en modes Historique, Backtest ou Optimization, et décoché en mode Live Real-Time.
Daily TakeProfit TargetLa stratégie s'arrête pour la journée une fois ce montant de profit réalisé quotidien atteint. Ignoré si réglé à 0.
Weekly TakeProfit TargetLa stratégie s'arrête pour la semaine une fois ce montant atteint après la fermeture d'une position. Réinitialisé à chaque nouvelle semaine. 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 après la fermeture d'une position (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.
Swings PeriodDéfinit le nombre de bougies suffisant pour séparer deux swings du même type. Plus cette valeur est élevée, moins il y a de swings au total ; plus elle est basse, plus il y en a. Une valeur de 3 ou 4 est habituelle.
Draw Price SwingsActive/désactive le dessin des swings sur le graphique. Les swings sont toujours analysés et traités indépendamment de ce paramètre, qui n'affecte que la visibilité.
Buy Imbalances Color / Sell Imbalances ColorCouleur des zones d'imbalance empilées haussières/baissières dessinées sur le graphique.
Execute on MicrosExé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 pour mieux gérer le risque. Tous les calculs de risque se font sur l'instrument d'exécution.
Execution InstrumentChoisissez, parmi les Micros disponibles sur votre connexion NinjaTrader, l'instrument d'exécution. Les positions historiques et en direct ne seront pas affichées sur le graphique dans ce cas.
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 TimeSpécifie le(s) intervalle(s) de temps durant lesquels la stratégie est autorisée à placer des positions — par exemple 09:30-16:15 pour les RTH en EST, ou 00:01-08:00,09:55-15:55,18:01-23:59 pour couvrir RTH et ETH tout en excluant les périodes volatiles. Les intervalles doivent être listés par ordre croissant (même celui chevauchant minuit vers la session suivante) et sont coupés à minuit pour éviter les problèmes lors du passage à un nouveau jour.
Quantity Strategy
  • Fixed Quantity : quantité fixe par position ; ignorée si le risque évalué dépasse Max Risk Currency
  • 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é d'ordres pouvant invalider un compte.
Trade Entry Mode
  • Immediate : ouvre une position immédiatement à la clôture de la bougie quand un setup d'entrée se produit
  • Wait For Bar Confirmation : attend une bougie clôturant plus haut (long) ou plus bas (court) que la bougie de setup — aide à éviter les cas où le prix s'inverse contre le setup
  • Wait For FVG Confirmation : attend qu'une Fair Value Gap clôture plus haut (long) ou plus bas (court) que la bougie de setup — vise des entrées à plus haute probabilité
Order QtyQuantité par position quand Quantity Strategy est Fixed — utilisée aussi pour chaque augmentation de quantité si le mécanisme de gestion des ordres augmente la position.
Enable Trapped Traders EntryActive/désactive l'entrée sur les signaux de trapped traders — un imbalance empilé sur une bougie reversal suivi d'un follow-through cassant au-dessus/au-dessous du high/low de la bougie d'imbalance.
Enable Stacked Imbalances EntryActive/désactive le signal d'entrée de suivi de tendance — un imbalance empilé suivi du même type de follow-through.
Stacked Imbalances Entry Mode Définit le mode d'entrée pour Enable Stacked Imbalances Entry.
  • Trend Following : entre dans la direction de l'imbalance empilé, en espérant une continuation de tendance
  • Reversal : entre dans la direction opposée, en espérant profiter d'un reversal de prix
  • Auto : définit un biais de tendance à partir du Volume Profile RTH (9:30-16:15 EST) du jour précédent — long uniquement si le prix est au-dessus de la Value Area High précédente, court uniquement si en-dessous de la Value Area Low précédente, reversal si le prix est entre VaL et VaH, ou tendance (long ou court) si le profil précédent était une distribution double et que le prix se situe entre ses deux composants
VWAP FilterActive/désactive un filtre VWAP pour les entrées — les entrées longues nécessitent un prix au-dessus du VWAP, les entrées courtes un prix en-dessous.
Swing Filter Active/désactive un filtre de tendance basé sur les swings pour les entrées, analysant les pivots de swing consécutifs.
  • Les entrées longues sont autorisées uniquement si au moins 2 swings bas consécutifs se sont produits avant le setup
  • Les entrées courtes sont autorisées uniquement si au moins 2 swings hauts consécutifs se sont produits avant le setup
Imbalances
Min Imbalance RatioRatio minimum entre les volumes bid/ask diagonaux pour considérer un imbalance.
Min Imbalance VolumeValeur de volume minimum du côté fort (bid/ask) pour considérer un imbalance.
Max Imbalance Gap (Ticks)Tolérance d'écart entre les niveaux de stacked imbalance — des imbalances qui ne sont pas parfaitement empilés (avec des écarts de ticks entre eux) comptent tout de même comme un cluster si ce paramètre est supérieur à un.
Min Stacked Imbalance CountNombre minimum d'imbalances dans un cluster de stacked imbalances — généralement 3 ou plus.
Gestion des Ordres
Order Management Strategy
  • 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)
  • ATM Strategy : délègue entièrement la gestion de la position à un modèle de stratégie ATM NinjaTrader de votre choix, sélectionné via le panneau Chart Trader
  • Dollar Cost Averaging (Grid) : augmente la quantité de l'ordre chaque fois qu'un swing se forme du côté perdant du trade, moyennant le prix de la position à la baisse
  • Trail Stop on Swings : suit le stop loss chaque fois qu'un swing se forme dans la direction gagnante
  • None : utilise à la place le stop loss défini par Stop Loss Currency
ATM Strategy Template NameUtilisé uniquement avec la méthode ATM Strategy — le nom exact du modèle de votre stratégie ATM personnalisée, affiché dans une liste déroulante des modèles disponibles.
On Opposite Signal
  • Breakeven : déplace le stop loss au breakeven lorsqu'un signal opposé se produit
  • Close Position : ferme immédiatement la position lorsqu'un signal opposé se produit
  • Do Nothing : ignore les signaux opposés
StopLoss Strategy
  • Bar High Low : place le stop loss au niveau bas/haut de la bougie d'imbalance (également borné par Stop Loss Currency ; la position se ferme dès que l'un des niveaux est atteint)
  • Last Swing : place le stop loss au niveau haut/bas du swing de prix précédent (même borne Stop Loss Currency)
  • Fixed Currency Value : seul le stop loss défini par Max Stop Loss Currency est utilisé
  • Points : un nombre fixe de points depuis l'entrée
TakeProfit Strategy
  • Fixed Currency Value, basé sur Take Profit Currency
  • Ratios gain/perte fixes : 0.5:1 à 6:1, calculés à partir du prix du stop loss
  • Points, un nombre fixe de points depuis l'entrée
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 PointsDisponible quand la stratégie Stop Loss 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. Sinon, réglez-le suffisamment haut pour ne pas interférer avec les stratégies basées sur des ratios.
Enable Price BreakevenActive/désactive le mécanisme de breakeven basé sur le prix.
Price Breakeven Strategy
  • Points : le breakeven se déclenche en points
  • Percentage : le breakeven se déclenche en pourcentage du take profit atteint
Price Breakeven TriggerDisponible si le breakeven basé sur le prix est activé — la valeur de déclenchement (en points, ou en pourcentage de 1 à 100) nécessaire pour placer le stop loss au breakeven.
Enable Time BreakevenActive/désactive un mécanisme de breakeven basé sur le temps (en minutes).
Time Breakeven Trigger (Minutes)Disponible si le breakeven basé sur le temps est activé — le nombre de minutes nécessaire pour placer le stop loss au breakeven.
Paramètres de Trailing Stop
Trailing Stop Strategy Utilisé avec la méthode de gestion des ordres Classic Trail Stop.
  • 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.
Paramètres DCA (Grid)
Breakeven Profit ShiftUtilisé avec la méthode de gestion des ordres DCA — ajoute un peu de profit à la définition du breakeven, pour couvrir les frais de commission lors de la fermeture de la grille au breakeven.
Grid Size to BreakevenUtilisé avec la méthode de gestion des ordres DCA — le nombre d'augmentations d'ordre requis avant d'envisager de fermer la position au breakeven.
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.
Entry Mode Switch ButtonBascule le mode d'entrée de la stratégie entre Trend et Reversal.
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 Qty ButtonAugmente la quantité de la position active actuelle du montant défini dans Order Qty — utile pour faire du dollar-cost-averaging manuel ou doubler la mise après un signal de confirmation côté gagnant.

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.6.0.0 · Publiée il y a 1 an
Ce fichier a été téléchargé 1074 fois. Dernier téléchargement : il y a 1 heure.

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.
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, Historique, Backtest et Optimization 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

  • Added CET timezone; Added Fair Value Gap entry filter; Added 1.5:1 take profit option; Fixed fixed-value take profit interference with dynamic mode; Optimized memory usage on optimizations; Added Points as stoploss option; Added Risk per trade / max allowed risk parameters; Added StopLoss Offset Points parameter; Upgraded price breakeven methods; Added time based breakeven; Better dynamic quantity calculation; Added Points based take profit; Added Weekly take profit target

  • Fix duplicate Chart Panel controls

  • Added Execution on Micros; Added new trail stoploss method; Added stoploss offset in points; Various Fixes

  • Added Breakeven option; Removed maximum count of trades as daily stop trade method

  • Bug Fix: error on render method

  • Bug Fix: Max Currency Risk should not take over stoploss price

  • Added additional daily stop strategies; Added Risk adjusted quantity strategy; Added Auto switch Trend/Reversal entry modes; Added VWAP filter for entries; Added Swing direction filter for entries

  • Major update: adding ATM Strategy management capabilities

  • Added Entry Mode Switch to command buttons

  • Bug Fix: Last Swing StopLoss method was incorrect

  • User Friendly parameter value options; Better Swing analysis; Rendering of imbalances zones from within strategy; Added Take profit strategy; Strategy became Premium

  • First Release of the strategy as a free 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.6.0.0
Dernière Mise à Jour il y a 1 an
Téléchargements 1074