POM Education Series #1 : L’illusion d’un EA parfait

POM Education Series #1 : L’illusion d’un EA parfait

1 novembre 2026, 19:21
Nauris Zukas
0
6
POM Education Series #1

Imperial Dominator

Lire cet article dans une autre langue :
English | Русский | 中文 | Español | Português | 日本語 | Deutsch | 한국어 | Italiano | Türkçe | العربية | Bahasa Indonesia | ไทย

Notre communauté : Rejoindre la communauté MQL5 francophone

Imperial Dominator est un EA pédagogique conçu délibérément pour reproduire les techniques de trading employées par un Expert Advisor fortement promu sur le MQL5 Market. Son objectif est de montrer comment des résultats impressionnants peuvent masquer des risques importants.

Vous voulez savoir quel EA parmi les mieux classés du MQL5 Market utilise ces techniques ? Envoyez-moi un message privé.

Vous pouvez vérifier tout ce qui est décrit dans cet article dans le Strategy Tester en utilisant la version démo de l’EA disponible sur le Market.

Imperial Dominator equity curve

Ce graphique provient du même Expert Advisor que celui étudié dans cet article.

Les drawdowns sont minimes. La courbe progresse régulièrement.

C’est exactement le genre de graphique que l’on montre lorsqu’on veut vendre quelque chose.

Ce n’est pas le test qui l’a produit. C’est une personne.

Et dans cet article, je vais vous montrer comment ce résultat est obtenu.

L’Expert Advisor est disponible et vous pouvez tout reproduire vous-même. Paramètres d’entrée de l’EA expliqués

D’abord, qu’est-ce que cet EA, au juste ?

Imperial Dominator est un Expert Advisor simple.

Une fois par jour, à 11 h 00 (08 h 00 GMT), il définit une fourchette de prix à partir du plus haut et du plus bas des huit dernières heures, puis place des ordres Buy Stop et Sell Stop aux limites de cette fourchette.

Chaque signal est divisé en sept ordres de taille égale, avec un Stop Loss et un Take Profit fixes.

Les positions ouvertes disposent d’un Stop Loss suiveur, et les nouveaux bénéfices servent à clôturer de force d’anciennes positions perdantes.

C’est tout.

Un code de ce type peut être commandé dans la section MQL5 Freelance pour quelques dizaines de dollars.

Sur la vitrine du Market, c’est le marketing — et non le code — qui fait passer le prix de l’EA de quelques dizaines à plusieurs centaines.

Mais pourquoi montrer un EA comme celui-ci ?

Parce que, dans cet article, nous n’allons pas seulement regarder le résultat final.

Nous allons prendre un seul et même Expert Advisor et examiner, étape par étape, comment ce beau résultat est construit.

Vous pourrez exécuter l’EA dans le Strategy Tester de MetaTrader 5, examiner des transactions individuelles, modifier les paramètres et vérifier mes conclusions.

Vous n’êtes pas obligé de me croire sur parole.

Vérifiez tout par vous-même.

Première couche : le ratio

Regardez d’abord les paramètres.

Take Profit and Stop Loss settings

Le Take Profit est de 600 p, tandis que le Stop Loss est de 2600 p.

p = points de prix.

Le ratio affiché dans les paramètres est donc d’environ 1 pour 4,3.

Sur un autre Expert Advisor, les chiffres seront différents, mais avec une proportion semblable, et ils sembleront tout aussi acceptables.

Mais ce n’est que la vitrine.

Le système ne clôture pas la plupart des transactions au Take Profit de 600 points.

Le véritable ratio se voit dans les transactions.

Examinons une transaction

Lancez un test visuel et observez une transaction du début à la fin.

One trade from open through trailing to close

La position s’ouvre.

Le Take Profit est fixé à 600 p — exactement comme dans les paramètres.

Le prix avance.

Le stop suiveur déplace le Stop Loss et verrouille environ 55 points de bénéfice.

Le prix revient en arrière.

La position se ferme avec environ 55 points de bénéfice.

Le Take Profit de 600 p n’a pas été atteint.

Et dans la plupart des transactions, il ne l’est pas.

Dans les paramètres, nous voyons donc :

600 p contre 2600 p.

Mais dans la transaction réelle, nous voyons :

environ 55 p contre 2600 p.

Soit approximativement 1 pour 47.

Pour compenser une perte de 2600 points avec des gains de 55 points, il faut environ 47 transactions gagnantes.

Voilà précisément d’où vient ce taux de réussite élevé.

Beaucoup de petits gains.

De rares pertes importantes.

Et c’est pourquoi la courbe de capital peut paraître très régulière.

Le système ne s’est pas amélioré simplement parce qu’il gagne souvent.

Il perd simplement rarement — mais lorsqu’il perd, la perte est importante.

Ce ratio n’apparaît pas dans la fenêtre des paramètres.

