Vous lancez un backtest dans MT5 en ouvrant le Strategy Tester avec View > Strategy Tester (ou Ctrl+R), en choisissant l’Expert Advisor, le symbole, l’unité de temps, la plage de dates et le mode de modélisation, puis en appuyant sur Start. Cinq minutes plus tard, vous avez un rapport. La question qui presse n’est pas comment y arriver — c’est de savoir lesquels des chiffres de ce rapport veulent dire ce que vous croyez.
Ce guide fait les deux moitiés : la procédure, et la lecture. C’est de la lecture que viennent les preuves rassemblées ici, parce que nous avons 23 exécutions terminées en archive et que leurs rapports se contredisent eux-mêmes d’une façon que presque personne ne vérifie.
Ce qu’une exécution terminée vous laisse entre les mains
L’artefact est un rapport en deux moitiés : un bloc de résultats (trades, facteur de profit, drawdown, net) et la liste de trades qui se tient derrière. Les deux comptent, et seule la première est jamais citée.
Ce que vous devez pouvoir dire à la fin, ce n’est pas « ça a gagné 3 023 $ ». C’est : ce jeu de règles, sur ce symbole et cette unité de temps, sur cette fenêtre, avec ce modèle de ticks, sur un compte de 10 000 USD, a produit tant de trades, à tel facteur de profit, après être descendu aussi bas dans son pire moment. Chaque membre de cette phrase est un réglage que vous avez choisi, et en changer un seul change la réponse. C’est pour cela que les réglages passent ici avant la procédure.
Réglages : les données et les paramètres qui décident du résultat
Voici une exécution réelle que nous avons lancée puis publiée, citée pour que vous teniez les entrées et la sortie côte à côte. C’est le relevé qui se tient derrière Stillwater, une stratégie uniquement acheteuse sur l’USD/JPY en 5 minutes.
| Réglage | Cette exécution | Pourquoi il est fixé ainsi |
|---|---|---|
| Expert | Stillwater (19 paramètres) | Chaque paramètre que le rapport a été vérifié comme portant — la surface qu’il faudrait ressaisir pour la reproduire |
| Symbole | USDJPY_DUKA | Un symbole dédié à l’historique tick, tenu à l’écart de celui coté en direct pour que l’exécution reste reproductible |
| Période | M5 | Le graphique sur lequel les règles s’évaluent ; le filtre de tendance lit le M30 depuis l’intérieur de l’EA |
| Plage de dates | 2019-01-01 → 2026-07-01 | 7,5 ans, assez long pour contenir plus d’un régime |
| Modelling | Every tick based on real ticks (Model 4) | Tout ce qui trade à l’intérieur de la journée a besoin d’un chemin intra-bougie mesuré, pas interpolé |
| Deposit | 10 000 USD | Identique sur toutes les exécutions publiées ici, pour que les pourcentages de drawdown restent comparables |
| Leverage | Demandé 1:500 — a tourné en 1:100 | Voir plus bas. Celui-ci n’est pas ce qu’il paraît être |
| Optimisation | Désactivée | Une seule passe. Chercher des paramètres est un autre travail, avec d’autres pièges |
Deux de ces lignes méritent mieux qu’une case de tableau.
La qualité des données est le réglage sur lequel repose le résultat. Tout autre chiffre du rapport est calculé par-dessus la série de prix qu’a utilisée le testeur : la qualité de modélisation borne donc la mesure dans laquelle le reste du rapport parle de votre stratégie. Le relevé publié de l’exécution ci-dessus indique une qualité d’historique de 100 % sur 229 millions de ticks réels, lue directement sur le rapport du testeur. Une exécution sur des bougies interpolées aurait produit un autre ensemble de trades, et pas seulement d’autres exécutions d’ordres — le testeur suppose un chemin lisse entre les prix qu’il connaît, et une stratégie à stop serré trade cette supposition. Si vous n’avez pas lu quelles données tick votre terminal détient réellement pour le symbole, c’est la première chose à vérifier, avant la stratégie.
Le champ de l’effet de levier est une demande, pas un réglage. Sur les 23 exécutions en archive, le testeur s’est vu demander du 1:500 et le test a tourné en 1:100 — 0 fois sur 23 la valeur demandée a pris effet. Ce n’est pas une supposition tirée d’une relecture du champ : cela a été établi en mesurant la marge qu’une position consomme réellement dans le test, 126,39 USD, ce qui correspond au calcul en levier 100 et non à celui en levier 500. La conséquence pratique, c’est qu’une conception sensible à la marge — un grid, un martingale, tout ce qui empile des positions — peut passer un backtest à un levier qu’elle ne verra jamais, ou en échouer un à un levier qu’elle n’aurait pas utilisé. Confrontez le chiffre de marge du rapport à votre propre arithmétique plutôt que de faire confiance à la case que vous avez remplie.
Pas à pas : lancer le test dans MT5
- Ouvrez View > Strategy Tester (
Ctrl+R). Le panneau s’ancre en bas du terminal, avec Settings, Inputs, Agents et Journal pour onglets. - Dans l’onglet Settings, choisissez l’Expert Advisor, puis le Symbol et la Period. Prenez le symbole que vous allez réellement trader — la spécification, et pas seulement le prix, en vient, et la taille de contrat comme les règles de marge diffèrent d’une variante à l’autre de la même paire chez un courtier.
- Fixez la plage de dates. Utilisez une période personnalisée avec des dates From et To explicites plutôt que « Last month », pour que l’exécution soit reproductible par quelqu’un qui ne lit que votre rapport.
- Choisissez le mode Modelling. Every tick based on real ticks pour tout ce qui est intraday ; Every tick generated from M1 bars pour les systèmes plus lents ; les modes plus grossiers servent à balayer des paramètres, jamais à produire un chiffre que vous publiez.
- Fixez le Deposit, la devise et l’effet de levier, et laissez l’Optimisation désactivée pour une première passe. Notez le levier que vous avez demandé — vous le vérifierez face aux chiffres de marge du rapport au lieu de le supposer.
- Ouvrez l’onglet Inputs et lisez chaque valeur. C’est l’onglet qui transporte en silence les retouches de l’exécution précédente, et c’est pour cela que nos relevés vérifient les paramètres face au rapport terminé plutôt que face au fichier que nous croyions avoir chargé. Une exécution de cet ensemble en porte 362.
- Appuyez sur Start. Laissez le Visual mode éteint sauf si vous déboguez une logique d’entrée — il est beaucoup plus lent et il vous pousse à regarder au lieu de mesurer.
- Quand c’est terminé, ouvrez les onglets Results, Graph et Backtest, puis faites un clic droit dans le rapport et enregistrez-le. C’est le rapport enregistré, et non une capture d’écran de la courbe de capital, que vous comparerez plus tard.
- Notez le build du terminal à côté du résultat. Nos 23 exécutions s’étalent sur les builds 6090 et 6140 ; deux exécutions de la même stratégie sous des builds différents ne sont pas automatiquement la même expérience.
- Vérifier quel historique le symbole détient réellement
- Choisir le mode de modélisation en fonction de la durée de détention
- Fixer le symbole, la période et une plage de dates explicite
- Lire chaque valeur de l’onglet Inputs
- Lancer une passe unique, optimisation désactivée
- Enregistrer le rapport, pas une capture d’écran
- Lire les deux lignes de drawdown avant la ligne de profit
Lire les résultats : ce que le rapport veut vraiment dire
Reprenons la sortie de la même exécution. Voici ce qui est revenu :
| Résultat | Valeur | Ce qu’il doit franchir avant de continuer |
|---|---|---|
| Nombre total de trades | 416 | Assez pour que la moyenne décrive un échantillon, pas une anecdote |
| Facteur de profit | 1,28 | Au-dessus de 1,0 avec une marge qui survit aux coûts que vous n’avez pas modélisés |
| Profit net | 3 023,01 USD | Sur un dépôt de 10 000 — un rendement, pas une note |
| Drawdown du solde | 5,82 % (747,57) | Le pire creux en trades clôturés |
| Drawdown du capital | 6,11 % (787,60) | Le pire creux positions ouvertes comprises — celui que vous auriez regardé |
| Taux de réussite | 60,82 % | Ne veut rien dire seul ; à lire face au stop et à l’objectif, 100 et 200 pips ici |
| Conditions du test | |
|---|---|
| Identifiant d’expérience | EXP-BACKTEST-RUNBOOK-001 |
| Identifiant d’exécution | stillwater__gate_v2_duka_realticks__2019-01-01_2026-07-01 |
| Build MT5 | 6140 |
| Spécification de contrat | Exness-MT5Trial5 |
| Symbole / unité de temps | USDJPY_DUKA M5 |
| Période | 2019-01-01 – 2026-07-01 |
| Modèle | Every tick based on real ticks (Model 4) |
| Dépôt | 10,000 USD |
| Effet de levier demandé | 1:500 |
| Effet de levier effectif | 1:100 |
| Mesuré | 2026-08-23 |
| Dernière vérification | 2026-08-25 |
Trois éléments de ce rapport sont régulièrement mal lus.
Les deux lignes de drawdown répondent à deux questions différentes. Le drawdown du solde mesure la courbe des trades clôturés ; le drawdown du capital inclut le flottant des positions encore ouvertes. Sur nos 23 exécutions, la ligne de capital a été la plus profonde à chaque fois, et la taille de l’écart ne se déduit pas de la description de la stratégie : le plus étroit valait 0,04 point (0,67 % contre 0,71 %) et le plus large 11,10 points (14,52 % contre 25,62 %, soit un rapport de 1,76). Une stratégie qui clôture vite a un petit écart. Une stratégie qui reste assise pendant un mouvement défavorable en a un grand — et c’est précisément celle dont vous avez le plus besoin de connaître le drawdown avant de la financer.
MT5 imprime chaque drawdown deux fois, sous deux définitions. Le drawdown Maximal est mesuré au moment où le montant était le plus grand ; le Relative est mesuré au moment où le pourcentage était le plus grand. Ce sont deux instants différents de la même exécution : les deux chiffres ne sont donc pas deux vues d’un même événement. Parmi nos exécutions, 16 sont enregistrées selon la définition Maximal et 5 selon Relative — et la chaîne qui écrit ces relevés refuse d’apparier un solde Maximal avec un capital Relative, parce qu’une page affichant les deux comparerait deux instants distincts. Quand vous citez un drawdown, nommez la définition avec lui.
Les totaux du rapport sont arrondis, et sa fenêtre n’est peut-être pas celle que vous avez en tête. Recalculé à partir de la liste de trades publiée, le facteur de profit de la même exécution vaut 1,2843 et non les 1,28 du rapport — sans conséquence ici, et lourd de conséquences quand vous comparez deux candidats séparés de trois décimales. Plus important encore, cette exécution de 416 trades se scinde en 404 trades jusqu’à la date de coupure de publication du 2026-04-01 et 12 après elle. Ces 12 derniers ont rendu un facteur de profit de 2,3317. Aucun des deux chiffres n’est faux ; ils répondent à des questions différentes, et la coupure est une date qu’un humain a choisie, pas quelque chose que le testeur a imprimé. Si vous comptez découper une exécution en « la partie sur laquelle j’ai calé » et « la partie que je n’ai pas touchée », écrivez où passe la ligne avant de regarder la seconde moitié. Lire un rapport de backtest MT5 fait ce découpage sur les 23 exécutions et montre de combien le chiffre affiché se déplace.
Les pièges qui invalident une exécution en silence
L’améliorer : changer une chose, relancer, comparer
La boucle est délibérément ennuyeuse. Changez une variable, relancez, et notez les deux résultats. Deux variables à la fois et vous ne pouvez attribuer la différence ni à l’une ni à l’autre.
L’ordre qui vous donne le plus d’information par exécution est le suivant :
- Faites varier la fenêtre avant de faire varier la stratégie. Lancez 2019-2022 et 2022-2026 séparément. Si les deux moitiés se contredisent, les paramètres décrivent une seule période, et aucun réglage ne répare cela.
- Faites varier le symbole. Une règle qui ne marche que sur une paire est un fait à propos de cette paire. Notre ensemble reprend les mêmes approches générales sur l’USD/JPY, l’EUR/GBP, l’AUD/CAD, le NZD/USD, un indice et une paire crypto, exactement pour cette raison.
- Faites varier le mode de modélisation. Relancez le candidat survivant sur un modèle plus grossier. Si le résultat s’effondre, l’avantage vivait à l’intérieur de la bougie, et le chemin intra-bougie est la partie la moins digne de confiance de toute simulation.
- Ensuite seulement, faites varier les paramètres — et traitez tout réglage qu’il a fallu chercher comme une affirmation plus faible qu’un réglage choisi à l’avance.
Arrêtez d’itérer quand un changement cesse de déplacer le résultat au-delà du bruit des exécutions précédentes, ou quand vous vous surprenez à choisir des réglages à cause de ce que disait le dernier rapport. Cette seconde condition est la vraie condition d’arrêt, et elle arrive plus tôt qu’on ne le croit. L’analyseur de backtest est utile ici parce qu’il relit les chiffres principaux d’un rapport enregistré, ce qui fait de la comparaison de deux exécutions un acte d’arithmétique plutôt que de mémoire.
Prochaines étapes : testez en avant avant de passer en réel
Un backtest propre isolé est la première des quatre étapes, pas la ligne d’arrivée.
Optimisez, si la règle a des paramètres qui méritent une recherche. Consignez toute la plage explorée, pas seulement la passe gagnante — un résultat qu’il a fallu chercher est une preuve à propos de la recherche, et c’est la plage qui dit au lecteur avec quelle insistance vous avez cherché. L’optimisation des paramètres déroule cette passe et relit nos propres huit recherches enregistrées : 116 combinaisons, et pas un seul réglage que nous étions prêts à publier.
Puis avancez en walk-forward. Calez sur un segment, mesurez sur le suivant, et recommencez. C’est la seule des quatre étapes qui s’attaque directement au surapprentissage, et c’est pourquoi elle vaut plus qu’un backtest plus long.
Puis testez en avant sur un compte démo. C’est là que la latence, les requotes et l’élargissement réel du spread entrent enfin dans l’expérience. Faites-le tourner assez longtemps pour voir la stratégie perdre puis récupérer, parce que le chiffre dont vous avez réellement besoin n’est pas le rendement — c’est de savoir si vous pouvez rester assis pendant le drawdown que vous avez mesuré plus haut.
Puis décidez. Notez à l’avance la perte qui vous ferait couper le programme. Un seuil fixé avant de financer est une décision ; un seuil fixé pendant un drawdown est une réaction.
Si vous voulez une référence travaillée avant de lancer la vôtre, chaque fiche du catalogue d’EA publiés porte sa liste complète de trades clôturés, ses deux lignes de drawdown et le manifeste d’exécution qui les accompagne, et comment nous testons énonce la norme à laquelle ces relevés sont tenus. Le reste des guides de backtesting creuse les étapes d’optimisation et de walk-forward que cette page ne fait que désigner. Rien ici ne promet de résultat : chaque chiffre de cette page décrit des exécutions qui ont déjà eu lieu.