Comment tester un robot de trading avant d’acheter

MetaQuotes | 13 janvier, 2022

L’achat d’un robot de trading sur MQL5 Market présente un avantage distinct par rapport à toutes les autres options similaires - un système automatisé proposé peut être testé en profondeur directement dans le terminal MetaTrader 5. Avant d'acheter, un Expert Advisor peut et doit être soigneusement exécuté dans tous les modes défavorables dans le testeur de stratégie intégré pour obtenir une compréhension complète du système, étant donné que chaque Expert Advisor offert sur le MQL5 Market a une version de démonstration disponible.

Rappelez-vous: ce n’est pas seulement le montant payé que vous risquez lors de l’achat d’un robot de trading, mais aussi les pertes potentielles qui peuvent survenir à la suite de l’utilisation d’un tel robot de trading pour trader sur le compte réel.

Jetons-y un coup d’œil en utilisant comme exemple un Expert Advisor gratuit à trois moyennes mobiles que nous allons télécharger directement dans le terminal MetaTrader 5. Il s’agit d’une mise en œuvre d’une stratégie de trading classique basée sur trois moyennes mobiles.

Téléchargement de l’Expert Advisor depuis MQL5 Market directement dans le terminal MetaTrader 5


Méthodes d’évaluation d’Expert Advisor basées sur les résultats des tests

Bien qu’il n’y ait pas de méthode générale qui pourrait vous donner une garantie à 100% quant aux performances du robot de trading, il existe des méthodes simples qui vous permettent de vérifier les principaux paramètres d’un système de trading particulier dans le Strategy Tester du terminal MetaTrader 5. Les principales méthodes disponibles sont les suivantes : 

En outre, il convient de prêter attention aux facteurs potentiellement suspects, tels que:

Même si tout ce qui précède est une tâche assez facile, la plupart des débutants, ainsi que de nombreux traders quelque peu expérimentés, ne sont pas conscients de ces nuances ou ne sont pas toujours assez attentifs. Notons encore une fois que tout robot de trading téléchargé à partir de MQL5 Market peut être configuré pour test directement dans la fenêtre Navigator.

Démarrage d’Expert Advisor à l’aide du menu Navigateur

Le panneau du testeur de stratégie avec l’Expert Advisor que vous avez sélectionné apparaîtra automatiquement une fois que vous aurez appuyé sur "Test" dans le menu contextuel. Tout est à portée de main pour tester l’Expert Advisor téléchargé et nous sommes prêts pour un examen détaillé des méthodes d’évaluation indiquées ci-dessus.


Test de stress en mode délai aléatoire

Le Strategy Tester est principalement conçu pour tester les règles de trading d’un système. Cela signifie que le Strategy Tester émule l’environnement idéal pour tous les processus :

Tout vise à tester et à optimiser la stratégie de trading en un minimum de temps. Cependant, voyant que le fonctionnement d’un robot de trading en environnement réel est loin d’être idéal et instantané, le Strategy Tester a été amélioré avec un mode de test supplémentaire qui simule un délai aléatoire entre l’envoi et l’exécution d’un ordre de trading.

Définition du mode de délai aléatoire

Ce mode de test détecte avec précision :

Obtenir des résultats de trading nettement différents après avoir exécuté un seul test de l’Expert Advisor en deux modes, standard et délai aléatoire, devrait vous faire réfléchir. Tout d'abord, jetez un coup d'œil au journal du Strategy Tester étant donné que les nombreuses erreurs de trade qu'il contient devraient être une raison suffisante pour rayer cet Expert Advisor de votre liste. Dans notre cas, aucune erreur de ce type n’a été détectée au cours des tests de stress en mode délai aléatoire suggérant que l’Expert Advisor a réussi la première moitié du test.

Voyons maintenant s’il y a une différence entre les résultats de trade obtenus à l’aide de tests uniques exécutés dans deux modes. Une diminution significative du nombre de trades et des bénéfices réalisés en mode délai aléatoire suggèrent que la stratégie dépend fortement de la qualité de la transmission et de l’exécution des ordres de trades et ne peut gagner que dans certaines conditions idéales. Le développeur peut l’avoir fait involontairement, ce qui est très souvent le cas. Mais un tel "défaut" peut s'avérer désastreux pour votre compte de trading.

Comparaison des résultats de test dans différents modes d’exécution d’ordre de trade

