Backtest et optimisation sous Metatrader

 

Pour obtenir le meilleur de votre stratégie et l’évaluer, vous avez besoin de la backtester et de l’optimiser raisonnablement. Nous allons vous donner dans cet article la marche à suivre avec Metatrader.

Bien que que le test en live sur un compte démo est essentiel pour plusieurs raisons, le backtest à l’avantage de vous permettre de simuler le fonctionnement de votre robot de trading sur de très longues périodes en seulement quelques minutes voir secondes. Et grâce à l’outil d’optimisation intégré au backtest, vous pouvez déterminer quels sont les paramètres qui permettent de maximiser les gains de la stratégie sur une certaine période passée.

Il y a un débat important autours de la précision des backtests réalisés avec Metatrader. Backtester vous offrira il est vrai seulement une approximation proche de la manière dont vos trades seraient exécutées en temps réel. Mais c’est le seul outil existant sous Metatrader qui vous permettra de tester rapidement toute stratégie sur un nombre importants de contextes de trading différents. Il est donc indispensable de savoir correctement s’en servir lorsqu’on se lance dans le trading automatique.

Commencez donc par ouvrir le Strategy Tester dans Metatrader en cliquant sur le bouton appropriée sur la barre de tâche ou en sélectionnant le “Cadre stratégie” via Affichage ou encore juste par le raccourci Ctrl+R.

Données Historiques

Avant de commencer à optimiser ou backtester quoi que ce soit, il faut s’assurer que votre base de données historiques est complète et précise, notamment si vous utilisez le mode “Every Tick”.  Si vous voyez des erreurs “mismatched chart” dans votre journal de log, ou si votre qualité de modélisation est inférieure à 90%, vos données historiques ne sont pas assez complètes pour générer des “ticks” précis.

Pour la procédure à suivre afin de télécharger les données historiques je vous renvoie vers cet article.

 

Optimisation

L’outil d’optimisation de Metatrader vous permets de tester des milliers de combinaisons pour les valeurs des paramètres de votre EA dans le but de trouver ceux qui maximiseront les gains dans l’échelle de temps et timeframe choisis. Cette optimisation est notamment importante pour les EAs basés sur des indicateurs avec des paramètres comme la période par exemple.

Attention cependant, tandis que l’optimiseur vous donnera les paramètres les plus efficaces sur une certaine période de temps, il n’y a pas de garanties que ces paramètres seront profitables dans le future. Les conditions de marché changent et il est donc conseillé de vérifier le résultat de l’optimisation sur des données cachées au moment de l’optimisation et/ou de réoptimiser votre stratégie régulièrement.

 

backtest metatrader

 

Afin d’optimiser votre EA, commencez par le sélectionner dans la liste déroulante. Puis sélectionnez la paire choisie ainsi que la période voulue. Au niveau du modèle de backtest (pour en savoir plus) choisissez “Open Prices Only” (plus rapide à effectuer ce qui est important pour une optimisation)  à moins que vous utilisez chaque ticks dans votre stratégie et dans ce cas utilisez “each tick”. Puis activez la sélection de dates et configurez celle qui vous convient. Enfin assurez vous que l’option optimisation est cochée.

Maintenant passons à la configuration de l’optimisation. Cliquez sur le bouton “propriétés de l’expert” puis allez sur l’onglet “Paramètres d’entrées”. C’est ici que vous allez sélectionner les variables à optimiser ainsi que le pas de l’optimisation et les valeurs minimales et maximales. La colonne “Valeur initiale” donne la valeur la plus basse à tester, la colonne “stop” indique la valeur maximale et le “Pas” donne l’incrément entre deux valeurs testées.

optimiser backtest

 

Cochez les paramètres que vous souhaitez optimiser. Dans l’image ci dessus nous sommes en train d’optimiser les périodes d’un système à croisement de deux moyennes mobiles. Nous pourrions aussi  d’ailleurs optimiser les stop loss, take profite, etc. Prenons l’exemple de la moyenne longue. L’optimiseur va tester toutes les valeurs entre 20 et 100 avec un pas de 2, c’est à dire 22, 24, 26, etc.

