Identifie les écarts CME du week-end sur les graphiques de l’or et du Bitcoin (24h/24, 7j/7), conserve chaque écart non comblé sur le graphique jusqu’à ce que le cours y revienne, et indique la fréquence à laquelle les écarts se comblent, leur vitesse de comblement, l’amplitude initiale du mouvement de prix, ainsi que le rendement qu’aurait généré une stratégie de « fade-trade ». Sans repeint, avec des tampons pour un Expert Advisor.
« Les écarts CME se comblent toujours » : c’est une affirmation que l’on entend dans tous les chats consacrés au Bitcoin, ainsi que dans de nombreux canaux consacrés à l’or. Les contrats à terme CME cessent d’être négociés le vendredi à 16 h, heure de Chicago, et reprennent le dimanche à 17 h. Tout ce que le marché a fait entre-temps apparaît sous la forme d’un écart sur le graphique des contrats à terme, et l’on considère généralement que le cours revient pour le combler.
Je voulais deux réponses avant d’y croire. À quelle fréquence ce gap se comble-t-il réellement ? Et s’il se comble, peut-on gagner de l’argent en spéculant dans ce sens, ou le cours part-il d’abord dans la direction opposée et provoque-t-il un stop ? Cet indicateur répond à ces deux questions directement sur votre propre graphique.
Sur un graphique Bitcoin où les transactions se poursuivent tout le week-end, il n’y a pas de gap visible entre la dernière barre du vendredi et la première barre du lundi ; un outil classique de détection des gaps de week-end ne trouve donc rien. Le gap du CME n’apparaît que lorsque l’on examine le cours aux deux moments correspondants du CME, ce que fait cet indicateur. Pour l’or, le marché au comptant ferme également pendant le week-end ; le « gap CME » et le « gap de week-end » du courtier sont donc pratiquement identiques.
Une précision s’impose : l’indicateur utilise les cours du graphique sur lequel il s’applique, et non les cours des contrats à terme. Sur un graphique au comptant ou de CFD, vous obtenez l’évolution au comptant pendant le week-end du CME. L’écart sur le graphique réel des contrats à terme peut varier légèrement, car ceux-ci se négocient avec une prime ou une décote par rapport au cours au comptant.
XAUUSD H1, données MetaQuotes-Demo, paramètres par défaut sauf indication contraire. Les deux fenêtres se chevauchent de quelques jours fin décembre 2025.
| 2026, 38 semaines jusqu’au 18 septembre | 2026, 38 semaines jusqu'au 18 septembre | 2025, 52 semaines jusqu'au 31 décembre | 2025, 52 semaines jusqu'au 31 décembre | |
|---|---|---|---|---|
| Écart minimum | 0,30 % | 0,10 % | 0,30 % | 0,10 % |
| Écarts (à la hausse / à la baisse) | 24 (10 / 14) | 33 (13 / 20) | 6 (2 / 4) | 19 (9 / 10) |
| Comblés | 23 (96 %) | 32 (97 %) | 5 (83 %) | 18 (95 %) |
| Postes pourvus dans les 24 heures | 58 % | 67 | 50 % | 68 |
| Postes pourvus dans les 7 jours | 83 % | 85 % | 50 % | 74 % |
| Délai médian de recrutement | 7 h | 3 h | 3 h | 3 h |
| Chaleur médiane avant remplissage | 2,18 fois l'écart | 2,31 fois l'écart | 2,16 fois l'écart | 1,70 fois l'écart |
| Opérations de vente à découvert, stop à 1x l'écart | 24 | 33 | 6 | 19 |
| Taux de réussite des positions à contre-tendance | 29,2 % | 27,3 % | 16,7 % | 26,3 % |
| Facteur de profit « Fade » | 0,41 | 0,37 | 0,20 | 0,35 |
| Total des paris « Fade » | -10,1R | -15,1 R | -4,0R | -9,1R |
Le dicton s’avère donc globalement vrai pour l’or : entre 83 % et 97 % des écarts se sont comblés. C’est au niveau des transactions que le système montre ses limites. Parmi les écarts qui se sont comblés, celui situé en médiane a d’abord évolué dans la mauvaise direction sur une distance équivalente à environ deux fois sa taille, de sorte que la plupart des transactions de « fade » avec un stop correspondant à la taille d’un écart se sont soldées par une perte.
J’ai essayé des stops plus larges, avec un minimum de 0,30 %. Un stop plus large permet de gagner plus souvent, mais chaque perte est plus importante et le résultat total est resté négatif ces deux années :
| Stop | Taux de réussite en 2026 | Total 2026 | PF 2026 | Taux de réussite 2025 | Total 2025 | PF 2025 |
|---|---|---|---|---|---|---|
| Écart 1x | 29,2 % | -10,1R | 0,41 | 16,7 % | -4,0R | 0,20 |
| écart de 2x | 45,8 % | -7,0 R | 0,44 | 33,3 % | -3,0R | 0,25 |
| 3 fois l'écart | 66,7 % | -2,0 R | 0,72 | 50,0 % | -2,0R | 0,33 |
En 2025, on ne comptait que 6 écarts de 0,30 % ou plus ; il convient donc de considérer cette colonne comme un échantillon restreint. Ce que j’en retiens est simple : sur l’or, l’écart est un bon niveau où l’on peut s’attendre à ce que le cours passe, mais le vendre dès l’ouverture avec un stop fixe n’a pas été rentable au cours de ces deux années.
Certains écarts ne se comblent pas avant longtemps. Au 18 septembre 2026, un écart sur l’or datant de 2025 était toujours ouvert, avec un niveau de comblement de 3 201,00, bien en dessous du cours.
Fig. 1. XAUUSD H1, fin janvier 2026 : un écart de +0,43 % comblé en 106 heures et un écart de -2,47 % comblé en 32 heures
Fig. 2. Le tableau de bord des quatre simulations présentées dans le tableau
Je n’ai pas pu le tester sur le Bitcoin. Mon courtier de test, MetaQuotes-Demo, ne propose pas de BTCUSD disponible 24 h/24 et 7 j/7, mais uniquement un ETF Bitcoin négocié pendant les heures d’ouverture du Nasdaq. Le code pour un graphique 24 h/24 et 7 j/7 est le même que celui utilisé pour l’or : le cours à la clôture du vendredi et à l’ouverture du dimanche. Avant de vous fier à ce code pour le BTC, vérifiez les premiers écarts par rapport à un graphique des contrats à terme du CME et configurez les paramètres de décalage du serveur pour votre courtier.
| Entrée | Par défaut | Fonction |
|---|---|---|
| InpGMTWinter | 2 | Décalage GMT du serveur en hiver, en heures |
| InpGMTSummer | 3 | Décalage GMT du serveur en été, en heures |
| InpServerDST | Europe | Règle d'heure d'été de l'horloge du serveur (fixe, Europe ou États-Unis) |
| InpMinGapPct | 0,30 | Écart minimal, en % du prix |
| InpWeeksBack | 104 | Nombre de semaines d'historique dans la fiche d'évaluation |
| InpDrawWeeks | 26 | Semaines de lacunes comblées tirées au sort (les lacunes ouvertes sont toujours tirées au sort) |
| InpStopGapMult | 1,0 | Test de fondu : arrêt à un multiple de l'écart |
| InpMaxHoldDays | 5 | Test de décroissance : sortie après ce nombre de jours |
| InpShowPanel | true | Afficher le panneau du tableau de bord |
| InpPanelCorner | en haut à gauche | Coin du panneau |
| InpOpenGapColor | orange clair | Couleur des espaces non remplis |
| InpFilledGapColor | Gainsboro | Couleur des espaces remplis |
| InpAlertNewGap | true | Alerte lorsqu'un nouvel espace apparaît |
| InpAlertFill | vrai | Alerte lorsqu'un écart ouvert est comblé |
| InpAlertPush | false | Envoyer également des notifications push |
Les paramètres par défaut (GMT+2 en hiver, GMT+3 en été, règle européenne) correspondent à ceux de MetaQuotes-Demo et de nombreux autres courtiers MetaTrader. Si le serveur de votre courtier fonctionne en UTC toute l'année, réglez les deux décalages sur 0 et la règle sur « fixe ». Utilisez la période H1 ou une période inférieure. Sur H4 et les périodes supérieures, les horaires du CME tombent à l'intérieur d'une barre et les cours sont moins précis.
Le gap est enregistré sur la barre où le CME a ouvert, dès l’ouverture de cette barre ; un EA le lit donc au décalage 0. Il utilise uniquement le cours de clôture du vendredi et le cours d’ouverture de cette barre, il ne change donc jamais par la suite. J’ai vérifié cela à l’aide d’un EA de test qui enregistrait chaque écart dès son apparition et j’ai comparé la liste avec les tampons de l’indicateur à la fin de l’exécution : 24 écarts sur 24 correspondaient pour l’or en 2026.
| Tampon | Contenu |
|---|---|
| 0 | Écart à la baisse (achat à la baisse), la valeur correspond au cours d’entrée, EMPTY_VALUE dans le cas contraire |
| 1 | Écart à la hausse (vente à contre-courant), même format |
| 2 | Niveau d'exécution (cours de clôture du vendredi) sur la barre de gap |
| 3 | Stop de test de rebond sur la barre de gap |
| 4, 5 | Niveaux d’exécution d’ouverture les plus proches au-dessus et en dessous de chaque barre clôturée |
| 6 à 9 | Tableau de bord sur la dernière barre clôturée : transactions « fade » clôturées, gains, R total, somme des R perdus |
int handle; datetime lastBar = 0; int OnInit() { handle = iCustom(_Symbol, PERIOD_H1, "CMEGapTracker"); return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED); } void OnTick() { //--- un écart est enregistré sur la barre d'ouverture du CME dès l'ouverture de cette barre datetime bar = iTime(_Symbol, PERIOD_H1, 0); if(bar == lastBar) return; lastBar = bar; double up[1], down[1], target[1], stop[1]; if(CopyBuffer(handle, 1, 0, 1, up) < 1 || CopyBuffer(handle, 0, 0, 1, down) < 1 || CopyBuffer(handle, 2, 0, 1, target) < 1 || CopyBuffer(handle, 3, 0, 1, stop) < 1) return; if(up[0] != EMPTY_VALUE) Print("Gap up, fill level ", target[0], ", fade stop ", stop[0]); if(down[0] != EMPTY_VALUE) Print("Gap down, fill level ", target[0], ", fade stop ", stop[0]); }
Les tampons 4 et 5 sont utiles pour un autre type d’EA, qui utilise les écarts ouverts comme cibles pour des transactions qu’il effectue pour d’autres raisons. L’indicateur ne comporte délibérément aucun groupe d’entrées, car MQL5 considère chaque « groupe d’entrées » comme un paramètre de iCustom() et chaque valeur qui suit serait décalée d’une unité.
Il fonctionne sur les données des barres ; il ne peut donc pas déterminer l’ordre des événements au sein d’une même barre. Il utilise les cours de votre graphique aux heures du CME, et non les cours des contrats à terme. Les jours fériés américains qui raccourcissent la semaine du CME ne sont pas traités séparément. Le test « fade » prend en compte le spread de la barre d’entrée, mais aucune commission ni aucun slippage ; or, c’est précisément lors des ouvertures du week-end que le slippage est le plus important. Tous les chiffres ci-dessus décrivent des écarts passés sur les données d’un courtier.
Ali Rajput
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/77686
Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest
Un EA de type « Turtle » basé sur la stratégie de cassure pour l'or. Il achète lorsqu'une barre H4 clôture au-dessus du plus haut sur 20 barres dans une tendance haussière, avec un stop de 2 ATR et un objectif de 2R. Backtest réalisé sur la paire XAUUSD de janvier 2020 à septembre 2026 : +9 029,72 sur un capital de 10 000 avec un risque de 1 %, facteur de profit de 1,77, drawdown maximal de 11,38 %, 6 années rentables sur 7.
Smart Money Concepts BOS CHoCH
Market structure indicator for Gold (XAUUSD), EURUSD and any symbol: swing highs and lows with HH HL LH LL labels, BOS and CHoCH drawn on closed candles, alerts and 4 buffers for EAs. Open source code.
Heikin Ashi Candles
A clean Heikin Ashi indicator that draws on the main chart window. It also adds one horizontal line at the average price, (Open + High + Low + Close) / 4, of the last closed candle of a chosen timeframe. By default this is H1, and the line uses the normal candles, not Heikin Ashi.
Broker Time - server, UTC, New York, London, Sydney, Tokyo with the right summer time (class + session lines)
CBrokerTime converts server time, UTC, New York, London, Sydney and Tokyo with the real summer time of every year and finds your broker's clock from the history (also in the tester). The indicator draws session lines and a clock panel.