Dans notre exemple, le passage à un autre mode d’exécution des ordres de trade n’a pas affecté le nombre de trades et de transactions. Les résultats des tests sont juste un peu différents, ce qui peut s’expliquer de manière adéquate par de petits changements de prix présents dans les transactions en raison des recotations. 

Conclusion : l’Expert Advisor des trois moyennes mobiles a réussi ce test. Les tests de stress en mode délai aléatoire n’ont pas eu d’effet substantiel sur les résultats de trade.


Tests dans un environnement de trading différent

Exécutez un test du robot de trading dans les conditions spécifiées dans sa description sur MQL5 Market. Ensuite, connectez-vous à un autre compte de courtier et exécutez à nouveau le test. Il est quelque peu similaire aux tests de stress précédents et vous permet de voir comment de petits changements dans les prix et les conditions de trading (spread, niveaux StopLoss / TakeProfit autorisés, etc.) peuvent affecter les résultats de trade.

Par exemple, vous avez les résultats du test Expert Advisor pour EURUSD sur le compte du courtier A. Exécutez le même test sur EURUSD, mais cette fois sur le compte du courtier B . Si les résultats sont très différents, c’est une bonne raison de reconsidérer la nécessité d’un tel robot de trading.


Un autre symbole/cadre temporel

La majorité des robots de trading sont développés de manière à trader sur un symbole particulier et certains d’entre eux nécessitent même d’être utilisés sur une période de temps spécifique. Cela semble tout à fait raisonnable car chaque instrument se comporte à sa manière. Par conséquent, le symbole et le cadre temporel sont, en règle générale, toujours spécifiés dans la description d’un robot de trading proposé sur MQL5 Market.

Téléchargez une version de démo de l’Expert Advisor et démarrez-la sur un symbole et/ou une période différents. Tout d’abord, vous devez vous assurer que l’Expert Advisor ne va pas planter avec une erreur critique ou remplir le journal avec des messages d’erreur de trade, étant utilisé dans des conditions de démarrage inappropriées. Deuxièmement, vérifiez qu’une stratégie de trading rentable n’est pas devenue extrêmement perte, en raison des changements ci-dessus dans les paramètres - cela peut se produire là où l’ajustement de la courbe a eu lieu.

L’un des moyens les plus simples d’organiser ce type de test pour l’Expert Advisor est de l’optimiser sur tous les symboles sélectionnés dans le Market Watch. Nous exécutons l’optimisation de l’Expert Advisor dans ce mode sur un cadre temporel assez long H1 avec la génération "Chaque tick" et obtenons une réponse assez rapide à la deuxième question.

 Optimisation sur tous les symboles sélectionnés dans le Market Watch

Les résultats d’une telle optimisation montrent que la stratégie a le droit d’exister, démontrant statistiquement un nombre suffisant de trades sur chaque symbole sans donner de très mauvais résultats. Remarquez, nous avons testé une stratégie sur les 13 symboles de Market Watch avec les mêmes paramètres définis par défaut.

Résultats de l’optimisation sur tous les symboles sélectionnés dans Market Watch

Nous ne pouvons certainement pas nous attendre à ce que tous les Expert Advisor fonctionnent aussi bien sur n’importe quel symbole et cadre temporel. Pourtant, il vaut la peine de le vérifier dans le testeur de stratégie en utilisant cette méthode. Il révélera non seulement d’éventuelles erreurs de code, mais peut même donner de nouvelles idées.

Conclusion: le comportement de l’Expert Advisor des trois moyennes mobiles a été normal lorsqu’il a été testé sur un symbole/cadre temporel différent. Aucune erreur de code évidente n’a été détectée lors des tests.


Backtesting sur de mauvaises données historiques

Nous avons découvert que l’Expert Advisor donne les meilleurs résultats lorsqu’il travaille sur GBPUSD. Mais que se passe-t-il si ce n’est pas un modèle cohérent et que ce comportement est dû à l’intervalle de test sélectionné de 2012.01.01 à 2012.09.28 qui, par un pur hasard, s’est avéré favorable? Pour examiner cette question, nous testons l’Expert Advisor avec les mêmes paramètres sur 2011, en prenant 2011.01.01-2011.12.31 comme intervalle. Nous effectuons le test et voyons les résultats.

Backtesting sur de mauvaises données historiques

L’Expert Advisor n’est plus rentable et est immédiatement devenu beaucoup moins wowable. De plus, les pertes subies en 2011 dépassent largement les bénéfices démontrés dans le Strategy Tester sur 2012.01.01-2012.09.28. Cependant, nous sommes maintenant conscients des pertes potentielles, même lorsque vous négociez sur GBPUSD.

