Seconds Tick and Range Charts MT5

  • Utilitaires
  • Quoc Dat Quach
    Quoc Dat Quach
    Software engineer with 8 years in fintech and mobile, writing MQL4/MQL5 since 2017. I build Expert Advisors, indicators, trade and risk-management panels and utilities for MT4/MT5, and I trade forex and gold on MT5 myself.
  • Version: 1.0
  • Activations: 10

Barres de secondes (de 1 à 30 secondes), barres de ticks et barres de range pour MetaTrader 5, construites à partir de l'historique des ticks réels du courtier sous forme de symbole personnalisé et mises à jour à chaque tick. Tout indicateur, modèle ou EA peut fonctionner sur le graphique. Une aide visuelle sur le graphique affiche l'heure réelle de chaque barre. L'EA ne trade jamais sur un graphique.

Ce qu'il fait

Attachez l'EA au graphique d'un symbole du courtier. Il :

  • crée un symbole personnalisé, par exemple EURUSD_S5, avec les spécifications du symbole source
  • construit son historique à partir des ticks réels du courtier, par défaut les 3 derniers jours, par tranches (dans les tests, 3 jours de BTCUSDm, 376 095 ticks, ont pris 2,0 s)
  • ouvre le graphique personnalisé, avec votre modèle si vous en indiquez un
  • ajoute au graphique personnalisé chaque nouveau tick de la source dès son arrivée
  • relit chaque nouvelle barre depuis le terminal plusieurs fois par seconde (mesuré dans MetaTrader 5 build 6230 : les barres que le terminal construit à partir des ticks en direct peuvent disparaître quand aucun graphique ni programme ne les lit ; des lectures régulières l'empêchent)
  • vérifie les barres par rapport à l'historique des ticks du courtier toutes les 60 secondes, et compte les ticks que le symbole personnalisé contient pour elles
  • lorsqu'il redémarre sur un graphique personnalisé existant (après un redémarrage du terminal, par exemple), vérifie que les barres de la dernière partie de l'historique sont toutes présentes avant de continuer
  • si une barre reste fausse, reconstruit l'ensemble du symbole personnalisé à partir de l'historique des ticks, depuis le même premier tick : la seule réparation qui a été exacte dans tous les tests (mesuré dans le build 6230 : écrire des barres isolées ou supprimer une partie d'un symbole personnalisé qui reçoit des ticks en direct peut faire perdre au terminal d'autres barres ou ticks)

Types de graphique

  • Barres de secondes (Seconds bars) : 1, 2, 3, 4, 5, 6, 10, 12, 15, 20 ou 30 secondes. Une barre contient les ticks d'un intervalle. Un intervalle sans ticks n'a pas de barre, de la même façon qu'une minute sans ticks n'a pas de barre en M1.
  • Barres de ticks (Tick bars) : une nouvelle barre tous les N ticks.
  • Barres de range (Range bars) : une nouvelle barre s'ouvre quand le prix suivant rendrait l'amplitude plus haut-plus bas de la barre supérieure à N points, de sorte qu'aucune barre ne dépasse N points. Quand le prix saute, la nouvelle barre s'ouvre au nouveau prix ; aucune barre de remplissage n'est tracée pour le saut.

Les barres sont tracées à partir du prix Bid. Le volume de ticks d'une barre est le nombre de ticks qu'elle contient.

Plusieurs copies peuvent fonctionner en même temps, un EA par symbole personnalisé : par exemple des barres de 5 secondes d'EURUSD sur un graphique et des barres de range de 200 points de XAUUSD sur un autre. Un second EA pour le même symbole personnalisé ne démarre pas et indique pourquoi sur son panneau.

Chaque tick dans exactement une barre

Le symbole personnalisé reçoit les ticks du courtier eux-mêmes, pas une copie des barres. Dans les tests, les barres ont été comparées à une reconstruction indépendante à partir de l'historique des ticks du courtier :

  • la somme des volumes de ticks est égale au nombre de ticks source
  • chaque barre (ouverture, plus haut, plus bas, clôture et volume de ticks) est égale à la reconstruction
  • pour les barres de secondes, aucun intervalle sans barre ne contenait de tick source

Lors d'un test de 75 minutes avec 10 symboles personnalisés en même temps (barres de 1, 2 et 5 secondes, barres de 20, 50 et 100 ticks, barres de range de 200 et 1000 points ; 2 537 558 ticks au total), les trois points se sont vérifiés pour chaque symbole, y compris pour les symboles reconstruits après que le terminal a été gelé pendant 2 minutes.

Trous sur les graphiques en secondes : sur BTCUSDm (environ un tick par seconde un samedi), le graphique de 1 seconde comptait 81 920 barres pour 121 859 ticks. Chaque intervalle de 1 seconde sans barre a été vérifié par rapport aux ticks du courtier et n'en contenait aucun. Un trou sur un graphique en secondes est une période pendant laquelle le courtier n'a envoyé aucun tick, pas une barre perdue.

L'échelle de temps (à lire, s'il vous plaît)

