L'heure du serveur MetaTrader, et pourquoi votre EA effectue des transactions à la mauvaise heure
Presque tous les cas signalés où un EA « négocie au mauvais moment » se résument à une seule chose : les horaires indiqués dans les paramètres correspondent à ceux du courtier, et non aux vôtres. Les courtiers fonctionnent selon des fuseaux horaires différents, qui changent deux fois par an, et aucun d’entre eux ne correspond à celui de votre lieu de résidence. Calculer ce décalage ne prend qu'une minute, et cela fait toute la différence entre trader pendant toute la séance de Londres et ne trader que deux heures de celle-ci.
Trois horloges, dont une seule fonctionne
Lorsqu’un EA est en cours d’exécution, trois moments distincts entrent en jeu :
- L'horloge de votre ordinateur. Cela n'a aucune importance. MetaTrader ne s'en sert ni pour les graphiques ni pour la logique des EA.
- L'horloge du serveur du courtier. C'est ce qui est gravé sur les bougies et ce que lit un EA lorsqu'il demande quelle heure il est.
- GMT/UTC. La référence par rapport à laquelle tout le reste est décrit, et celle utilisée par le calendrier économique.
Tous les paramètres horaires définis dans un EA — heure de début, heure de fin, règle « pas de trading le vendredi après » — se trouvent dans le second.
Déterminer le décalage en une minute
- Ouvrir Suivi des marchés à l'aide de la combinaison Ctrl+M. L'horloge située au-dessus de la liste des symboles indique l'heure du serveur.
- Comparez-la à l'heure UTC actuelle.
- La différence correspond à l'écart appliqué par votre courtier, généralement de +2 ou +3.
Deuxième vérification : ouvrez un graphique M1 et regardez l'horodatage de la dernière bougie. Il devrait correspondre à l'heure affichée dans la fenêtre « Market Watch ».
Notez ce décalage quelque part, car vous en aurez besoin chaque fois que vous lirez la description d'une stratégie mentionnant des sessions en GMT.
Pourquoi la plupart des courtiers sont à l'heure GMT+2 ou GMT+3
Ce n'est pas arbitraire. Un serveur GMT+3 pendant la période de l'heure d'été aux États-Unis fixe la clôture quotidienne de la bougie à 00 h 00, heure du serveur, ce qui correspond à la clôture à New York à 17 h 00, heure locale.
C'est cette harmonisation qui justifie l'existence de cette convention, et elle a une conséquence : cinq chandeliers quotidiens par semaine au lieu de six, chacun couvrant une journée de négociation complète plutôt qu'une partie de journée. Un courtier situé au fuseau horaire GMT+0 génère un sixième chandelier le dimanche, d'une durée de quelques heures, ce qui modifie les valeurs de tous les indicateurs quotidiens par rapport au graphique d'un courtier situé au fuseau horaire GMT+3.
Cela a son importance si vous effectuez un backtest sur les données historiques d'un courtier et que vous négociez chez un autre. Même stratégie, bougies différentes, signaux différents.
Les conséquences du passage à l'heure d'été sur vos paramètres
La plupart des courtiers suivent le calendrier américain ; le serveur fonctionne donc à GMT+3 en été et à GMT+2 en hiver. Les dates de changement d'heure correspondent au deuxième dimanche de mars et au premier dimanche de novembre.
Vos horaires ne changent pas en conséquence. Une plage horaire de 8 h à 17 h définie en été correspond, en termes de marché, à une heure plus tôt dès le mois de novembre.
Deux réponses raisonnables :
- Négociez 24 heures sur 24 si la stratégie ne dépend pas de la session. Rien à gérer, rien qui puisse mal tourner.
- Réglez la fenêtre deux fois par an, et programmez un rappel dans votre agenda pour ces deux dimanches. Certains assistants électroniques disposent d'une fonction de programmation différée spécialement prévue à cet effet.
Comment configurer correctement une fenêtre de session
Imaginons que vous souhaitiez utiliser la session de Londres, de 8 h à 17 h, heure britannique, et que votre courtier soit à GMT+3 en été. L'heure d'été au Royaume-Uni étant GMT+1, le courtier a deux heures d'avance sur Londres : la plage horaire devient donc de 10 h à 19 h dans les paramètres de l'EA.
Procédez toujours dans cet ordre — déterminez l'heure locale de la séance, convertissez-la en GMT, puis ajoutez le décalage horaire du courtier — et vérifiez ensuite ces informations par rapport au graphique. La vérification la plus simple consiste à repérer le moment où la séance commence réellement sur votre graphique et à lire l'heure sur l'axe.
Dans quels cas cela apparaît-il comme un bug ?
« Il n'a été négocié que pendant deux heures. » La plage horaire est correcte selon votre heure, mais erronée selon l'heure du serveur ; par conséquent, la majeure partie de cette période se situe en dehors des heures d'ouverture du marché.
« Il n'a jamais fait l'objet d'aucune transaction. » La fenêtre s'affiche à des heures où la paire est fermée ou inactive, souvent pendant la séance asiatique pour une paire européenne.
« Son comportement a soudainement changé en novembre. » Le passage à l'heure d'été a entraîné un déplacement du serveur, mais les paramètres sont restés inchangés.
« Le filtre d'actualités se déclenche à des moments imprévisibles. » Le calendrier de MetaTrader fonctionne en interne en UTC ; par conséquent, un EA qui combine les horaires du calendrier avec ceux du serveur doit effectuer la conversion. Si le vôtre dispose d'une option permettant de régler manuellement l'heure pour le filtre d'actualités, c'est précisément à cela qu'elle sert.
Si l'EA ne fait absolument rien au lieu d'effectuer des transactions à des heures inhabituelles, la cause est probablement l'une des sept suivantes : L'EA n'ouvre pas de positions.
Remarque sur le backtesting
Le Strategy Tester utilise l'historique du courtier auquel vous êtes connecté ; il reprend donc l'heure du serveur de ce courtier. Un test effectué sur un courtier en GMT+2 et exécuté sur un courtier en GMT+3 porte sur un ensemble de chandeliers légèrement différent et une fenêtre de session décalée.
Cet effet est minime pour la plupart des stratégies, mais il s'avère déterminant pour toutes celles qui utilisent un filtre temporel étroit. Testez vos stratégies là où vous comptez négocier, ou assurez-vous au moins de connaître le sens de la différence horaire.