Conclusion: l’Expert Advisor des trois moyennes mobiles nécessite un développement supplémentaire pour assurer une réponse automatique appropriée aux changements de comportement du marché, sinon les bons paramètres pour chaque intervalle doivent être trouvés grâce à l’optimisation.


Backtesting sur une longue période de l’histoire

Lorsqu’ils donnent des descriptions, les développeurs de robots de trading essaient de montrer leurs produits à leur meilleur et fournissent donc des rapports et des graphiques de test avec des paramètres optimaux pour un intervalle particulier. Étant donné qu’un temps considérable s’est généralement écoulé entre la date de publication du robot de trading et la date à laquelle vous vous y intéressez, nous pouvons exécuter un test dit avancé.

Les tests avancés sont des tests sur une période historique qui n’a pas été prise en compte lors de la sélection des paramètres optimaux. Nous allons poursuivre l’analyse de cet Expert Advisor sur GBPUSD sur un intervalle de test un peu plus long, y compris les données historiques après le 28 septembre 2012. La date de fin est fixée au 2012.11.26, ajoutant ainsi près de deux mois supplémentaires. Ainsi, après le test effectué sur la période allant du 2012.01.01 au 2012.11.26, nous obtenons le nouveau graphique de test:

Backtesting sur une longue période d’historique

Dans notre cas, les résultats démontrés par l’Expert Advisor des trois moyennes mobiles sur le court intervalle supplémentaire (Forward) sont encore meilleurs que ceux obtenus au cours des 10 mois précédents. C’est cependant très rare.

Conclusion: les tests de l’Expert Advisor des trois moyennes mobiles sur GBPUSD au cours de la longue période de l’histoire n’ont montré aucun affaiblissement des paramètres de trade.


Test avancé

Les tests avancés sont utilisés pour évaluer la stabilité du système de trading dans le comportement changeant du marché. L’optimisation des paramètres dans le Strategy Tester nous permet d’obtenir les paramètres auxquels le robot de trading est à son meilleur sur les données historiques dans un certain intervalle. Mais cela ne garantit pas que les paramètres obtenus seront les mêmes que ceux utilisés pour le trading dans un avenir proche.

Les traders qui développent des systèmes de trading automatisés confondent souvent des concepts tels que l’optimisation et l’ajustement de courbe. La ligne entre une optimisation équitable et un ajustement de courbe est très mince et difficile à trouver. C’est là que les essais avancés se sont avérés utiles permettant d’évaluer objectivement les paramètres obtenus.

Après l'optimisation dans le testeur de stratégie MetaTrader 5, vous pouvez choisir de tester à l'avance les paramètres optimaux qui en résultent et définir les limites nécessaires. Laissez-nous effectuer des tests avancés de notre robot de trading avec les paramètres indiqués ci-dessous.

Définition du mode d’optimisation avancée

Forward est défini à 1/4, ce qui signifie que l’intervalle spécifié 2012.01.01- 2012.11.26 sera divisé en 4 parties. Les 3/4 de l’historique seront utilisés pour trouver les paramètres optimaux et les 25% de passes les meilleures (ensembles de paramètres Expert Advisor) seront testées sur les 1/4 restants des données historiques.

Spécifiez les paramètres à optimiser - nous sélectionnerons ceux qui sont censés avoir un impact sur la logique de trading. Par conséquent, nous n’optimiserons pas les paramètres en charge de la gestion de l’argent.

Paramètres à optimiser

La combinaison ci-dessus de l’étape, ainsi que des valeurs de départ et d’arrêt a donné lieu à près de 5 millions de passes. Dans les circonstances données, il n’est pas déraisonnable d’utiliser un algorithme génétique et d’impliquer réseau cloud de MQL5 dans l’optimisation.

Jetons donc un coup d’œil aux résultats de l’optimisation, y compris les passes vers l’avant qui ont pris un total de 21 minutes et coûtent 0,26 crédit pour plus de 4000 passes en utilisant les agents cloud. Un exemple de la façon dont les coûts sont calculés peut être trouvé dans l’article MQL5 Cloud Network : Calculez-vous toujours ?

Graphique des résultats des tests avancés

À première vue, il semble y avoir quelque chose qui ne va pas. Nous vérifions les résultats et voyons que les valeurs des trois premiers paramètres optimisés sont les mêmes dans toutes les passes. Et seuls les deux derniers paramètres Inp_Signal_ThreeEMA_StopLoss et Inp_Signal_ThreeEMA_TakeProfit ont des valeurs variables.