MetaTrader 5 n'a aucune unité de temps inférieure à une minute, et un graphique personnalisé est toujours tracé sur l'échelle de temps M1. Chaque barre du graphique personnalisé occupe donc un créneau d'une minute, et les dates sous le graphique comptent ces créneaux à partir de janvier 1971 : ce n'est pas l'heure de l'horloge. C'est la seule façon pour des barres de moins d'une minute d'exister sur un graphique MetaTrader 5.

L'EA ajoute au graphique personnalisé une petite aide visuelle qui affiche l'heure réelle (partout dans cette description, l'heure réelle désigne l'heure du serveur du courtier, comme sur le graphique du symbole du courtier lui-même) :

  • Last bar: (dernière barre) heure de début à la milliseconde, durée et nombre de ticks
  • Cursor bar: (barre sous le curseur) la même chose pour la barre sous la souris
  • une seconde échelle de temps avec les heures réelles, au-dessus de celle du graphique
  • si le graphique est mis à jour : « Live: updated on every tick of EURUSD », « Building history from real ticks: 40.0% », « Waiting for the connection to the trade server », « Checking the bars after the start (up to 60 s) », « Not updating for 12 s: check the EA on the EURUSD chart » ou « Not updating: no EA builds EURUSD_S5 now »

Gardez le graphique personnalisé en M1 : une barre M1 correspond à une barre de secondes, de ticks ou de range. Une unité de temps supérieure fusionne plusieurs barres.

Vitesse

Mesuré lors d'un test de 75 minutes avec 10 EA et 8 graphiques personnalisés en même temps dans un seul terminal : le temps entre le moment où un indicateur sur le graphique source a vu un tick et le moment où un indicateur sur le graphique personnalisé l'a vu. BTCUSDm était en direct sur un compte démo. L'or et l'indice Nasdaq étaient fermés (samedi), leurs graphiques ont donc été alimentés avec les ticks réels du vendredi à leur rythme réel, jusqu'à 61 ticks par seconde.

Graphique personnalisé Ticks par seconde Médiane 99 % des ticks dans un délai de Le plus lent
BTCUSDm, barres de 5 secondes (en direct) 1 0,2 ms 30 ms 262 ms
BTCUSDm, barres de 1 seconde (en direct) 0,9 0,3 ms 35 ms 262 ms
BTCUSDm, barres de 50 ticks (en direct) 1 0,2 ms 32 ms 281 ms
Or, barres de 1 seconde (rejeu) 12 0,4 ms 65 ms 173 ms
Or, barres de 100 ticks (rejeu) 12 0,3 ms 111 ms 140 ms
Nasdaq, barres de 5 secondes (rejeu) 61 0,6 ms 40 ms 1,7 s (*)
Nasdaq, barres de range de 1000 points (rejeu) 61 0,8 ms 41 ms 2,5 s (*)

(*) Pendant les 2 minutes qui ont suivi un gel du terminal de 2 minutes : les ticks retardés sont arrivés d'un coup et l'EA a reconstruit le symbole. Le reste du temps, le tick le plus lent a pris 142 ms et 156 ms. Sur les 75 minutes, le terminal a utilisé au total environ un cœur de CPU et de 680 à 703 Mo de mémoire, sans ralentissement entre la première et la dernière tranche de 10 minutes.

Le panneau du graphique source affiche, pendant le fonctionnement, le temps d'écriture propre de l'EA par événement de tick, en médiane et au 99e centile (médiane de 0,03 ms dans le test).

Perte de connexion, redémarrage et modifications