Vous ne pouvez pas le comprendre en regardant uniquement les valeurs Take Profit et Stop Loss.

Il devient visible lorsque vous examinez les transactions individuelles.

J’appellerais un tel système un « Loss-Delayed EA ».

Ce n’est pas un EA qui empêche les pertes. C’est un EA qui les repousse le plus longtemps possible.

Vérifiez par vous-même : les transactions

Exécutez l’Expert Advisor en mode visuel et observez dix transactions d’affilée.

Regardez où se trouve le Stop Loss après quelques minutes et avec quel résultat la position se ferme réellement.

Ne regardez pas seulement ce qui est écrit dans les paramètres.

Regardez ce qui arrive réellement à la transaction.

Un EA n’a pas besoin d’être stable pendant des années pour bien se vendre.

Il lui suffit d’une période pendant laquelle il paraît extrêmement performant.

Par sa conception même, un Loss-Delayed EA peut produire une telle période : la plupart des transactions rapportent de petits gains, tandis que la grosse perte est reportée.

Une longue série de gains n’est donc pas seulement un bon résultat.

Elle peut devenir une fenêtre marketing.

De petits comptes avec de faibles volumes sont exploités en continu spécialement pour les signaux MQL5. Dès que des pertes apparaissent, le compte est abandonné et remplacé par un nouveau.

Mais dès que l’un d’eux affiche une période plus longue sans perte, le marketing actif commence.

Pendant ces périodes, le signal est maintenu en vie aussi longtemps que possible pour vendre au maximum. Et lorsque les pertes deviennent trop importantes, le signal est simplement supprimé pour laisser la place au suivant, qui attend déjà son heure de gloire.

Deuxième couche : la division des entrées

Regardez maintenant la même entrée dans l’historique.

Seven positions with the same open time and price

Vous vous souvenez que chaque entrée est divisée en sept parties ?

Dans l’historique, cela donne sept lignes avec la même heure et le même prix.

C’est comme acheter une tarte et la couper en sept parts.

Vous n’avez pas sept tartes.

Vous n’avez toujours qu’une seule tarte.

Mais dans l’historique des transactions, cela ressemble à sept transactions distinctes.

Vérifiez par vous-même : la division des entrées

Dans le Strategy Tester, ouvrez Results et examinez l’heure et le prix d’ouverture.

Si plusieurs lignes correspondent, il peut s’agir d’une seule entrée répartie en plusieurs positions.

Vous pouvez vérifier la même chose sur une page de signal MQL5, dans la section Trading History.

Trading History: split entry on a signal page

Pourquoi est-ce important ?

Parce que de telles séries de gains sont très séduisantes en marketing.

Si une seule entrée produit sept positions gagnantes, l’historique affiche sept gains.

L’image est beaucoup plus impressionnante qu’une seule entrée avec le bénéfice total correspondant.

Marketing screenshot of a winning streak

Another marketing screenshot of a winning streak

Vous avez déjà vu des captures d’écran comme celles-ci.

Ligne après ligne, tout est bénéficiaire, publié par les mêmes utilisateurs. Mais comment démasquer leur bluff ?

Demandez des preuves des volumes importants — par exemple, l’historique d’un compte réel sur le service de signaux du Market ou d’autres services de signaux fiables. Sans preuve vérifiable, n’y croyez pas.

Plus ces questions restent sans réponse, moins vous savez comment l’EA négocie réellement.

Une belle capture d’écran prouve que quelqu’un a réalisé une belle capture d’écran. Elle ne prouve pas encore les performances à long terme d’un EA.

Mais avant de juger un système sur une telle série, faites attention :

Combien d’entrées distinctes y avait-il réellement ?

Sept positions issues d’une même entrée ne constituent pas sept gains indépendants.

Par exemple, il peut n’y avoir aucune perte pendant quarante jours.

Cela paraît impressionnant.

Mais cela ne dit toujours pas grand-chose sur le système.

Ce n’est peut-être qu’un court extrait d’un historique de trading beaucoup plus vaste.

Pourquoi diviser une entrée ?

Cette division a aussi une utilité pratique.

L’Expert Advisor utilise le bénéfice d’une transaction récente pour clôturer d’anciennes positions perdantes avant leur Stop Loss.

Je pourrais appeler ce mécanisme :

« technique sophistiquée et unique d’IA neuronale »

Cela sonne impressionnant.

En réalité, le principe est simple.

Si la nouvelle position réalise un bénéfice, celui-ci peut servir à réduire la perte d’une ancienne position déficitaire.

Selon la période, ce mécanisme améliore ou dégrade le résultat. Il n’apporte donc aucune valeur à la stratégie en tant que telle.

Dans le testeur, en mode optimisation, on peut désactiver ce mécanisme en fixant le coefficient à 0 (Batch Coefficient).

