Rejoignez notre page de fans
Any Indicator Alert - alerts, push notifications and multi-timeframe for any custom indicator, no source code needed - indicateur pour MetaTrader 5
- Vues:
- 95
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Deux des fils de discussion les plus importants de ce forum sont « Indicateurs avec alertes/signaux » et « Indicateurs multi-périodes ». Ils sont toujours ouverts après toutes ces années, car la réponse a toujours été la même : récupérer le code source, le modifier, puis le recompiler. Cela n'aide pas si vous disposez d'un fichier .ex5 mais pas du code source, et cette méthode n'est pas applicable si vous utilisez plusieurs indicateurs.
Cette solution résout le problème de l'extérieur. iCustom peut charger n'importe quel indicateur par son nom et lire ses tampons sans disposer du code source ; un seul outil suffit donc pour tous.
Commencez en mode EXPLORE
La raison pour laquelle les utilisateurs évitent iCustom, c’est qu’il demande un numéro de tampon, et rien ne vous indique quel numéro correspond à ce que vous voyez sur le graphique. Le mode par défaut répond donc d’abord à cette question. Il analyse les tampons, compte ce qu’ils contiennent chacun, et affiche ces informations à côté des dernières barres.
Un tampon contenant une valeur sur presque toutes les barres correspond à une ligne ; utilisez donc une croix de niveau ou une croix par rapport à un deuxième tampon. Un tampon vide, sauf aux endroits où l’indicateur a tracé quelque chose, correspond au signal ; utilisez donc « une valeur apparaît ». Relevez le numéro dans le tableau, passez en mode WATCH et choisissez un déclencheur.
Exemple de ce qu’affiche EXPLORE
Il s’agit d’une exécution réelle sur un graphique XAUUSDm H1 en temps réel, avec suivi du RSI standard. Chaque tampon de l’indicateur est répertorié avec le nombre de barres échantillonnées comportant une valeur réelle, le nombre de barres égales à zéro et le nombre de barres vides, suivi des valeurs elles-mêmes, barre par barre.
Buffers found: 3 (checked up to 16, on XAUUSDm PERIOD_H1)
------------------------------------------------------------------
buffer values zeros blank what it looks like range of the values
0 12 0 0 a line - a value on almost every bar 31.47608 .. 55.28984
1 12 0 0 a line - a value on almost every bar 4.11585 .. 6.11288
2 12 0 0 a line - a value on almost every bar 3.86003 .. 8.96028
------------------------------------------------------------------
bar time buf0 buf1 buf2
0 2026.09.04 20:00 45.61107 5.40493 6.44511
1 2026.09.04 19:00 46.88624 5.82069 6.59381
2 2026.09.04 18:00 43.33095 5.42967 7.10102
3 2026.09.04 17:00 40.80179 5.27080 7.64725
------------------------------------------------------------------
Read it like this: the buffer that is empty on most bars and carries a value
only where the indicator drew its signal is the one to watch. Put its number
in 'Buffer to watch', set Mode to WATCH, and pick a trigger.
A buffer that has a value on every bar is a line - use a level or buffer cross.
Ici, les trois tampons sont représentés par des lignes, ce qui correspond à la nature même du RSI. Sur un indicateur à flèches ou à signaux, le tableau se présente différemment, et c’est précisément là tout l’intérêt :
buffer values zeros blank what it looks like range of the values
0 0 0 8 nothing here on these bars -
11 8 0 0 a line - a value on almost every bar 16.08798 .. 16.25192
14 7 1 0 sparse - looks like a signal 4166.06000 .. 4166.06000C’est le tampon 14 qu’il faut surveiller ici. Il est vide sur la plupart des barres et ne contient un cours que lorsque l’indicateur a marqué quelque chose ; c’est donc « l’apparition d’une valeur » qui le déclenche. Le tampon 11 est une ligne interne et le tampon 0 ne contient absolument rien sur ces barres.
Les valeurs tardives et les actualisations ne sont pas la même chose ; elles sont donc comptabilisées séparément
La valeur de chaque barre clôturée est conservée et relue à chaque nouvelle barre. Lorsqu’une barre clôturée a changé, cela peut s’expliquer par deux raisons très différentes.
Une valeur tardive. La barre était vide et contient désormais une valeur. L’indicateur avait besoin des barres suivantes avant de pouvoir marquer celle-ci. Les fractales fonctionnent ainsi de par leur conception, tout comme la plupart des marqueurs de swing et de structure. Il ne s’agit pas d’une supercherie, mais cela signifie que le signal n’a jamais été visible sur la barre qu’il désigne, ce qui a son importance si vous évaluez une stratégie à l’œil nu.
Un « repaint ». Une valeur qui était présente a été déplacée ou a disparu. Un élément sur lequel vous auriez pu agir n’existe plus.
Ces deux phénomènes sont signalés avec l’heure de la barre, l’ancienne valeur et la nouvelle, et le commentaire du graphique tient un décompte cumulé de chacune. Aucune conclusion n’est tirée de la barre en cours de formation, car il est normal qu’elle évolue.
Cette distinction a été testée plutôt qu’affirmée. Sur la paire XAUUSD en H1, 299 barres, du 1er au 20 août 2026, en observant la marge de chaque indicateur à 0 :
| Indicateur observé | Valeurs en retard | Réactualisations |
|---|---|---|
| Exemples\Fractales : marque une barre deux barres après sa clôture | 40 | 0 |
| Exemples\ZigZag, redessine son dernier segment par défaut | 0 | 83, chacune correspondant à une valeur qui a disparu |
| Exemples\RSI, calculé une fois la barre fermée | 0 | 0 |
On parle donc de « retard » pour un indicateur qui accuse un décalage, de « repaint » pour un indicateur qui se redessine, et de rien pour un indicateur qui ne présente ni l’un ni l’autre. Au cours de la même série, le seuil de déclenchement s’est activé deux fois lorsque le RSI est passé sous la barre des 30, à 28,38 et 29,21 ; la ligne principale du MACD a croisé sa ligne de signal à neuf reprises au-dessus et à neuf reprises en dessous ; et la lecture du RSI à partir de la période H4 sur un graphique H1 a généré une alerte par barre H4, soit 77 au total, chacune portant la mention PERIOD_H4. Le test a également été effectué avec un indicateur tiers de Smart Money Concepts de 157 Ko, où il a détecté 16 tampons et séparé trois lignes internes de deux tampons de signal clairsemés.
Déclencheurs
Une valeur apparaît sur une barre, qu’il s’agisse de la barre qui vient de se clôturer ou, pour un indicateur retardé, d’une barre antérieure qu’il vient seulement de marquer ; un croisement au-dessus ou en dessous d’un niveau ; le croisement d’un tampon par un autre dans n’importe quelle direction ; ou simplement une variation de la valeur. Les alertes s’affichent sous forme de fenêtre contextuelle, de son, de notification push ou d’e-mail, à raison d’une par barre. Par défaut, seules les barres clôturées sont prises en compte. Désactivez cette option et la barre en cours de formation sera évaluée à chaque tick, ce qui déclenche une alerte plus tôt et peut s’inverser, mais avec toujours une alerte par barre dans les deux cas.
Une période plus longue
Cochez « Lire sur cette période » et l’indicateur surveillé s’affiche sur cette période plutôt que sur celle du graphique. Les barres, les seuils de déclenchement et l’option « Pas de rafraîchissement » s’adaptent tous en conséquence.
Deux exemples concrets
Exemple 1 : prévenez-moi lorsque le RSI dépasse 70. Vous connaissez cet indicateur, « EXPLORE » ne sert donc qu’à vérifier son fonctionnement.
| Données d'entrée | Valeur |
|---|---|
| Fichier d'indicateur | Exemples\RSI |
| Ses entrées | 14 |
| Lire sur cette période | Période actuelle |
| Mode | SURVEILLER |
| Plage à surveiller | 0 |
| Déclencheur | Le tampon dépasse le niveau |
| Niveau | 70 |
| Alerte contextuelle | vrai |
Sur les données de test qui ont généré quatre alertes, à 75,04, 76,31, 70,38 et 74,83. Pour obtenir le même résultat à partir du graphique en quatre heures tout en restant sur celui en une heure, réglez « Lire sur cette période » sur H4 et ne modifiez rien d'autre.
Exemple 2 : un indicateur à flèches que vous avez téléchargé et dont vous ne connaissez pas la source. Ici, c'est EXPLORE qui fait tout le travail.
- Associez-le en sélectionnant le mode EXPLORE et en définissant « Fichier d’indicateur » sur le nom de cet indicateur. Laissez le champ « Ses entrées » vide pour utiliser ses propres valeurs par défaut.
- Ouvrez la Boîte à outils, l’onglet Experts, et repérez le tampon qui est clairsemé (vide sur la plupart des barres) et qui affiche une valeur à laquelle une flèche apparaît sur le graphique. Supposons qu’il s’agisse du tampon 2.
- Ajoutez-le à nouveau en sélectionnant le mode « WATCH », le tampon à surveiller « 2 », le déclencheur « une valeur apparaît » et activez les notifications Push.
- Si EXPLORE a affiché une note indiquant qu’un tampon contient principalement des zéros exacts, activez l’option « Cet indicateur écrit 0 lorsque cela n’a aucune signification » et relisez le tableau avant de faire votre choix.
Rôle de chaque paramètre
| Entrée | Fonction |
|---|---|
| Fichier d'indicateur | Chemin d'accès sous MQL5\Indicators, sans l'extension. Une barre oblique inversée, par exemple Examples\RSI ou MyFolder\MyArrows. Ce champ est volontairement vide au départ – il n'existe pas d'indicateur que tous les terminaux possèdent nécessairement – et rien ne se passe tant que vous ne l'avez pas renseigné. |
| Ses entrées | Les entrées propres à l'indicateur surveillé, séparées par des virgules, dans l'ordre où elles sont déclarées. Une valeur vide signifie qu'il faut utiliser les valeurs par défaut. Les nombres entiers sont transmis en tant qu'int, les nombres décimaux en tant que double, true et false en tant que bool, tout le reste en tant que texte. Le journal affiche les valeurs choisies afin que vous puissiez les vérifier. |
| Lire sur cette période | Chargez l’indicateur surveillé sur cette période au lieu de celle du graphique. La période actuelle correspond à celle du graphique. |
| Cet indicateur écrit 0 lorsque cela signifie « rien ». | Considère un 0 exact comme vide. Nécessaire pour des indicateurs tels que ZigZag. EXPLORE vous indique quand il est intéressant de l'activer. |
| Mode | EXPLORE répertorie les tampons et ne génère aucune alerte. WATCH déclenche des alertes sur le tampon que vous avez choisi. |
| Nombre de tampons à analyser | EXPLORE s'arrête ici. Augmentez cette valeur si la note indique que la limite a été atteinte. |
| Nombre de mesures récentes à afficher | Nombre de mesures affichées et comptées par EXPLORE. |
| Tampon à surveiller | Le numéro de tampon que vous avez relevé dans le tableau EXPLORE. |
| Deuxième tampon | Utilisé uniquement par les deux déclencheurs de franchissement de tampon. |
| Déclencheur | Une valeur apparaît, un croisement au-dessus ou en dessous du niveau, le tampon A croise le tampon B dans un sens ou dans l’autre, ou la valeur change simplement. |
| Niveau | Utilisé uniquement par les deux déclencheurs de franchissement de niveau. |
| Évaluer uniquement les barres fermées | Activé par défaut : une seule évaluation à la clôture d’une barre, qui ne peut pas être annulée. Désactivé signifie que la barre en cours de formation est évaluée à chaque tick, ce qui déclenche une alerte plus tôt mais peut s’annuler d’elle-même. |
| Fenêtre contextuelle, son, notification push, e-mail | Mode de notification. Toute combinaison est possible. La notification par push nécessite que votre identifiant MetaQuotes soit configuré dans Outils, Options, Notifications. |
| Relire les barres fermées et signaler les changements | Active le signalement des valeurs tardives et des réajustements. |
| Nombre de barres clôturées à surveiller | Jusqu'à quand remonte la vérification. Un changement antérieur à cette date n'est pas pris en compte. |
| Ignorer les changements inférieurs à cette valeur | Laissez la valeur à 0 pour détecter tous les changements. Augmentez-la si un indicateur présente des fluctuations au niveau de la dernière décimale. |
Trois cas qui piègent souvent les utilisateurs, et qui sont gérés
Certains indicateurs écrivent un simple 0 pour signifier « rien ici » au lieu d’EMPTY_VALUE. C’est le cas de ZigZag. À première vue, un tel tampon ressemble à une ligne continue de zéros. Il existe une option pour cela, et EXPLORE affiche un message lorsqu’un tampon contient principalement des zéros avec quelques valeurs réelles, afin que vous puissiez prendre une décision. Le programme ne tente délibérément pas de deviner : un oscillateur qui se situe réellement à zéro semble identique vu de l’extérieur.
Une barre que l’indicateur n’a pas encore écrite s’affiche comme étant exactement 0,0. C’est ce que le terminal place dans un tampon nouvellement créé, et un indicateur à retard laisse délibérément ses barres les plus récentes dans cet état jusqu’à ce qu’il dispose des barres suivantes dont il a besoin. Fractals ne modifie jamais ses trois dernières barres. À première vue, chacune de ces barres « change » par la suite, et la première version de cet outil signalait trois cents actualisations pour un indicateur qui n’en comporte aucune. Une barre passant de ce 0,0 à un espace vide est désormais traitée comme une initialisation, et celle passant de 0,0 à une valeur comme une arrivée tardive.
Le groupe d’entrées occupe un emplacement de paramètre positionnel. Si vous appelez cet indicateur depuis votre propre code avec iCustom ou IndicatorCreate, les six étiquettes de groupe doivent être comptabilisées avec les entrées réelles, en tant que chaînes de caractères, sinon la gestion échoue avec l’erreur 4002. Ceci a été mesuré, et non supposé. Le tampon 0 contient la valeur du tampon surveillé, ce qui permet à votre EA de la lire sans avoir à refaire toute la mise en place ; cela a été vérifié par rapport au RSI surveillé sur 299 barres sur 299.
Si l’indicateur que vous avez nommé ne peut pas être chargé (faute de frappe ou fichier non encore compilé), celui-ci ne se détache pas. Un message s’affiche sur le graphique et dans le journal des experts, et le système continue d’essayer toutes les quelques secondes ; il suffit donc de corriger le nom.
Ce qu’il ne fait pas
Il lit les tampons des indicateurs. Un indicateur qui ne dessine qu’à l’aide d’objets du graphique n’expose aucun tampon, et cet outil n’a donc rien à lire. Rien en dehors de l’indicateur ne peut changer cela.
« Aucun rafraîchissement observé sur 200 barres » est une observation concernant ces barres, et non une garantie concernant toutes les barres qui se formeront un jour. C'est un indice, et c'est mieux que ce que prétendent la plupart des indicateurs, mais ce n'est pas une preuve. La vérification porte sur le nombre de barres clôturées que vous avez défini dans « Nombre de barres clôturées à surveiller » ; un changement survenu avant cette période n’est pas détecté.
Il ne peut pas vous dire ce que signifie une zone tampon. Il vous montrera que la zone tampon 3 affiche 1,0 sur quatorze barres ; c’est à vous de décider s’il s’agit d’un signal d’achat.
Un indicateur qui émet un signal avec une valeur exactement égale à 0,0 ne déclenchera pas le message « une valeur apparaît », car il s’agit de la lecture d’une barre non encore tracée. Les tampons de signal comportent un cours ou un indicateur, jamais 0,0 ; dans la pratique, cela n’a donc aucune incidence, mais il s’agit d’une règle que vous devez connaître.
Le tampon 0 ne reflète le tampon surveillé que lorsque la période surveillée correspond à celle du graphique lui-même. Le mappage d’une période supérieure sur chaque barre du graphique est une tâche différente qui n’est pas prise en charge.
Les canaux d’alerte eux-mêmes (fenêtre contextuelle, son, notification push et e-mail) correspondent chacun à un appel et n’ont pas été testés dans le Testeur de stratégie, qui ne les génère pas. Tout ce que l’outil décide avant cet appel l’a été.
Comment l'installer
- Copiez le fichier AnyIndicatorAlert.mq5 dans le dossier MQL5\Indicators de votre dossier de données du terminal. Dans MetaTrader, sélectionnez Fichier puis Ouvrir le dossier de données pour y accéder.
- Ouvrez-le dans MetaEditor et appuyez sur F7. Il ne devrait signaler aucune erreur ni aucun avertissement.
- De retour dans le terminal, appuyez sur Ctrl+N pour ouvrir le Navigateur, ouvrez la section « Indicateurs », puis faites glisser AnyIndicatorAlert sur un graphique. S'il n'apparaît pas dans la liste, cliquez avec le bouton droit dans le Navigateur et sélectionnez « Actualiser ».
- Remplissez le champ « Fichier d’indicateur » (il est vide au départ), laissez le Mode sur EXPLORE, puis cliquez sur OK. Commencez par essayer l’exemple « Examples\RSI ».
- Appuyez sur Ctrl+T pour ouvrir la Boîte à outils, puis ouvrez l’onglet Experts. Le tableau des tampons s’y trouve.
Écrit et vérifié sur MetaTrader 5 version 6140. Il ne passe aucun ordre et ne modifie rien.
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/77003
SuperTrend TV EA
Un Expert Advisor qui négocie l'indicateur SuperTrend TV via iCustom uniquement sur les barres clôturées, fourni avec un rapport d'audit prouvant que chaque transaction correspond à un signal et qu'aucun signal n'a été manqué
ATS Trade Management Library - break-even, trailing stop and partial closes for any EA
Look after open positions in an Expert Advisor: break-even, trailing stop, two partial closes, and a stop and target for positions that have none. It never opens a trade.
CajasTF – Integrated Multi-Timeframe Side Panel for MT5
Real-time multi-timeframe side panel mini-chart with smart color matching, independent price scale, and candle countdown timer.
Session Levels - Asian range, PDH/PDL, VWAP, swings and round numbers
Session Levels draws the reference levels intraday traders watch most: Asian range, London and New York sessions, previous day and week high/low, daily VWAP, swing points and round numbers. Hover any level to read what it is and why it matters. Optional alerts when price breaks the Asian range or the previous day high/low.