Mesuré lors du même test de 75 minutes, lors des redémarrages du terminal qui l'ont suivi et lors d'un test séparé de modification des paramètres :

  • Terminal gelé pendant 2 minutes : à son retour, il a signalé la perte puis le rétablissement de la connexion au serveur de trading. Dans les 15 secondes, les EA ont trouvé 4 symboles personnalisés avec des barres ou des ticks manquants et les ont reconstruits (de 0,2 à 2,4 s chacun). Ensuite, les 10 symboles ont passé la vérification décrite plus haut. Une coupure réseau de plusieurs minutes n'a pas été testée.
  • Unité de temps du graphique source modifiée (de M1 à M5 puis retour) : l'EA a continué depuis la dernière barre, sans reconstruction.
  • Paramètres modifiés via un modèle contenant d'autres paramètres : l'EA a continué depuis la dernière barre.
  • Type de graphique modifié sur un EA en cours d'exécution (de barres de 5 secondes à des barres de 50 ticks puis retour) : il a construit le nouveau symbole personnalisé et laissé l'ancien graphique en place ; revenu aux barres de 5 secondes après 91 s, il a continué l'ancien symbole et ajouté les ticks de ces 91 s. Les deux symboles ont passé la vérification décrite plus haut.
  • Graphique source fermé pendant 3 minutes : l'aide visuelle affichait « Not updating: no EA builds BTCUSDm_S1 now ». Quand le graphique a été rouvert avec l'EA, celui-ci a continué depuis la dernière barre et les ticks de ces 3 minutes étaient sur le graphique 0,34 s plus tard.
  • Terminal fermé et redémarré 7 fois (fermé de 3 secondes à environ 1,5 minute) : 40 des 51 démarrages de l'EA ont continué depuis leurs dernières barres. 11 ont trouvé des barres manquantes (supprimées par le terminal, voir les limites), ont attendu les 60 secondes (avec la version finale, l'aide visuelle affiche « Checking the bars after the start » pendant ce temps) et ont reconstruit leurs symboles (de 0,2 à 1,3 s chacun). Après 5 des 7 démarrages, le terminal a supprimé quelques minutes plus tard des barres du symbole sans graphique ouvert ; l'EA l'a détecté lors de sa vérification suivante et a reconstruit le symbole (dans 2 tests, le test s'est terminé avant cette vérification).
  • Un second EA pour le même symbole personnalisé n'a pas démarré, y compris lors de 7 démarrages du terminal, quand tous les EA du terminal démarrent ensemble.

Retirer l'EA laisse le symbole personnalisé et son graphique en place. Attachez-le de nouveau avec les mêmes réglages et il continue depuis la dernière barre, après avoir vérifié que les barres qui la précèdent sont toutes présentes (sinon, il reconstruit l'historique de lui-même).

Paramètres

Paramètre Par défaut Signification
Chart type Seconds bars Seconds bars, Tick bars, Range bars
Seconds bars: seconds per bar 5 seconds 1, 2, 3, 4, 5, 6, 10, 12, 15, 20 ou 30
Tick bars: ticks per bar 100 De 1 à 100 000
Range bars: range of a bar in points 100 Points du symbole source
Source symbol vide Vide = le symbole du graphique auquel l'EA est attaché
Days of real tick history to build 3 De 0,01 à 60, utilisé lors de la construction du symbole personnalisé. L'historique des ticks du courtier peut être plus court. Une nouvelle valeur ne reconstruit pas un symbole personnalisé existant : pour cela, mettez une fois le paramètre suivant sur true
Build the history again at start false Sinon, il continue depuis la dernière barre quand le type de graphique, son réglage et la source sont les mêmes
Custom symbol name vide Vide = automatique, par exemple EURUSD_S5, EURUSD_T100, EURUSD_R100
Open the custom chart true
Template for the custom chart vide Un modèle de MQL5\Profiles\Templates, appliqué à l'ouverture du graphique
Show the real time of the bars on the custom chart true L'aide visuelle décrite plus haut
Close the custom chart when the EA is removed false
Tester only: open and close sample positions true Voir ci-dessous

Testeur de stratégie

MetaTrader 5 n'autorise ni les symboles personnalisés ni les nouveaux graphiques dans le Testeur de stratégie (mesuré : les deux sont refusés avec l'erreur 4014). Dans le testeur, l'EA construit donc les mêmes barres en mémoire, avec le même code, à partir des ticks que le testeur lui fournit, et en mode visuel les trace dans une sous-fenêtre sous le graphique du testeur. À la fin d'une exécution, il écrit combien de barres il a construites et que chaque tick se trouve dans exactement une barre. Utilisez « Every tick based on real ticks » pour voir les barres construites à partir des ticks réels du courtier.