Batch Coefficient setting

Comparez les deux résultats.

Test comparison with Batch Coefficient at 0 and without it

La différence pratique est faible.

Mais aux yeux d’un débutant, quelques pertes visibles subsistent — et l’EA paraît plus crédible qu’une courbe sans aucun drawdown.

Batch close trade example

Encore un point important concernant cette expérience.

Sur le signal Imperial Dominator, j’utilise également mon Recovery Booster.

Il n’est pas réservé à ce type d’EA : c’est un outil de récupération distinct, utilisable aussi avec d’autres stratégies.

Dans le cas d’Imperial Dominator, je l’ai utilisé délibérément pour prolonger la durée de vie du système et tester combien de temps un mécanisme de récupération analysant l’historique pouvait le maintenir en vie.

Cela ne change pas la nature du système et ne fait pas disparaître le risque. Pire encore, ce mécanisme peut fortement affecter le drawdown (DD) lorsque plusieurs pertes se succèdent (ce qui est très visible sur mon signal).

Troisième couche : la période

Les deux premières couches expliquent pourquoi la courbe peut paraître régulière.

Mais pas pourquoi elle peut ne présenter aucune chute importante.

Voici à quoi ressemble le même test lorsque nous montrons aussi une période perdante.

Backtest with one losing period

Ce n’est qu’une seule période de pertes.

Voyons maintenant ce qui se passe si l’Expert Advisor ne négocie pas ce jour-là.

Imperial Dominator possède un paramètre Skip Days.

Il empêche l’Expert Advisor d’ouvrir de nouveaux ordres aux dates indiquées.

Réglez-le sur Skip Days = 241002.

Skip Days parameter setting

Indiquez la date à laquelle l’Expert Advisor ne devra pas négocier.

Relancez le test.

Backtest after excluding the losing day

La chute a disparu. Le 2024.10.02, il n’y a plus de positions ouvertes.

Le taux de réussite a augmenté.

Le drawdown maximal a diminué, le bénéfice a augmenté et la courbe semble parfaite.

Et le récapitulatif du test ne laisse rien deviner de cette journée ignorée.

Voyons maintenant jusqu’où cela peut aller

Jusqu’ici, nous n’avons supprimé qu’une seule période perdante.

Nous allons maintenant faire de même avec toutes les périodes perdantes.

Nous utiliserons une période de test de 16 ans et une taille de lot dynamique.

Absurd-looking backtest after all losing days are excluded

Le résultat paraît carrément absurde.

Des centaines de millions de bénéfices.

Et ce n’est pas parce que nous avons découvert une stratégie de trading fantastique.

Nous avons simplement laissé le système négocier avec un lot dynamique aux dates historiques dont le résultat nous plaisait, et supprimé celles dont le résultat nous déplaisait.

Voilà jusqu’où l’on peut aller avec des données historiques lorsque l’on choisit soi-même les jours où le système avait le droit de perdre.

Construisez-le vous-même et regardez !

Dans cet EA, les mauvais jours ne sont pas cachés dans le code : ils figurent dans le champ Skip Days.

Mais le même principe peut aussi être intégré au code, là où l’acheteur ne peut pas le voir.

Après une grosse perte, une nouvelle version peut alors apparaître sur la page Market, avec par exemple la mention suivante dans la rubrique What’s new :

« Performances améliorées »

ou

« Corrections mineures ».

Le texte peut dire n’importe quoi. La correction, c’est la mise à jour elle-même, pas les mots qui l’accompagnent. Ensuite, le backtest de cet EA paraît de nouveau parfait.

Si la date de perte est codée en dur dans l’Expert Advisor, vous ne pouvez ni la voir dans les paramètres ni la désactiver.

Mon article précédent explique plus en détail à quel point il est techniquement facile de construire un tel backtest :

STOP ! Les backtests mentent. Comment rendre n’importe quel EA « parfait » en 5 secondes

https://www.mql5.com/en/blogs/post/769134

C’est pourquoi le backtest que l’on vous montre ne représente pas toujours l’historique complet du système.

Il peut ne montrer que les jours où le système était autorisé à négocier.

Vérifiez par vous-même : le jour exclu

Repérez une journée perdante dans le backtest de votre EA.

Exécutez le test sur l’ensemble de la période.

Puis excluez cette date et relancez le test.

Comparez les résultats.

Une seule journée peut modifier considérablement l’apparence de l’ensemble du backtest.

Mais ne peut-on pas procéder honnêtement ?

Un processus honnête — filtres, tests, vérifications — demande du temps.

Mais cela n’aidera pas ce système.

Si les pertes sont très rares, quelques cas isolés ne permettent pas d’identifier ce qu’ils ont en commun.

Un filtre construit sur quelques cas isolés peut s’ajuster au hasard plutôt qu’à une véritable régularité.

