Supply Demand Zones Base Impulse ATR
- Indicateurs
-
Kazuma Uezono
MQL5 / MQL4 / Pine Script v6 developer and active trader.
Seller on the MQL5 Market (indicators for MT4/MT5).
Services:
- TradingView Pine Script to MT5/MT4 conversion (bar-by-bar matching, with tester report)
- MT4 to MT5 migration - Version: 1.1
Supply & Demand Zones marque les zones d'offre et de demande sur un graphique MetaTrader 5 selon une règle unique, fixe et entièrement publiée : une barre forte (corps d'au moins X x ATR) précédée d'une courte "base" de barres à petit corps. La base devient une zone de demande lorsque la barre forte est haussière et clôture au-dessus d'elle, ou une zone d'offre lorsque la barre forte est baissière et clôture en dessous. Chaque zone affiche son état : intacte (fresh), touchée avec un compteur (touched) ou cassée (broken).
Il s'adresse aux traders qui tracent ces zones à la main et veulent qu'elles soient tracées de la même façon à chaque fois. C'est uniquement un outil d'affichage : il ne donne aucun signal d'achat ou de vente et ne passe aucun ordre. Une zone est une plage tirée des barres passées, pas une prévision que le prix s'y arrêtera ou s'y retournera.
Fonctionnalités
- Zones de demande et d'offre selon la règle ci-dessus, évaluées uniquement sur des barres clôturées. Une fois une zone créée, son haut, son bas et son début ne bougent plus.
- Étiquette sur chaque zone : "Demand fresh" (zone de demande, intacte), "Supply touched 2" (zone d'offre, 2 contacts), "Demand broken" (zone de demande, cassée). Survolez une zone pour voir ses prix, le nombre de barres de base et l'heure de la première barre de base.
- Couleurs selon l'état : intacte, touchée, cassée (contour gris). Les zones cassées sont masquées par défaut et peuvent être affichées.
- Les zones non cassées sont prolongées de quelques barres à droite de la barre actuelle ; une zone cassée se termine à la barre qui l'a cassée.
- Zones qui se chevauchent : la plus ancienne est remplie et la plus récente est tracée en contour, afin que les couleurs restent lisibles.
- Une unité de temps supérieure en option (désactivée par défaut). Ses zones utilisent la même règle et sont tracées en contours plus épais, avec l'unité de temps dans l'étiquette, par exemple "H4 Supply fresh".
- Une alerte en option (désactivée par défaut) : le prix entre dans une zone intacte depuis l'extérieur. Fenêtre pop-up, son et notification push.
- La couleur des étiquettes suit automatiquement le fond du graphique (ou choisissez une couleur). Textes sur le graphique et alertes en anglais ou en japonais (Auto suit la langue du terminal).
- Six buffers cachés pour les EA (voir ci-dessous).
Méthode de calcul
- True Range d'une barre = le plus grand de (high, close précédent) moins le plus petit de (low, close précédent).
- ATR = moyenne simple du True Range des N barres précédant la barre forte (la barre forte elle-même n'est pas incluse).
- Barre forte : corps absolu |close - open| >= X x ATR.
- Base : en remontant à partir de la barre juste avant la barre forte, les barres consécutives dont le corps est <= Y x ATR, jusqu'au nombre maximal. Si la barre juste avant la barre forte n'est pas assez petite, aucune zone n'est créée.
- Haut et bas de la zone = plus haut high et plus bas low des barres de base (ou plus haut et plus bas open/close si "Bodies only" (corps uniquement) est choisi).
- Demande : la barre forte est haussière et clôture au-dessus du haut de la zone. Offre : la barre forte est baissière et clôture en dessous du bas de la zone.
- État, à partir de la barre qui suit la barre forte : une zone de demande est cassée lorsqu'une barre clôture sous son bas, et touchée lorsque le low d'une barre atteint son haut. Une zone d'offre est cassée lorsqu'une barre clôture au-dessus de son haut, et touchée lorsque le high d'une barre atteint son bas.
- Nombre de contacts = nombre de barres entrées dans la zone alors que la barre précédente était en dehors. "Fresh" = aucun contact pour l'instant.
- Seules les barres comprises dans "Bars to scan" (barres à analyser) sont utilisées. Les zones plus anciennes que "Remove zones older than N bars" (supprimer les zones de plus de N barres) sont supprimées.
Paramètres principaux
- Règles des zones : période ATR (14), X pour la barre forte (1.5), Y pour les barres de base (0.5, doit être inférieur à X), nombre maximal de barres de base (3, 1-10), bords de zone (mèches ou corps uniquement), barres à analyser (5000, 300-100000).
- Affichage : zones non cassées affichées par côté (5), supprimer les zones de plus de N barres (1000, 0 = jamais), zones cassées (masquer ou afficher en contour gris), zones cassées affichées par côté (3), prolongement à droite (10 barres), étiquettes activées/désactivées, taille de police (8), cinq couleurs de zone, couleur des étiquettes (None = automatique).
- Zones de l'unité de temps supérieure : unité de temps (actuelle = désactivé), zones affichées par côté (3).
- Alertes : entrée dans une zone intacte (désactivée), pop-up, son, push, langue.
Si un paramètre est hors plage, l'indicateur ne se charge pas et écrit la raison dans le journal Experts.
Pour les utilisateurs d'EA et d'iCustom
- Buffers : 0 = haut de la zone de demande, 1 = bas de la zone de demande, 2 = nombre de contacts de la zone de demande, 3 = haut de la zone d'offre, 4 = bas de la zone d'offre, 5 = nombre de contacts de la zone d'offre. Chaque barre contient la zone non cassée la plus récente de chaque côté, telle que connue à la clôture de cette barre ; la barre en formation répète la dernière barre clôturée. EMPTY_VALUE lorsqu'il n'y a pas de zone (ou que la plus récente est plus ancienne que "Remove zones older than N bars").
- Les buffers ne contiennent que les zones de l'unité de temps du graphique. Les zones de l'unité de temps supérieure n'y figurent pas.
- Paramètres iCustom : après le nom de l'indicateur, passez 30 valeurs dans cet ordre, y compris les 4 chaînes vides des groupes de paramètres :
"", période ATR, X, Y, nombre maximal de barres de base, bords de zone (0 mèches, 1 corps), barres à analyser,
"", zones non cassées par côté, supprimer au-delà de N barres, zones cassées (0 masquer, 1 afficher), zones cassées par côté, barres de prolongement, afficher les étiquettes, taille de police, couleur demande intacte, couleur demande touchée, couleur offre intacte, couleur offre touchée, couleur cassée, couleur des étiquettes,
"", unité de temps supérieure, zones de l'unité de temps supérieure par côté,
"", alerte à l'entrée, pop-up, son, push, langue (0 auto, 1 anglais, 2 japonais).
- Appelé via iCustom, il remplit uniquement les buffers : rien n'est tracé et aucune alerte n'est déclenchée.
- Si un EA ou un script l'ajoute à un graphique avec ChartIndicatorAdd(), MetaTrader 5 limite ce qu'il peut faire : les zones tracées peuvent rester sur le graphique tant que ce programme détient encore le handle, et sur un graphique autre que celui où le programme s'exécute, aucune zone n'est tracée (les buffers fonctionnent toujours).
Remarques et limites
- Les zones ne sont créées qu'à la clôture d'une barre. La barre en formation ne crée jamais de zone et ne change aucun état ; une étiquette reste "fresh" jusqu'à la clôture de la barre entrée dans la zone.
- L'alerte est vérifiée à chaque tick par rapport aux zones telles qu'elles étaient à la dernière barre clôturée, elle peut donc arriver alors que l'étiquette indique encore "fresh". Chaque zone déclenche une seule alerte. Juste après le chargement, le premier prix est seulement mémorisé.
- Après un rechargement (nouvel historique, reconnexion, modification de "Bars to scan"), le calcul recommence à partir de la première barre de la plage, de sorte que les zones proches de la partie la plus ancienne du graphique peuvent différer. Les zones récentes ne sont pas affectées.
- Les résultats dépendent des paramètres et des données de prix de votre courtier : d'autres valeurs ou un autre courtier peuvent donner d'autres zones.
- Dans les marchés calmes et sans tendance, de nombreuses petites zones peuvent apparaître ; dans les tendances fortes, de nombreuses zones sont cassées peu après leur formation. Le nombre de contacts et l'état intact décrivent uniquement le passé et ne constituent pas une probabilité d'un quelconque résultat.
- La deuxième copie et les suivantes sur le même graphique ne tracent que des contours, afin que leurs zones n'effacent pas le remplissage de la première copie.
- En mode visuel du Testeur de stratégie, les zones sont tracées comme sur un graphique. Aucune alerte n'est déclenchée dans le testeur.
- Lorsqu'une unité de temps supérieure est définie, le journal du testeur affiche des lignes "history cache". Elles sont écrites par le terminal lorsqu'il charge cette unité de temps et ne sont pas des erreurs de l'indicateur.
- Des réglages d'affichage importants (par exemple 50 zones par côté, zones cassées affichées et 100000 barres en M1) ralentissent sensiblement les tests. Les valeurs par défaut sont légères.
- Les objets dont le nom commence par "SDZ#" appartiennent à cet indicateur et sont supprimés avec lui. Des variables globales temporaires commençant par "SDZ_" servent à distinguer les copies. Les paramètres du graphique ne sont pas modifiés.
Compatibilité et support
- MetaTrader 5, tout symbole et toute unité de temps. La version MT4 est un produit gratuit distinct.
- Plusieurs copies sur un même graphique (par exemple avec des valeurs X/Y différentes). Fonctionne avec les modèles et après un redémarrage du terminal.
- Pas de DLL, pas d'accès à Internet, aucun fichier écrit.
- Support via les messages MQL5 pour l'installation, les réglages et les signalements de bugs. Les questions sur la direction du marché ou sur des trades individuels ne peuvent pas recevoir de réponse.
- Uniquement pour l'analyse graphique. Il ne trade pas et ne garantit aucun résultat de trading. Les graphiques passés ne garantissent pas les résultats futurs.