Tableau des résultats des passes avancés

Compte tenu de ce qui précède, nous pouvons faire deux hypothèses :

Vérifions les deux hypothèses en ré-optimisant avec les mêmes paramètres et paramètres d’entrée. Cette fois, le graphique des résultats des tests avancés est un peu différent.

Un autre graphique de ré-optimisation sur la période d’avance

À la suite de l’optimisation, nous pouvons maintenant voir trois courants dominants. Cela signifie que les deux derniers paramètres optimisés apparaissent toujours accessoires au robot de trading donné.

Conclusion : l’optimisation de l’Expert Advisor des trois moyennes mobiles sur GBPUSD a montré que la logique de trading ne dépend que de trois paramètres sur sept.

Faisons une dernière tentative et supprimons les paramètres inutiles de l’optimisation. Nous n'avons plus que 1650 passes.

Ensemble réduit de paramètres pour l’optimisation

Par conséquent, une recherche complète des paramètres aurait plus de sens, plutôt qu’une optimisation génétique. Dans ce cas, MQL5 Cloud Network nous fournira plus d’agents et le temps nécessaire pour terminer le processus sera considérablement réduit.

Utilisation des agents MQL5 Cloud Network lors d’une recherche de paramètres terminée

La tâche a été accomplie en 7 minutes avec 2000 agents cloud impliqués et le tableau de test avancé semble bon.

Graphique d’optimisation

La plupart des passes au cours de la période d’avance se sont avérées rentables, le nombre de points au-dessus des 10 000 $ initiaux étant beaucoup plus élevé que dans la zone à perte. Cela semble quelque peu optimiste, mais cela ne signifie pas que les ensembles de paramètres résultants s’avéreront également rentables à l’avenir.


Nombre de paramètres dans un système de trading

Nous avons eu l’occasion de voir que tous les paramètres de stratégie disponibles pour la mise en place d’un robot de trading ne sont pas aussi importants et capables d’affecter les résultats de trading. Dans notre cas, les valeurs Inp_Signal_ThreeEMA_StopLoss et Inp_Signal_ThreeEMA_TakeProfit n’ont eu pratiquement aucun impact sur les performances de l’Expert Advisor. Cependant, il est plus courant de rencontrer un robot de trading qui a un grand nombre de paramètres.

De nombreux paramètres vous permettent de faire des réglages très précis pour un robot de trading afin d’adapter ses performances à une certaine période de l’histoire qui est très susceptible d’être révélée lors de l’optimisation.

L’ajustement de la courbe signifie que l’Expert Advisor n’affichera probablement pas le même niveau de rentabilité sur les données au-delà de l’intervalle spécifié utilisé pour l’optimisation que sur les données de test. Et pire encore, cela peut donner des résultats tout à fait opposés, entraînant des pertes.

On pense que moins un système de trading a de paramètres, plus la possibilité que le modèle identifié disparaisse à l’avenir est faible. Et vice versa - plus il y a de paramètres dans le système, plus il y a de chances que le marché conserve ses caractéristiques en ligne avec un Expert Advisor aussi affiné. Pour preuve de ce qui précède, nous vous recommandons fortement de vous familiariser avec les résultats de l’analyse de trade fournis dans l’article Optimisation VS Réalité : Preuves de l’ATC 2011 que nous examinerons plus en détail ci-dessous.

Corrélation entre l’équilibre et le nombre de paramètres

Le graphique affiche les résultats de trade des participants au cours de la Automated Trading Championship 2011. L’axe vertical affiche le solde du compte à la fin du championnat et l’axe horizontal affiche le nombre de paramètres externes d’EA. Les Expert Advisors sont représentés par des diamants rouges. On peut clairement voir que les Expert Advisors avec un grand nombre de paramètres ont perdu de l’argent ou, au mieux, ont atteint le seuil de la valeur, lors du trading au cours de la période à venir du championnat.

L’absence de paramètres externes dans un robot de trading proposé à la vente ne dit rien non plus sur la généralité des règles de trading conçues et ne peut pas non plus être considérée comme de la fraîcheur. Le développeur de l’Expert Advisor doit avoir, pour une raison quelconque, simplement enfilé les paramètres externes à l’intérieur du robot de trading.


Facteur de profit très élevé

