L’optimisation des paramètres dans MetaTrader 5 est une recherche : vous déclarez une plage pour chaque entrée, le Strategy Tester exécute toutes les combinaisons, et il vous rend un tableau trié selon la métrique que vous avez choisie. Le difficile n’est pas de la lancer. Le difficile, c’est que le tableau a toujours une première ligne, et que cette première ligne est presque toujours fausse.
Ce que vous retirez de cet article, c’est une procédure qui produit une décision plutôt qu’un chiffre : une recherche que vous pouvez défendre, une lecture de la grille de passes qui survit au contact d’une deuxième période, et une règle d’arrêt.
| Conditions du test | |
|---|---|
| Identifiant d’expérience | EXP-PARAM-SEARCH-OUTCOMES-001 |
| Expérience parente | EXP-BUILDER-TEMPLATE-BASELINE-001 |
| Source | ea-templates-manifest.js → bt.explored |
| Population | 8 recorded searches of the 53 measured templates |
| Symbole / unité de temps | USDJPYm, M5 and H1 |
| Modèle | M1 OHLC (Model=1), Exness MT5, measured 2026-06-18 |
| Paramètres variés | stop loss and take profit only |
| Dernière vérification | 2026-08-25 |
Mise en place : la grille, le découpage et les données
Trois réglages décident si la recherche vaut la peine d’être lancée. Ratez-les et la grille de passes devient un générateur de nombres aléatoires très coûteux.
| Champ | Où | Quoi régler | Pourquoi |
|---|---|---|---|
| Optimisation | Onglet Settings | Slow complete algorithm pour une petite grille | Le mode génétique échantillonne l’espace ; pour 12 à 32 combinaisons, vous pouvez vous offrir de tout voir |
| Start / Step / Stop | Onglet Inputs, par entrée | Deux paramètres, pas grossiers | Chaque entrée que vous cochez multiplie la grille. La nôtre en a fait varier deux |
| Forward | Onglet Settings | 1/2, 1/3 ou 1/4 | Découpe l’intervalle pour que le testeur note séparément la seconde moitié — c’est le contrôle pour lequel vous lancez la recherche |
| Optimisation criterion | Onglet Settings | Décidez-le avant de regarder la grille | C’est la métrique selon laquelle le testeur classe les passes, donc c’est elle qui décide quelle ligne est la première |
| Modelling | Onglet Settings | Un mode grossier pour balayer, puis relancer le survivant sur ticks réels | Les modes de balayage servent à classer des candidats, jamais à produire un chiffre publié |
| Period | Onglet Settings | Assez longue pour contenir plus d’un régime | Une recherche à l’intérieur d’une seule tendance trouve le réglage qui l’a chevauchée |
Le critère mérite une décision plutôt qu’une valeur par défaut. Classer par profit net récompense la passe qui a pris le plus de risque, et classer selon une mesure fondée sur le drawdown récompense celle qui a le moins tradé — le facteur de récupération existe précisément parce que ces deux réponses divergent. Nos propres recherches n’ont pas du tout été jugées sur le classement du testeur : chaque survivant a été noté au facteur de profit sur trois fenêtres distinctes, et le classement à l’intérieur de l’une d’elles n’a jamais rien décidé.
La qualité des données passe avant tout : une recherche sur de mauvais ticks optimise les trous. En version courte, une qualité de modélisation inférieure à 90 % rend les grilles de passes intraday inutilisables, et une exécution construite à partir de données tick interpolées ne peut pas résoudre un stop qui se situe à l’intérieur d’une bougie.
- Lancez d’abord un backtest unique, aux valeurs par défaut, et gardez le rapport. Sans référence, la grille de passes n’a rien à battre — faire un backtest couvre cette passe de bout en bout.
- Dans l’onglet Settings, réglez Optimisation sur une passe complète pour une petite grille, et mettez Forward sur
1/3pour que le testeur retienne le dernier tiers de l’intervalle. - Dans l’onglet Inputs, ne cochez que les paramètres que vous testez réellement, et donnez à chacun un Start, un Step et un Stop. Deux entrées à pas grossiers valent mieux que quatre à pas fins.
- Appuyez sur Start et laissez la passe aller jusqu’au bout. Lisez l’onglet Optimisation Results comme un tableau, et l’Optimisation Graph comme une forme — un pic isolé est un avertissement, un plateau est un résultat.
- Prenez les survivants — pas le gagnant — et relancez chacun d’eux comme un backtest unique sur une période antérieure à la fenêtre d’optimisation. C’est l’étape qui a produit tous les verdicts négatifs de notre ensemble, et c’est celle que les gens sautent.
Lire les résultats : trois périodes, pas une
Voici l’intégralité de notre relevé, trié selon le meilleur facteur de profit en échantillon atteint par chaque recherche. IS est la période sur laquelle le réglage a été calé, OOS le jeu de validation, et prior une fenêtre antérieure que la recherche n’a jamais vue.
| Modèle | Grille explorée | Meilleur IS | OOS | Prior | Verdict |
|---|---|---|---|---|---|
ichimoku | 12 combinaisons × 3 fenêtres | 1,37 | 0,89 | 0,80 | no_robust_edge |
ma_crossover | 20 + 12 combinaisons, deux unités de temps | 1,23 | 0,89–0,94 | 0,78 | no_robust_edge |
cci_level | 12 combinaisons × 3 fenêtres | 1,07 | 1,05 | 0,92 | no_robust_edge |
adx_trend | 12 combinaisons × 3 fenêtres | 1,04 | 0,91 | 0,80 | no_robust_edge |
breakout | 12 combinaisons × 3 fenêtres | 1,04 | 0,79–0,89 | 0,64–0,84 | no_robust_edge |
macd_signal | 12 combinaisons × 3 fenêtres | — | 1,14–1,15 | 0,74–0,77 | no_robust_edge |
rsi_reversal | 12 combinaisons × 3 fenêtres | 0,91 | — | — | no_robust_edge |
bb_bounce | 12 combinaisons × 3 fenêtres | 0,91 | — | — | no_robust_edge |
Lisez la première colonne numérique de haut en bas, puis en travers. Le plus gros résultat en échantillon de l’ensemble a produit le plus gros effondrement : le 1,37 d’ichimoku est retombé à 0,89, puis à 0,80. Cet ordre n’est pas une coïncidence — le réglage qui épouse le mieux une fenêtre est par construction celui qui a absorbé le plus de bruit de cette fenêtre.
Lisez maintenant le réglage qui s’en est réellement le plus approché. Il ne figure pas dans le tableau ci-dessus, parce qu’il n’a jamais été la première ligne de quoi que ce soit : sur la même grille ichimoku, SL50/TP150 a obtenu 1,18 en échantillon, 0,99 hors échantillon et 1,00 sur la fenêtre antérieure. Trois périodes, toutes à peu près plates. Il a été consigné comme le candidat le plus proche et n’a malgré tout pas été retenu, parce qu’être à l’équilibre sur trois fenêtres n’est pas un avantage — c’est l’absence d’avantage, mesurée avec soin.
En face, les références que ces recherches cherchaient à battre se situent entre 0,92 et 1,03. Pas une seule recherche n’a déplacé un réglage par défaut publié.
Pièges à éviter
Le mode de défaillance qui sous-tend ces cinq points est le même. Le surapprentissage n’est pas une erreur que l’on commet à la fin d’une recherche — c’est le résultat par défaut du fait d’en lancer une, et la discipline des trois périodes existe pour le rendre visible avant que vous n’agissiez dessus.
L’améliorer et itérer : quoi changer, et quand s’arrêter
Changez une chose, relancez, comparez à la référence que vous avez gardée. L’ordre qui fait perdre le moins de temps :
- Élargissez la période avant d’élargir la grille. Plus de régimes vaut mieux que plus de combinaisons. Une recherche qui couvre une seule tendance trouvera le réglage qui l’a chevauchée, quelle que soit la résolution.
- Ensuite, grossissez les pas au lieu de les affiner. Si un résultat n’existe qu’à
SL47, il n’existe pas. - Ensuite seulement, ajoutez un paramètre. Les nôtres ne sont jamais allées jusque-là, parce que deux paramètres échouaient déjà à la barre des trois périodes.
Arrêtez-vous quand l’une de ces conditions est vraie, et notez laquelle :
- Un survivant passe les trois périodes. Publiez-le, et consignez toute la grille que vous avez explorée — pas seulement la passe que vous avez gardée.
- Le meilleur résultat en échantillon est inférieur à 1,0. Vous avez une vraie réponse : deux de nos huit recherches se sont arrêtées là, et s’arrêter là après 36 évaluations coûte peu.
- Les survivants passent une fenêtre et en ratent une autre, encore et encore. La règle dépend du régime. Chercher davantage produit davantage de réglages dépendants du régime.
- Vous avez commencé à expliquer pourquoi la fenêtre antérieure « ne compte pas ». C’est le moment où la recherche a cessé d’être un test.
Le relevé honnête d’une recherche, c’est la plage couverte et le verdict, ensemble. Chacune de nos huit est stockée ainsi, ce qui est la seule raison pour laquelle cet article a pu être écrit à partir d’elles — un gagnant stocké seul n’aurait rien prouvé.
Prochaines étapes : testez en avant, puis décidez
L’optimisation est la deuxième étape sur quatre. La séquence est backtest → optimisation → walk-forward → démo, et chacune retire une façon différente de se tromper.
- Entraînez-vous à la boucle sur quelque chose que vous maîtrisez : construisez une stratégie dans le Builder et cherchez vous-même son stop et son objectif, parce qu’une grille que vous avez déclarée est bien plus facile à lire honnêtement qu’une grille dont vous avez hérité.
- La version formelle du contrôle sur trois périodes est l’analyse walk-forward, qui fait rouler le découpage au lieu de le fixer à un seul endroit.
- Quoi que la recherche vous rende, le rapport dans lequel elle vous le rend doit encore être lu : lire un rapport de backtest MT5 explique de quelle population chaque chiffre affiché est réellement une affirmation.
- Pour voir à quoi ressemble un relevé terminé quand les chiffres ont bel et bien survécu, chaque fiche du catalogue d’EA publiés porte sa liste complète de trades clôturés et son manifeste d’exécution.
- La façon dont nous testons, notons et consignons tout cela est exposée dans notre méthodologie de test.