Backtesting & vérification intermediate 13 min de lecture

Lire un rapport de backtest MT5 : 23 rapports, et ce qu'ils omettent

Rapport de backtest MT5 : un jeu de trades précis sur un historique de prix précis, et les deux moitiés déplacent les chiffres. Sur les 23 rapports publiés ici, 14 des 20 qui publient les deux tranches flattent la période de sélection de l'EA, un rapport ne couvre que 303 de ses 315 trades, et le même EA relancé sur une autre source est passé de 1,35 et un PASS à 1,13 et un FAIL.

Publié · Révisé

Un rapport de backtest MT5 est une affirmation portant sur un jeu de trades précis, produit sur un historique de prix précis. Presque toutes les mauvaises lectures viennent du fait qu’on laisse tomber une moitié de cette phrase. Le facteur de profit affiché est lu comme une propriété de l’expert advisor. C’est une propriété de deux autres choses : la population de trades que le rapport a couverte, et les ticks dont le testeur a été nourri.

Cet article est l’ordre de lecture qui produit une décision. Ce que le rapport a supposé avant d’imprimer quoi que ce soit, quelle métrique répond à quelle question, où chaque chiffre vous ment, et ce que chaque lecture vous dit de changer. La procédure pour produire un rapport est un autre travail — faire un backtest la couvre de bout en bout.