La plupart des traders n’aiment pas perdre des trades et les prennent comme le signe d’un fonctionnement défectueux d’un système de trading. En fait, ils ne peuvent pas être évités en raison de la nature de trading sur les marchés financiers. Tout trade à l’ouverture d’une position peut finalement s’avérer gagnant ou perdant. Les pertes de trading sont inévitables et sont considérées comme une forme de rémunération naturelle et un poste de dépense inévitable, comme dans toute entreprise.

De nombreux développeurs de systèmes de trading automatisés courent à l’extrême, essayant de réduire au minimum le nombre de trades perdants et les pertes brutes. Pour y parvenir et améliorer les résultats qui peuvent être obtenus dans le Strategy Tester, ils ajoutent des filtres supplémentaires qui vous permettent d’éviter de perdre des trades, améliorant ainsi le facteur de profit. Les filtres supplémentaires ont leurs propres paramètres et réglages, ce qui s’ajoute au nombre total de paramètres d’entrée.

Le facteur de profit est défini comme le bénéfice brut divisé par la perte brute. Le facteur de profit des systèmes rentables est toujours supérieur à 1. Cependant, si l’on a essayé trop fort et sur-optimisé un système de trading dans le Strategy Tester, ce chiffre peut être beaucoup plus grand. Jetons un coup d’œil à un autre graphique de l’article Optimisation VS Réalité : Témoignage de l’ATC 2011.

Facteur de profit très élevé en raison de l’optimisation

Il est clair que presque tous les robots de trading qui avaient un facteur de profit très élevé lors des tests sur les données historiques n’étaient même pas proches de leurs résultats de backtesting lorsqu’ils ont été testés au cours de la période de Automated Trading Championship 2011 et ont pratiquement tout perdu. Cela suggère qu’un facteur de profit très élevé démontré dans le Strategy Tester était dû à l’ajustement de la stratégie à une certaine période de temps utilisée pour l’optimisation du robot de trading.


Bénéfice énorme sur les données historiques

Un autre fait alarmant peut être un bénéfice énorme indiqué dans la description d’un robot de trading. Si les rapports de Strategy Tester ci-joints montrent un équilibre vertigyant, cela a probablement à voir avec l’ajustement de la courbe. Souvent, les développeurs de telles "machines d’impression monétaire" ne se rendent même pas compte que leur système est sur-optimisé et a trop de paramètres externes. Appuyons cette affirmation par un autre graphique du rapport mentionné ci-dessus Optimisation VS Réalité : Témoignage de l’ATC 2011.

Bénéfice énorme sur les données historiques

Les acheteurs de tels "Graaux" sont en règle générale inexpérimentés et facilement aveuglés par des bénéfices énormes sur les données historiques. Dans ces cas, l’illusion du bénéfice qu’un tel robot de trading peut gagner est authentique et mutuelle.


Manipulations avec la gestion de l’argent

Créer des règles spéciales de manipulation des trades qui vous permettent de passer en revue les mauvaises données historiques dans le Strategy Tester avec un minimum de pertes et de maximiser les rendements sur les transactions réussies est l’approche la plus compliquée et la plus rare du développement anormal d’un robot de trading. C’est loin d’être ce qu’on appelle la gestion de l’argent.

Un tel ajustement peut être mieux détecté en testant sur des données qui se trouvent en dehors de la période d’histoire utilisée pour obtenir les résultats qui sont indiqués par le développeur dans la description du robot de trading. Plus l’ajustement est étendu, plus il est possible que le robot de trading échoue au test.


Ne faites confiance à personne. Pas même vous-même

Malheureusement, le robot de trading comme tout programme complexe peut contenir des erreurs involontaires qui ne peuvent être détectées autrement que par le trading en ligne. Aucun développeur de robots de trading ne peut garantir que son programme est sans erreur et gérerait correctement toutes les situations non standard. Même l’Expert Advisor qui a été testé avec succès peut faire une erreur de trade ou un crash en raison d’une erreur critique,lorsqu’il est mis dans des conditions inattendues que le développeur ne pouvait pas prévoir. La seule garantie implicite dans ce cas peut être l’expérience et la réputation du développeur du robot de trading.

Et, bien sûr, un Expert Advisor qui a démontré des résultats positifs dans le service Signaux sur une période de temps suffisante sera plus fiable que celui qui ne l’a pas fait. Quoi qu’il en soit, ne vous faites pas renverser en calculant vos bénéfices futurs et rappelez-vous deux règles qui sont toujours valables:

  1. ne faites confiance à personne,
  2. et aucun succès de trading passé ne peut garantir des bénéfices futurs.


Nous vous recommandons également les articles suivants consacrés au Market :