Dans le Testeur de stratégie uniquement, l'EA ouvre et ferme aussi une courte série de positions d'exemple, parce que le Market vérifie qu'un Expert Advisor trade :

  • volume minimum, une position à la fois, jusqu'à 30 positions
  • la marge libre est vérifiée avant chaque nouvelle position ; s'il n'y a pas assez d'argent, il écrit une note et n'envoie rien

Les positions d'exemple ne constituent pas une stratégie de trading et leurs résultats ne disent rien sur le profit. Sur un graphique en réel ou en démo, l'EA n'envoie, ne modifie et ne clôture jamais aucun ordre.

Limites (à lire avant d'acheter)

  • L'échelle de temps compte des créneaux, pas l'heure de l'horloge. Voir « L'échelle de temps » plus haut. Les indicateurs qui utilisent l'heure d'une barre (sessions, pivots journaliers, filtres horaires) voient sur le graphique personnalisé les heures des créneaux, pas les heures réelles.
  • La cotation du symbole personnalisé a un tick de retard. Mesuré : quand un indicateur ou un EA sur le graphique personnalisé est appelé pour un nouveau tick, les barres et l'historique des ticks du symbole personnalisé le contiennent déjà, mais la cotation du symbole personnalisé (Observation du marché, SymbolInfoTick, la ligne Bid sur le graphique) affiche le tick précédent jusqu'à ce que le suivant soit ajouté. Sept moyens de contourner ce problème ont été essayés dans MetaTrader 5 build 6230 et aucun n'a fonctionné. Un indicateur ou un EA sur le graphique personnalisé doit lire les prix dans les barres (la clôture de la dernière barre est le tick le plus récent).
  • Les symboles personnalisés ne peuvent pas être tradés. Un EA qui fonctionne sur le graphique personnalisé doit envoyer ses ordres pour le symbole du courtier.
  • Graphiques Bid uniquement. Les symboles que le courtier trace selon le prix Last (actions et contrats à terme cotés en bourse) sont refusés avec un message sur le panneau.
  • La profondeur de l'historique dépend du courtier. La première construction télécharge l'historique des ticks du courtier ; les courtiers le conservent pendant une durée limitée. Un long historique de barres courtes peut dépasser le réglage « Max bars in chart » du terminal (Outils, Options, Graphiques) ; le graphique n'affiche alors que les barres les plus récentes. Les vérifications propres de l'EA relisent au plus la moitié de ce réglage, si bien qu'une valeur basse leur fait seulement examiner moins de barres (testé avec 5 000 et un graphique de 1 seconde d'environ 80 000 barres : aucune reconstruction supplémentaire en 8 minutes).
  • Les barres de secondes n'ont de la place que pour une durée limitée. Les créneaux doivent rester dans le passé : un graphique de 1 seconde a de la place pour environ 339 jours de barres après son début, un graphique de 5 secondes pour environ 4,6 ans. Quand la place est épuisée, l'EA reconstruit l'historique de lui-même.
  • Laissez l'EA tourner tant que vous utilisez le graphique personnalisé. Mesuré dans le build 6230 : quand l'EA était retiré ou le terminal redémarré, le terminal supprimait parfois les barres de la partie la plus récente d'un symbole personnalisé (jusqu'à un jour de créneaux, 1 440 barres) tout en gardant les ticks. Un graphique laissé ouvert sans l'EA affiche alors un trou. Quand l'EA redémarre, il le détecte et reconstruit le symbole. Après un redémarrage, le graphique peut afficher un tel trou pendant environ une minute au plus : l'EA attend jusqu'à 60 secondes que le terminal charge les barres (l'aide visuelle affiche alors « Checking the bars after the start »), et s'il manque encore des barres, il reconstruit le symbole (de 0,2 à 1,3 s dans les tests). Dans les tests, le terminal a aussi supprimé des barres quelques minutes après un redémarrage, alors que l'EA tournait : l'EA l'a détecté grâce à ses vérifications (toutes les 60 secondes ; dans trois tests, la réparation est intervenue 74 secondes après que le vérificateur du test lui-même a vu le trou) et a reconstruit le symbole ; un symbole sans graphique ouvert peut garder le trou jusqu'à cette vérification ou jusqu'au démarrage suivant. Cela s'est produit surtout sur un symbole personnalisé sans graphique ouvert.
  • Une réparation vide et remplit à nouveau tout le symbole personnalisé. Quand une vérification trouve une barre fausse ou manquante, l'EA supprime les ticks et les barres du symbole personnalisé et les réécrit depuis le même premier tick (de 0,2 à 2,4 s dans les tests). Les indicateurs et les EA sur le graphique personnalisé voient l'historique disparaître puis revenir pendant ce temps.
  • Un EA par symbole personnalisé, et il occupe l'emplacement EA de son graphique : attachez-le à un graphique libre du symbole source, pas au graphique d'un EA de trading.
  • Pas de Testeur de stratégie sur le symbole personnalisé. Mesuré dans le build 6230 : le testeur fournit les ticks du symbole personnalisé mais ne construit qu'une partie de ses barres, ou aucune (1 324 et 0 sur 4 316 barres M1 dans deux tests), si bien qu'un EA qui a besoin des barres ne peut pas y être testé. Testez un tel EA sur le symbole du courtier.
  • Environnement testé :
    • MetaTrader 5 build 6230 uniquement, Windows 10, un écran 3840 x 2160 à 288 dpi
    • un compte démo chez un courtier CFD de détail : BTCUSDm et ETHUSDm en direct, ticks du vendredi de XAUUSDm et USTECm rejoués à leur rythme réel (tests du samedi) ; historique d'EURUSDm, XAUUSDm et USTECm pour les captures d'écran
    • Testeur de stratégie : comptes démo netting et hedging du serveur démo de la plateforme, EURUSD, GBPUSD, XAUUSD
    • test le plus long : 75 minutes ; non testé chez d'autres courtiers, sur des comptes en argent réel ni sur MQL5 VPS
  • Veuillez d'abord l'essayer avec la démo gratuite dans le Testeur de stratégie. La démo affiche les barres uniquement dans une sous-fenêtre du testeur (voir « Testeur de stratégie » plus haut) ; le graphique personnalisé sur un compte réel ou démo nécessite la version complète.
Plus de l'auteur
Repaint Inspector mesure si un indicateur se redessine, au lieu de croire cette affirmation sur parole. Vous l'attachez à un graphique, vous indiquez n'importe quel indicateur personnalisé et sa liste de paramètres, et il relit les buffers de cet indicateur sur des barres déjà clôturées, en comptant chaque valeur qui bouge, chaque valeur qui apparaît et chaque valeur qui disparaît, ainsi que la profondeur dans l'historique à laquelle cela se produit encore. C'est un outil de mesure. Sur un graph
FREE
Symbol Spec Auditor rassemble dans un seul panneau sur le graphique la partie de la spécification du contrat d'un symbole qui détermine la taille de position et le coût de trading : valeur du point, coût du spread, marge, swap, règles d'exécution et sessions de trading. Les valeurs brutes de la spécification sont converties en montant pour 1,00 lot dans la devise du compte, et les réglages du courtier qui faussent silencieusement le code de calcul de la taille de lot sont signalés comme avertiss
FREE
Spread Profile by Hour construit la distribution du spread d'un symbole pour chaque heure de la journée du serveur, à partir de l'historique de ticks propre à votre courtier, et l'affiche sous forme de 24 barres. La partie pleine d'une barre est le spread médian de cette heure, la partie supérieure plus claire monte jusqu'au 90e centile. Saisissez la taille de stop que vous utilisez habituellement et chaque barre est étiquetée avec son spread médian exprimé en part de ce stop, de sorte que le co
FREE
Un copieur de trades local pour MetaTrader 5. Il copie les positions entre terminaux MT5 sur le même PC Windows ou VPS et dimensionne chaque copie à partir des spécifications de contrat des deux courtiers (taille du contrat, valeur du tick, devise du compte), de sorte qu'une copie porte la même exposition même lorsque les deux courtiers définissent un lot différemment. Il n'ouvre jamais une seconde copie d'une même position du maître. Ce qu'il fait Vous attachez le même EA à un graphique dans ch
Un registre de compte pour MetaTrader 5 qui ventile vos résultats par magic number, symbole, jour de la semaine et heure, affiche le P/L de prix, la commission, le swap et les frais dans des colonnes séparées, et mesure le spread payé à chaque exécution ainsi que le slippage par rapport au prix que vous avez demandé. Les totaux sont vérifiés par rapport au solde du compte à chaque mise à jour. Il ne trade jamais sur un graphique. Ce qu'il fait Attachez-le à un seul graphique. Il lit l'historique
Filtrer:
Aucun avis
Répondre à l'avis