Rejoignez notre page de fans
- Vues:
- 84
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Presque toutes les méthodes fondées sur la structure partent de la même question : quels sont les sommets et les creux qui comptent réellement ? Tout ce qui en découle — la structure du marché, les BOS et CHoCH, les blocs d’ordres, les niveaux de liquidité — repose sur cette réponse unique ; ainsi, la définition que vous choisissez détermine ce que le reste de votre analyse mettra en évidence.
Il existe plusieurs façons courantes d’y répondre. La plus connue est la figure à 3 bougies (la fractale) : une bougie dont le plus haut est supérieur à ceux de ses deux voisines est un plus haut de swing. Elle est symétrique, très simple à calculer, et c’est celle que la plupart des indicateurs de swing utilisent. D’autres élargissent la fenêtre à 5 ou 7 bougies, ou filtrent les candidats en fonction d’un mouvement minimum en points ou de l’ATR.
Cet indicateur utilise une définition différente : la définition du « pullback » utilisée dans Trading Hub 3.0. Au lieu de se demander si une bougie est plus haute que ses voisines, il vérifie si le cours est revenu en arrière et a rejeté cette bougie. Un plus haut ne devient un « swing » que lorsque le marché repasse en dessous du plus bas de la bougie qui l’a formé. Rien n’est déterminé par la forme ; tout est déterminé par ce que fait le cours par la suite.
La différence pratique : une fractale décrit une géométrie, tandis qu’un « pullback » décrit un événement. Comme un « pullback » est un événement, il vous indique également à quel moment le swing est devenu valide — et c’est cet horodatage qui rend possible une implémentation sans redessin.
Fonctionnement de la règle
Le détecteur ne recherche jamais les deux côtés à la fois. Il recherche un côté à la fois et conserve exactement trois informations :
| État | Signification |
|---|---|
| Direction | quel côté est actuellement recherché — un niveau haut ou un niveau bas |
| Extrême suivi | le plus haut (ou le plus bas) observé jusqu’à présent dans la phase actuelle |
| Niveau de référence | le bord opposé de la bougie qui a généré cet extrême |
La référence est l’élément essentiel. Lorsqu’une bougie établit un nouveau plus haut, cette même bougie fournit également le niveau qui le confirmera ultérieurement : son propre plus bas. Le cours doit repasser sous ce plus bas pour que le plus haut soit validé.
Interprétation du graphique :
- A — une phase s'ouvre. Le plus haut suivi et le plus bas de référence proviennent tous deux d'une même bougie.
- B — chaque nouveau plus haut remplace ces deux valeurs. Le plus haut reste provisoire ; rien n’est tracé.
- C — une bougie s'échange enfin en dessous du plus bas de référence. C'est le repli, qui confirme le plus haut suivi comme un plus haut de swing.
- D — la bougie de confirmation lance immédiatement la recherche d’un plus bas, selon le même principe : on suit le plus bas, la référence est son plus haut, un franchissement à la hausse le confirme.
Comme la confirmation d’un côté fait toujours basculer la recherche vers l’autre, les plus hauts et les plus bas de swing s’alternent automatiquement. Il n’y a pas de règle distincte pour l’imposer, ni de comparaison avec les swings antérieurs.
Les règles, bougie par bougie
À chaque clôture de bougie, le détecteur pose deux questions indépendantes : cette bougie a-t-elle atteint un nouvel extrême ? Et a-t-elle franchi la référence ? Quatre combinaisons sont possibles par direction.
| # | Tendance actuelle | Bougie actuelle | Action 1 | Action 2 |
|---|---|---|---|---|
| 1 | À la recherche d'un plus haut | Barre interne — pas de nouveau plus haut, plus bas de référence intact | rien | rien |
| 2 | À la recherche d’un HAUT | Nouveau plus haut, plus bas de référence intact | plus haut suivi = plus haut de cette bougie | plus bas de référence = le plus bas de cette bougie |
| 3 | Recherche d'un PLUS HAUT | — pas de nouveau plus haut, mais les cours s’échangent en dessous du plus bas de référence | confirmer le plus haut suivi comme plus haut de swing | passage au plus bas : plus bas suivi = plus bas de cette bougie, plus haut de référence = plus haut de cette bougie |
| 4 | Recherche d’un HAUT | Barre extérieure — nouveau plus haut et franchissement du plus bas de référence | Confirmer le plus haut de cette bougie comme un plus haut de swing | Passer à « LOW » : plus bas suivi = plus bas de cette bougie, plus haut de référence = plus haut de cette bougie |
| 5 | Recherche d’un PLUS BAS | Barre intérieure — pas de nouveau plus bas, plus haut de référence intact | rien | rien |
| 6 | Recherche d’un PLUS BAS | Nouveau plus bas, plus haut de référence intact | plus bas suivi = plus bas de cette bougie | plus haut de référence = le plus haut de cette bougie |
| 7 | À la recherche d'un PLUS BAS | — pasde nouveau plus bas, mais les cours se négocient au-dessus du plus haut de référence | confirmer le plus bas suivi comme plus bas de swing | passage au HAUT : plus haut suivi = plus haut de cette bougie, plus bas de référence = plus bas de cette bougie |
| 8 | Recherche d’un PLUS BAS | Barre extérieure — nouveau plus bas et franchissement du plus haut de référence | Confirmer le plus bas de cette bougie comme plus bas de swing | passer à HAUT : plus haut suivi = plus haut de cette bougie, plus bas de référence = plus bas de cette bougie |
Les lignes 1 à 4 et 5 à 8 sont exactement symétriques, ce qui explique pourquoi l'ensemble du moteur ne compte que quelques dizaines de lignes.
Le cas rare : une bougie qui franchit les deux niveaux
Les lignes 4 et 8 méritent une explication particulière. Généralement, une bougie prolonge la tendance ou franchit la référence. Une barre extérieure peut faire les deux à la fois : elle établit un nouveau plus haut et s'échange en dessous du plus bas de référence au sein de la même bougie.
Les deux règles la revendiquent alors, et elles se contredisent. La considérer comme une prolongation revient à ignorer une véritable cassure ; la considérer comme une cassure confirmerait un plus haut que cette même bougie a déjà dépassé.
La solution consiste à considérer que la bougie constitue elle-même le swing :
- son propre plus haut est confirmé comme le plus haut de l’oscillation — et non l’ancien plus haut suivi, qu’elle vient de dépasser.
- La même bougie ouvre alors la phase opposée : le plus bas suivi devient son plus bas et le plus bas de référence devient son plus haut.
Une seule bougie porte donc à la fois un plus haut de swing et le début de la phase baissière. Sur le graphique, cela apparaît sous la forme d’un marqueur au-dessus et en dessous de la même barre, avec une jambe verticale entre les deux — ce qui correspond exactement à ce qui s’est passé à l’intérieur de cette bougie.
This is also why the legs are drawn as trend-line objects rather than a DRAW_SECTION buffer. A section plot stores one value per bar and could not hold two points on the same candle.
Elle ne se redessine pas
L’extrême suivi est provisoire et n’est jamais tracé. Un swing n’est inscrit sur le graphique que sur la bougie qui le confirme, et une fois inscrit, il n’est jamais déplacé, recoloré ni supprimé. Seules les bougies fermées sont évaluées ; la bougie en cours de formation est entièrement ignorée.
Le compromis est honnête et mérite d’être mentionné : le décalage de confirmation. Le swing le plus récent n’apparaît qu’après la cassure qui le valide. Si vous souhaitez un marqueur dès qu’un nouveau plus haut est atteint, cet outil n’est pas adapté — ce marqueur devrait en effet se déplacer par la suite, ce qui équivaut à un redessinage.
Paramètres
Détection
| Entrée | Par défaut | Fonctionnement |
|---|---|---|
| Commencez par rechercher | Recherche d'un plus haut de swing | C'est ce que recherche la toute première phase. Cela n'affecte que les barres les plus anciennes du graphique ; après la première confirmation, la direction est entièrement déterminée par les cassures. Ne modifiez pas ce paramètre, sauf si le premier swing de votre historique semble erroné. |
| Rupture confirmée par | Mèche | « Wick » utilise les plus hauts et plus bas de la bougie — la règle littérale de Trading Hub, et le paramètre le plus sensible. « Close » exige que la bougie clôture au-delà de la référence, ce qui ignore les pics à mèche unique et donne nettement moins de fluctuations, mais plus importantes. |
Comment choisir : commencez par « Mèche ». Si vous travaillez sur des périodes M1 à M15, ou sur un symbole présentant de longues mèches bruyantes comme l’or ou un CFD sur indice, passez à « Clôture » — cela élimine la plupart des oscillations causées par un pic isolé sans modifier la logique ailleurs. Une période plus longue est l’autre moyen d’obtenir une structure plus large ; la règle elle-même ne comporte aucun paramètre de sensibilité ou de période à ajuster.
Affichage
| Entrée | Par défaut | Fonction |
|---|---|---|
| Trace les marqueurs de swing | true | Active ou désactive les flèches. Les tampons restent remplis dans tous les cas, donc iCustom renvoie toujours chaque swing. |
| Code de flèche — swing haut / bas | 217 / 218 | Codes Wingdings. Alternatives courantes :234/233,241/242, 159 pour les points. |
| Distance entre la flèche et la barre | 10 | Espacement en pixels entre la bougie et sa flèche. Augmentez-le sur les graphiques denses. |
| Tracer les segments entre les oscillations | true | Le zigzag en pointillés reliant les oscillations consécutives. Désactivez-le si vous utilisez déjà un zigzag. |
| Couleur / style / largeur des segments | argent, pointillé, 1 | Apparence des segments. |
La désactivation des marqueurs et des segments laisse une instance purement mathématique — utile lorsqu'un EA lit les tampons et que vous ne souhaitez rien afficher sur le graphique.
Alertes
| Entrée | Par défaut | Fonction |
|---|---|---|
| Alerte contextuelle lors d’un swing confirmé | false | Fenêtre contextuelle s'affiche dans le terminal lorsqu'un swing est confirmé. |
| Notification push lors d'un swing confirmé | false | Notification push envoyée à l'identifiant MetaQuotes défini dans Outils → Options → Notifications. |
Les alertes ne se déclenchent que lors des mises à jour en temps réel, jamais pendant le chargement de l'historique par l'indicateur, et une seule fois par swing.
Utilisation depuis un EA
Deux tampons, tous deux non vides uniquement lors de swings confirmés (une valeur vide correspond à 0,0) :
| Tampon | Contenu |
|---|---|
| 0 | prix d’un plus haut de swing confirmé |
| 1 | cours d'un plus bas de swing confirmé |
int h = iCustom(_Symbol, _Period, "SMC_Pullback"); double buf[]; CopyBuffer(h, 0, 0, 100, buf); // sommets de fluctuation
Le moteur de détection est intégré dans une seule classe autonome, CPullbackDetector, sans aucune dépendance vis-à-vis d’un graphique ou d’un tampon : il traite les tableaux de cours et signale les fluctuations confirmées. Il peut donc être copié directement dans un EA si vous préférez ne pas passer par iCustom.
Ce qu’il ne fait délibérément pas
Cet indicateur se limite aux points de swing. Il n’attribue pas les étiquettes HH/HL/LH/LL, et ne calcule pas les indicateurs BOS, CHoCH, IDM, les blocs d’ordres ni les niveaux de liquidité. Il s’agit là d’étapes distinctes qui nécessitent au préalable un ensemble fiable de swings — ce que cet indicateur fournit précisément.
Le projet est hébergé sur MQL5 Algo Forge. Vous trouverez le code et les prochaines mises à jour via le lien ci-dessous.
Le dépôt est disponible ici : https://forge.mql5.io/SandroBegashvil/SMC-Pullback-CodeBase
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/76451
One-Click Trade Manager — risk-based lot size with entry, stop and target in one click
Works out the lot from your risk percent and the stop distance, then opens the trade with the stop loss and take profit already attached. Never trades by itself.
RegimeRouter — trend/range classifier with a per-regime win rate ledger
Classifies the market with ADX, the Hurst exponent and lag-1 autocorrelation, routes each bar to a breakout module or a mean-reversion module, and keeps a separate win rate ledger for each regime with a Wilson 95% lower bound, so you can see which half of it is actually working.
PropFirm Equity Protector - Gestionnaire de risques institutionnel (open source)
EA utilitaire professionnel destiné à la gestion des risques des sociétés de trading pour compte propre. Il permet un suivi quotidien du capital, une atténuation progressive des pertes sur les positions déficitaires et des stops absolus via un tableau de bord graphique à correction automatique.
Session Candle Counter: candles numbered from the cash open, DST aware
Numbers every candle of the current trading day starting at the cash open of Frankfurt, London, New York or Tokyo. The anchor is converted from exchange local time to broker server time with automatic daylight saving, so the first candle after the open is always number one, in summer and in winter.




