Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Twitter !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Indicateurs

Swing Detector by Pullback (Smart Money Concepts) - indicateur pour MetaTrader 5

Vues:
84
Note:
(2)
Publié:
MQL5 Freelance 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 :

  1. 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.
  2. 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 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 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) 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 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.