Si un système n’a subi que trois pertes dans l’année et que nous supprimons ces trois jours, nous n’avons pas amélioré le robot.

Nous avons simplement supprimé des statistiques la partie qui ne nous plaisait pas.

La prochaine perte peut survenir un tout autre jour et pour une tout autre raison.

C’est ce qu’on appelle le Rare-Event Overfitting : le surajustement à des événements rares.

Plus un filtre élimine précisément les pertes passées, plus il risque de devenir fragile.

La probabilité d’obtenir zéro perte à l’avenir simplement en filtrant les pertes précédentes est pratiquement nulle.

Pour en savoir plus sur la suroptimisation des backtests et son effet sur les résultats hors de la période de test :

Bailey, D., Borwein, J., Lopez de Prado, M., & Zhu, Q. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
SSRN — texte intégral de l’article

Une autre façon de prolonger la vie d’un signal réel et de repousser l’inévitable

On peut simplement réduire le nombre de jours où l’Expert Advisor est autorisé à négocier.

Par exemple, limiter les transactions à un certain jour de la semaine.

Ajouter un filtre d’actualités.

Interdire le trading à certaines heures.

Chacun de ces filtres peut sembler parfaitement raisonnable pris isolément.

Et ils peuvent aussi être utiles.

Mais il faut également les examiner sous l’angle du marketing.

Moins l’Expert Advisor négocie de jours, moins il a d’occasions de perdre.

Et moins il reste de pertes dans le test, plus il est facile d’obtenir une longue période sans pertes.

C’est particulièrement important pour un Loss-Delayed EA : plus la grosse perte est repoussée, plus la série de gains qui la précède paraît impressionnante.

Ces filtres ont-ils une justification logique, ou réduisent-ils simplement le nombre de jours de trading pour permettre au marketing de vanter plus longtemps la qualité du système ?

Par exemple, si le système ne négocie pas le vendredi, il ne négocie que quatre jours ouvrables sur cinq.

Cela signifie qu’une même série de gains, comptée en jours de trading, s’étale sur une période calendaire environ 25 % plus longue.

La série ne s’est pas améliorée. Elle se déroule simplement plus lentement.

Mais pourquoi les courbes des pages de signaux réels paraissent-elles si souvent parfaitement régulières ?

Jusqu’ici, nous avons examiné ce qu’il est possible de faire avec l’Expert Advisor lui-même et son backtest.

Mais les signaux MQL5 présentent déjà des statistiques issues d’un compte de trading réel.

D’où une question logique :

S’il s’agit d’un compte réel, pourquoi sa courbe de capital peut-elle, elle aussi, paraître presque parfaite ?

Ici, la manipulation se fait à un autre niveau — non pas dans le code de l’EA, mais dans la manière de présenter les statistiques du compte.

Regardons un seul et même compte dans deux affichages (Growth et Balance).

The same account in two statistics views

Voyez-vous la différence ?

Le résultat du trading n’a pas changé.

Dans la vue Growth, la courbe semble monter régulièrement, alors que le compte a connu des drawdowns pendant la même période.

Dans la vue Balance, on voit plusieurs dépôts et retraits.

Et là, nous sommes déjà à un tout autre niveau de manipulation.

Nous verrons dans le prochain article de POM Education Series comment les dépôts et les retraits peuvent servir à présenter des statistiques bien plus flatteuses sur les signaux MQL5.

Mais vous savez déjà qu’une belle courbe ne suffit pas, à elle seule.

Il faut regarder ce qui a réellement produit cette courbe.

Ce que vous savez maintenant

Vous savez désormais :

  • comment de petits gains et une grosse perte peuvent créer un taux de réussite très élevé ;
  • comment une seule entrée divisée en plusieurs positions peut ressembler à une longue série de gains ;
  • comment l’exclusion des mauvaises périodes embellit un backtest ;
  • comment la réduction des jours de trading peut étirer une série gagnante dans le calendrier ;
  • et pourquoi une jolie courbe ne prouve rien à elle seule.

La prochaine fois que vous verrez le résultat parfait d’un EA, ne regardez pas seulement la courbe.

Posez-vous la question : est-ce un Loss-Delayed EA ?

Regardez ce qui se cache derrière.

Ce n’est que le début

Ceci est le premier article pédagogique de la série POM Education Series.

Je compte poursuivre cette série et examiner d’autres méthodes susceptibles de donner une impression trompeuse de la qualité d’un EA.

Si vous ne voulez pas manquer les prochains articles, suivez le canal Pulse of Market sur MQL5.

Si cet article vous a été utile, partagez-le aussi avec d’autres. Sinon, ce type d’information reste toujours réservé à ceux qui l’ont déjà trouvée.

Canal Pulse of Market : https://www.mql5.com/en/channels/01a02c54cf2bdd01