Les variables non optimisées utiliseront la valeur présente dans la colonne “valeur” lors des backtests/optimisations. Selon la période, l’ampleur de l’historique testé, la stratégie et le nombre de paramètres testés, l’optimisation peut aller de quelques minutes à plusieurs heures. Si c’est trop long réduisez la durée de l’historique testé et donner un pas plus important aux paramètres testés.

optimisation metatrader

Une fois que l’optimisation est finie, ouvrez l’onglet “optimisation des résultats” et double cliquez sur la colonne “rémunérations” pour trier les résultats. Double cliquez sur n’importe quel résultat pour le charger dans le testeur et appuyez sur Start pour lancer le backtest avec les paramètres sélectionnés.

Backtesting

Désormais vous devriez pouvoir vous débrouiller pour utiliser comme des grands le backtester. Renseignez à nouveau si nécessaire l’EA, la période, la paire, les dates de début et e fin, etc, sans oublier de décocher le paramètre “optimisation”. Vous pouvez sélectionner en outre le mode visuel pour comme son nom l’indique vous souhaitez regarder bougies après bougies comment se comporte sur le graphique votre robot. Pour un backtest, il est recommandé que vous utilisiez le mode “each tick” pour être le plus proche possible de la réalité.

Appuyez sur le bouton “Propriétés de l’expert” pour modifier, charger ou enregistrer les paramètres par défauts. Pour le backtest il est inutile de toucher aux colonnes correspondantes à l’optimisation. Seulement la colonne “Valeurs” nous est ici utile. Les check box et les colonnes “Valeur initiale”, “pas” et “stop” sont ignorées.

Fermez la boîte de dialogue et appuyez sur le bouton Start pour commencer le backtest. Encore une fois cela peut être très rapide ou très long selon la stratégie testée et les paramètres du backtest. Une fois le backtest fini allez voir les résultats sur le graphique et dans la partie “rapport”.

backtest metatrader

Quelques statistiques intéressantes:

  • Profit Total Net – Les profits moins les pertes.
  • Facteur de Profit – Le rapport entre le total des gains et celui des pertes. Plus le chiffre est élevé, mieux c’est.
  • Chute Absolue (Absolute drawdown) – La chute maximale entre un plus haut et un plus bas intermédiaire. Le but est de ramener le drawdown a une valeur la plus faible possible pour limiter les risques de grosses pertes.
  • Profit des Trades – Le pourcentage de trade gagnant.A noter que le terme est une mauvaise traduction…
  • Qualité du modelage – Important seulement si vous testez en mode “every tick”. Dans ce cas, il devrait être ramené à 90%. Si ce n’est pas le cas, suivez les instructions du début de cet article pour télécharger l’historique de données M1.

 

Le tableau “Résultats” vous donne quand à lui le détail de chaque ordre d’ouverture ou de fermeture de trade avec l’heure et la date, le prix, le stop, le take profit, etc. Il est important de mener au préalable des backtests visuels pour vous assurer du bon fonctionnement de votre stratégie.

 

Conseils pour obtenir les meilleurs résultats

Lorsque vous optimisez vos EAs, utilisez le plus petit nombre de paramètres possibles. Trop d’optimisation débouche sur ce que l’on appelle en anglais du “curve-fitting” qui produit des résultats impressionnant sur vos données mais des performances pauvres en temps réel. Pensez donc à tester votre optimisation sur une période que vous n’avez pas utilisez lors de l’optimisation. Backtestez une année plus tard ou plus tôt par exemple.

De manière générale il vaut mieux utilisez des données importantes pour l’optimisation en soit puis des données plus courtes mais significatives (25% de celles de l’optimisation par exemple) pour tester si l’optimisation tient la route. Par exemple on peut prendre 2 ans d’optimisations, puis les six mois précédents ou suivant pour son test.

Pour les EAs basés sur des indicateur, la période aura un grand impact sur les résultats. Attention de ne pas mettre des valeurs non cohérentes avec votre prise de risque pour les stop loss.

Un article suivra pour étudier des exemples précis d’optimisation enfin d’en éviter les pièges.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>