Conditions du test
Identifiant d’expérienceEXP-REPORT-READING-001
Expérience parenteEXP-BACKTEST-RUNBOOK-001
Sourcedata/run-manifests/*.jsonresults, ledger_recomputed, shadow_runs
Populationall 23 runs published on mt5depot at the time of derivation
Build MT56090 and 6140
ModèleEvery tick generated from M1 bars (Model 0) and Every tick based on real ticks (Model 4)
Compte10,000 USD deposit on all 23 runs
Dernière vérification2026-08-26

Chaque chiffre ci-dessous vient d’un backtest, et les 23 exécutions portent toutes un verdict PASS — ce sont celles qui ont franchi le contrôle de publication. Cela en fait un ensemble de survivants : rien ici ne dit à quelle fréquence un backtest passe. Cela dit à quoi ressemble, vu de l’intérieur, un rapport qui passe.

Mise en place : ce que le rapport a supposé avant d’imprimer un chiffre

Le bloc Settings en haut d’un rapport MT5 n’est pas un préambule. C’est la liste des hypothèses dont hérite chaque chiffre en dessous, et six d’entre elles décident si le reste vaut la peine d’être lu. Le nom du courtier et le build figurent dans la ligne de titre du rapport lui-même — le nôtre indiquait Exness-MT5Trial5 (Build 6090).

Champ de SettingsCe qu’il fixe réellementCe que les nôtres consignent
Symbol: / Period:Les régimes dont le résultat est un échantillon22 exécutions commencent en janvier 2019 ; cairn commence en juin 2021
Model (génération des ticks)Comment les ticks à l’intérieur de chaque bougie ont été produitsModel 0 (généré à partir des bougies M1) sur 12 exécutions, Model 4 (ticks réels) sur 11
Initial Deposit:Le dénominateur de chaque pourcentage de la page10 000 USD sur les 23
SpreadLe coût prélevé sur chaque jambeMesuré sur exactement 1 exécution sur 23 — les autres héritent de ce que portait l’historique de prix
CommissionUn coût que le testeur n’applique que si vous le réglez0 sur les 23
Inputs:Les réglages qui ont produit ceci, en entierVérifiés face au rapport sur chaque exécution

La liste Inputs: est la ligne que les gens sautent, et c’est celle qui rend un rapport reproductible tout court : c’est l’ensemble complet des valeurs qu’il faudrait ressaisir pour retrouver la même page.

Deux de ces lignes méritent un instant. Une ligne de commission à zéro ne veut pas dire que la commission a été ignorée. Cela veut dire qu’aucune n’a été prélevée sur le symbole testé. Ce sont deux affirmations différentes, et seul le relevé d’exécution vous dit laquelle s’applique. Et un spread non mesuré n’est pas un spread nul : dans 22 de nos 23 exécutions, ce champ est vide parce qu’aucun enregistreur ne tournait à côté du test. Chaque jambe a simplement pris le spread que portait l’historique M1. Seul tidewell-slack peut indiquer sa propre moyenne, à 19,14 points.

Un piège de nommage a sa place ici. Le champ que les guides plus anciens appellent qualité de modélisation est imprimé par MT5 sous le nom History Quality:, dans le bloc Results, à côté de Bars:, Ticks: et Symbols:. Chercher « modelling quality » dans un rapport Build 6090 ne trouve rien. Dans nos propres relevés, le chiffre n’est présent que sur 2 des 23 manifestes, parce qu’il n’est conservé que lorsque le rapport source en indiquait un — c’est une propriété de ces relevés, pas une mesure de la fréquence à laquelle MetaTrader l’imprime. En pratique, cela veut dire que vous ne pouvez pas vous en servir comme filtre pour des rapports que vous n’avez pas produits. La source des données tick est la question qui se cache dessous, et celle-là admet toujours une réponse : demandez quel historique l’exécution a utilisé.

Lire le rapport, métrique par métrique

Lisez la page dans cet ordre. Ce n’est délibérément pas l’ordre dans lequel MetaTrader l’imprime, parce que les deux disqualifications les moins coûteuses se trouvent en bas du rapport.

  1. Lisez Settings en premier. Le modèle, l’Initial Deposit:, le spread et la commission. Chaque pourcentage en dessous en hérite, et une exécution au spread non mesuré n’est pas une exécution sans spread.
  2. Lisez Total Trades: avant tout ratio. Un ratio et sa taille d’échantillon sont un seul fait, pas deux. Notez le nombre à côté du ratio.
  3. Demandez quels trades le chiffre affiché couvre. Si un relevé de trades est publié à côté, vérifiez que son total correspond à Total Trades:. L’un de nos 23 rapports ne correspond pas.
  4. Lisez Equity Drawdown Maximal:, pas la ligne du solde, et notez si vous avez pris le chiffre Maximal ou le Relative — ce sont deux lignes distinctes.
  5. Trouvez l’historique de prix. Quel courtier, quelle source, quelle période. C’est le champ qui a déplacé un verdict dans nos relevés ; le modèle de ticks, non.

Voici toute la lecture en un tableau, avec les libellés que le rapport imprime réellement. La colonne « dans notre ensemble » indique ce que chaque métrique a donné sur 23 exécutions publiées. Cela vaut mieux qu’une fourchette de manuel, parce que c’est mesuré sur le même genre de rapport que celui que vous tenez.

Libellé du rapportLa question à laquelle il répondDans notre ensembleSignal d’alerte
Total Trades:La quantité de preuves disponibles108 à 4 725 par exécutionEn dessous d’environ 100 ; un ratio sur 20 trades est une rumeur
Profit Factor:Profit brut divisé par perte brute (facteur de profit)1,22 à 1,59 sur les 23Au-dessus d’environ 2,0 sur une fenêtre courte ; vérifiez d’abord Total Trades:
Profit Trades (% of total):Le taux de réussite — la forme de la distribution, pas son signe30,80 % à 82,27 %, toutes rentablesCité seul, sans facteur de profit à côté
Total Net Profit:La devise gagnée, avant tout contexte386,05 à 28 687,43 USD sur le même dépôt de 10 000 USDCité sans l’Initial Deposit: ni le nombre d’années
Balance Drawdown Maximal:Le pire creux en trades clôturés (drawdown maximal)0,67 % à 18,24 %Cité alors qu’une ligne de capital figure sur la même page
Equity Drawdown Maximal:Le pire creux, positions ouvertes comprisesPlus profond que le solde sur 23 exécutions sur 23Ignoré — c’est le chiffre dont dépend votre marge
Expected Payoff:Le résultat moyen par trade, en deviseNon conservé dans nos manifestesLu comme une prévision plutôt que comme une moyenne
Recovery Factor: / Sharpe Ratio:Le rendement par unité de douleur, de deux façonsNon conservé dans nos manifestesComparé entre des rapports aux nombres de trades différents
History Quality:Si le flux de ticks peut résoudre votre stopIndiqué sur 2 des 23Absent et source des données inconnue

Deux conventions de ce bloc piègent les lecteurs avant même que l’interprétation commence.

Total Trades: et Total Deals: sont deux comptes différents. Dans MetaTrader 5, un aller-retour vaut deux deals — une entrée, une sortie — de sorte qu’un rapport affichant Total Trades: 50 affiche Total Deals: 100 à côté, et les clôtures partielles ajoutent des deals sans ajouter de trades. Lisez les ratios face aux trades, jamais face aux deals.

Il y a six lignes de drawdown, pas une. Le rapport imprime Absolute, Maximal et Relative pour le solde comme pour le capital. Pire, le montant et le pourcentage échangent leurs places entre deux d’entre elles : Balance Drawdown Maximal: 36.84 (0.37%) met la devise en premier, et Balance Drawdown Relative: 0.37% (36.84) met le pourcentage en premier. Deux rapports peuvent citer « 0.37% » et « 36.84 » depuis des lignes voisines et désigner le même événement — ou deux événements différents.

Le reste du bloc Results — Z-Score:, AHPR:, GHPR:, LR Correlation:, LR Standard Error:, Margin Level: et les corrélations MFE/MAE — décrit la forme de la courbe de capital plutôt que sa taille. Rien de tout cela ne sauve un rapport dont le nombre de trades est trop petit, et rien de tout cela ne survit à un changement d’historique de prix mieux que ne le fait le facteur de profit. Lisez-le après les cinq étapes ci-dessus, ou pas du tout.

Deux des lignes de métriques font l’essentiel des dégâts en pratique : lisez-les ensemble plutôt qu’à la suite.

Le profit net a besoin de son dénominateur et de son calendrier. Nos 23 exécutions partent toutes des mêmes 10 000 USD, ce qui les rend exceptionnellement comparables. Elles s’étalent malgré tout de 0,51 % à 57,38 % par an. Le bas de la fourchette est instructif. orrery affiche un facteur de profit de 1,46 avec un drawdown maximal de 0,67 % — le plus beau couple de chiffres du catalogue. Il a gagné 386,05 USD en 7,58 ans. Rien dans ce rapport n’est malhonnête. Il répond simplement à une autre question que celle que la plupart des lecteurs croient poser.

Le taux de réussite et le facteur de profit sont ici presque indépendants. Sur les 23 exécutions publiées, la corrélation entre les deux vaut 0,37. L’essentiel de ce qui décide si un EA gagne de l’argent est donc invisible depuis la ligne du taux de réussite. nautical gagne 30,80 % de ses trades et rend un facteur de profit de 1,22 ; gyre gagne 82,27 % et rend 1,59. Les deux sont rentables, et 51 points séparent leurs taux de réussite.

Le facteur de profit que votre rapport ne vous montre pas

C’est la partie qu’aucun rapport ne vous montre, et c’est pourquoi nous avons pu écrire cet article à partir de nos propres données. Chaque exécution publiée conserve son relevé complet de trades clôturés, de sorte que chaque rapport se coupe en deux. Il y a la tranche sur laquelle l’EA a été sélectionné — la fenêtre de développement face à laquelle la publication a été contrôlée. Puis il y a les trades survenus après sa mise en ligne, sur lesquels rien n’a été sélectionné. Vingt de nos 23 exécutions publient les deux tranches ; les trois autres ne publient aucune tranche post-publication.

EATranche de calageTranche post-publicationChiffre affiché
orrery1,28 (195 trades)6,43 (15 trades)1,46 (210 trades)
windrose1,31 (101 trades)3,58 (7 trades)1,38 (108 trades)
cairn1,48 (4 583 trades)1,64 (142 trades)1,48 (4 725 trades)
gyre1,55 (136 trades)— (5 trades, aucun perdant)1,59 (141 trades)
tessera1,28 (624 trades)0,88 (21 trades)1,27 (645 trades)
zerqon1,53 (232 trades)0,72 (21 trades)1,43 (253 trades)

Lisez ensemble la première et la dernière colonne de la ligne orrery. Le chiffre affiché dit 1,46 ; la période sur laquelle l’EA a réellement été choisi dit 1,28 ; la différence tient dans 15 trades — 7 % du relevé — tournant à un facteur de profit de 6,43. Lisez la ligne zerqon de la même façon et elle va dans l’autre sens : 1,53 sur la tranche de calage, 0,72 sur les 21 trades survenus depuis, et un chiffre affiché de 1,43 qui masque les deux.

Sur les 20 exécutions qui publient les deux tranches, le chiffre affiché est meilleur que celui de la tranche de calage dans 14 cas et moins bon dans 6. Les trois autres sont écartées à dessein : n’ayant qu’une seule tranche, leur chiffre affiché et leur chiffre de calage couvrent exactement les mêmes trades, si bien que l’écart entre les deux n’est pas du tout un effet de population — c’est l’arrondi à deux décimales du rapport lui-même, face au relevé recalculé. almanac imprime 1.52 là où le relevé recalcule 1,5153. Appliquez ce même seuil d’arrondi aux 20 et 13 d’entre elles montrent encore un écart que l’arrondi ne peut pas expliquer, dont 8 dans le sens flatteur.

Cette asymétrie n’est pas un scandale. Un chiffre affiché qui recouvre deux périodes est tiré vers celle des deux qui a eu le plus de chance. Il reste qu’il n’est jamais le chiffre à comparer à une affirmation sur le comportement futur.

Pièges : comment ces chiffres induisent en erreur

Le mode de défaillance qui sous-tend ces cinq points est le même : un rapport est la mesure d’une population, et chaque métrique de la page hérite en silence de la population sur laquelle le testeur a été pointé.

L’améliorer : ce que chaque lecture vous dit de changer

Un changement par itération, et relisez les trois mêmes chiffres à chaque fois : le nombre de trades, le facteur de profit et le drawdown du capital. L’ordre ci-dessous va du moins coûteux au plus coûteux — les vérifications bon marché d’abord, parce que deux d’entre elles mettent régulièrement fin à l’enquête.

  1. Si le nombre de trades est petit, allongez la période — ne touchez pas aux paramètres. Un facteur de profit bâti sur moins d’une centaine de trades bouge davantage sous l’effet d’une fenêtre plus longue que sous celui de n’importe quel réglage que vous pourriez ajuster. Notre plus petite exécution publiée compte 108 trades, et c’est celle dont nous citons les ratios avec le plus de précautions.
  2. Si le chiffre affiché et la tranche de calage divergent, relisez uniquement sur la tranche de calage. C’est le chiffre face auquel les réglages ont été choisis. C’est celui à comparer à tout autre candidat.
  3. Si le drawdown du capital dépasse nettement celui du solde, dimensionnez sur le chiffre du capital. L’écart vous dit combien de positions l’EA porte dans le même mouvement. L’exécution chrysalis l’énonce sans détour : jusqu’à sept à la fois.
  4. Si le rapport vient des données de quelqu’un d’autre, relancez-le sur une seconde source avant toute autre chose. C’est la vérification dont l’effet mesuré est le plus grand de tout notre ensemble, et c’est la dernière que les gens font.

Ce qui a réellement déplacé les chiffres : la source des données, pas le modèle de ticks

L’un de nos EA a été relancé délibérément pour séparer ces deux variables, et le relevé d’exécution indique pour chaque exécution fantôme ce qu’elle isole.

Exécution tidewell-slackCe qui a changéTradesFacteur de profitDrawdown maxQualité d’historiqueVerdict
PubliéeHistorique M1 Exness, Model 03031,359,92 %99 %PASS
Fantôme — isole la source des donnéesHistorique Dukascopy, Model 03511,1318,18 %99 %FAIL
Fantôme — isole les ticks réelsHistorique Dukascopy, Model 43451,1118,20 %100 %FAIL

Lisez ce tableau comme deux expériences distinctes. Ne changer que l’historique de prix — de la première à la deuxième ligne, à modèle de ticks identique — a fait passer le facteur de profit de 1,35 à 1,13, presque doublé le drawdown et retourné le verdict du succès à l’échec. Ne changer que le modèle de ticks sur ce nouvel historique — de la deuxième à la troisième ligne — a déplacé le facteur de profit de 0,02 et le drawdown de 0,02 point. Et la qualité d’historique affiche 99 % et 100 % sur les deux exécutions qui ont échoué : le champ sur lequel la plupart des gens filtrent était donc excellent d’un bout à l’autre.

Un second EA pointe dans la même direction sous un autre angle. kestrel-hover est publié sur ticks réels Dukascopy à un facteur de profit de 1,33 avec un drawdown de 7,11 %, et son exécution fantôme sur historique M1 Exness en Model 0 affiche 1,30 et 6,76 % — la source et le modèle ont changé en même temps, et le résultat n’a presque pas bougé. La stabilité d’une source de données à l’autre est possible. Elle n’est simplement pas quelque chose qu’un rapport isolé puisse démontrer.

La règle pratique : un rapport n’est une preuve transportable que dans la mesure où son historique de prix l’est. Relancer sur une seconde source coûte une soirée. Dans nos relevés, c’est la seule vérification de cet article qui ait jamais changé une décision.

Prochaines étapes : du rapport à la décision

Bien lire un rapport est la deuxième étape sur quatre. La séquence est backtest → lecture → analyse walk-forward → démo, et chacune retire une façon différente de se tromper. Un rapport qui survit aux quatre a mérité une petite position ; celui qui survit aux deux premières a mérité un test de plus.

  • Entraînez-vous sur des relevés complets. Chaque fiche du catalogue d’EA publiés porte sa liste complète de trades clôturés et son manifeste d’exécution, de sorte que vous pouvez recalculer vous-même un chiffre affiché et voir exactement quels trades l’ont produit. C’est le seul exercice qui fait tenir la lecture.
  • Si un chiffre vous renvoie à la stratégie plutôt qu’au test, c’est dans le Builder que la règle elle-même change. Chercher parmi des réglages est encore un autre travail, couvert par l’optimisation des paramètres.
  • Avant de dimensionner quoi que ce soit sur un chiffre de drawdown que vous venez de lire, la gestion du risque pour les traders sur EA le transforme en un dépôt et une taille de lot.
  • La façon dont nous produisons, notons et consignons tout cela est exposée dans notre méthodologie de test.

Les résultats passés dans un testeur ne sont pas une prévision, et aucune des exécutions ci-dessus n’est une promesse sur les 12 prochains mois. L’intérêt de bien lire un rapport est plus modeste et plus utile qu’une prédiction. Il vous dit ce qui a été démontré, et ce qui a seulement été imprimé.

Questions fréquentes

Quel est un bon facteur de profit dans un rapport de backtest MT5 ?
Demandez quels trades il couvre avant de juger le chiffre. Chacun des 23 rapports publiés sur ce site se situe entre 1,22 et 1,59, et l'écart à l'intérieur d'un seul rapport est plus large que l'écart sur tout le catalogue : orrery affiche 1,28 sur les 195 trades sur lesquels il a été sélectionné et 1,46 une fois 15 trades postérieurs inclus. Un facteur de profit devient parlant quand vous pouvez dire combien de trades l'ont produit et si ces trades ont servi à choisir les réglages. En dessous d'environ 25 trades, il n'informe presque plus — 16 de nos 20 tranches post-publication sont de cette taille, et leurs facteurs de profit vont de 0,72 à 6,43.
Pourquoi mon rapport MT5 affiche-t-il deux chiffres de drawdown différents ?
Parce que MetaTrader mesure séparément la courbe du solde et celle du capital, et que le capital porte les positions ouvertes. Le drawdown du capital est le plus profond des deux sur nos 23 rapports ; le plus grand écart est celui de cairn, 14,52 % sur le solde contre 25,62 % sur le capital, soit 11 points de douleur qu'une citation limitée au solde dissimule. Cet écart est une propriété de la façon dont l'EA porte ses positions — l'exécution chrysalis en consigne la raison sans détour : l'EA peut tenir jusqu'à sept positions dans le même mouvement. Il existe un second axe : MetaTrader publie les définitions Maximal et Relative, et 16 de nos exécutions consignent le couple Maximal quand 5 consignent le couple Relative. Citez la ligne du capital, et dites de quelle définition elle vient.
Un taux de réussite élevé signifie-t-il qu'un EA est bon ?
Non, et notre propre ensemble est le contre-exemple. Sur les 23 rapports publiés, le taux de réussite est corrélé au facteur de profit à hauteur de 0,37, ce qui laisse l'essentiel de la variation inexpliqué. nautical gagne 30,80 % de ses trades et rend malgré tout un facteur de profit de 1,22 ; zerqon gagne 78,26 % et affiche 1,43. Le cas le plus net est ce qui est arrivé à zerqon ensuite : sur les 21 trades depuis sa mise en ligne, il a continué de gagner 76,19 % du temps et a produit un facteur de profit de 0,72, perdant 61,47 USD. Un taux de réussite vous dit la forme de la distribution des trades, pas son signe.
Peut-on se fier à un rapport de backtest issu des données de quelqu'un d'autre ?
Traitez-le comme une affirmation sur leur historique de prix, pas sur l'EA. Nous avons un EA mesuré des deux façons, à modèle de ticks constant : tidewell-slack publie 303 trades à un facteur de profit de 1,35 avec un drawdown de 9,92 % sur l'historique M1 Exness, et le même EA sur la même période avec l'historique Dukascopy a produit 351 trades à 1,13 avec un drawdown de 18,18 % — un échec sous le même contrôle. Faire passer cette exécution Dukascopy des ticks générés aux ticks réels ne l'a ensuite déplacée que de 0,02, à 1,11. C'est la source des données qui a déplacé le verdict ; le modèle de ticks, non. Demandez de quel historique de prix vient un rapport avant de demander quoi que ce soit d'autre.