Optimisations et Backtests, les clés du succès ?
Pour tirer le meilleur parti de votre algorithme (expert advisor), vous aurez besoin d’optimiser et de backtester votre stratégie en utilisant le Testeur de stratégie de MetaTrader. Bien que les tests sur un compte de démonstration sont essentiels, le backtesting vous permet de simuler la stratégie de trading sur une période de temps plus longue en quelques minutes. Et avec la fonction d’optimisation, vous pourrez savoir quels réglages effectuer sur une période sélectionnée de données historiques pour un résultat optimum.
Il y a un débat sur la précision du système de contrôle de la stratégie de MetaTrader 4. Au mieux, le backtesting n’offre qu’une approximation de la façon dont les trades seront exécutés en temps réel par le robot de trading. Mais c’est un des seuls outils disponible pour tester rapidement toute stratégie sur un large éventail de situations de trading, et vous allez apprendre à bien l’utiliser.
Ouvrez le Testeur Stratégie dans MetaTrader en cliquant sur le bouton approprié dans la barre d’outils ou sur « Tester la stratégie » dans le menu Affichage.
Données historiques
Avant tout backtesting ou optimisation, il est important de vous assurer que vos données historiques sont complètes et précises, en particulier si vous utilisez la fonction « Chaque tick » en réglage de test. Si vous voyez des «erreurs de graphiques désaccordés» dans votre rapport ou si votre qualité de la modélisation est inférieure à 90%, vos données historiques sont insuffisantes pour générer des ticks précis.
Ouvrez vos Archives de Cotation dans le menu Outils ou sélectionnant en F2 sur votre clavier. Double cliquez sur le sous-jacent que vous prévoyez de backtester dans la colonne de gauche. Une liste d’unités de temps apparaît.
Commencez en double-cliquant sur une minute (M1) pour charger les données historiques de cette période. Le backtesteur utilise les données M1 pour générer les ticks, il est donc important que vos données M1 soient complètes. Cliquez sur le bouton Télécharger pour recevoir les données historiques complètes pour cette paire et sur cette unité de temps. Vous allez voir un message d’alerte « Avertissement de Téléchargement », cliquez sur OK pour continuer. Le téléchargement de l’unité de temps M1 débutera depuis le centre historique. Lorsque le téléchargement est terminé, répétez l’opération, le système va vous indiquer qu’aucune nouvelle donnée n’est disponible, et va vous proposer de recompter les ticks pour chaque unité de temps, cliquez sur OK. Vous pouvez ensuite exporter vos données dans un répertoire d’archives de votre disque dur.
Pour récupérer ces données ultérieurement, cliquez sur le bouton Importer dans la fenêtre Historique, puis cliquez sur Parcourir pour sélectionner le fichier de données historiques (.hst ou .csv). Si vous avez besoin de manipuler ces fichiers csv, je vous conseille d’utiliser le logiciel libre et gratuit notepad++ qui sera beaucoup plus léger que des tableurs plus connus pour gérer ces gros fichiers.
Vous pouvez également convertir ces données M1 précises dans d’autres unités de temps en utilisant le script « Period Converter » (livrés en standard avec MetaTrader 4).
Convertisseur de Période
Un bon backtest est important lors de l’examen d’une approche d’un système de trading, parce que vous voulez avoir certaine idée de la faisabilité de votre stratégie avant de l’utiliser. Si vous avez un backtest avec une qualité de 50%, vous ne pouvez pas vraiment être sûr du résultat. Mais si vous avez une qualité de modélisation de 90% ou supérieure, vous pourrez avoir plus de confiance sur la façon dont votre système aurait effectivement fonctionné.
Le système de Backtesting MT4 est-il fiable ?
Le Backtesting dans MT4 peut être fiable, mais sa fiabilité est subordonnée aux données historiques que vous possédez. Les données issues de compte démo qui sont transférées via un compte de démonstration de certains courtier ont des lacunes, des trous, et ne convient pas fondamentalement pour les tests.
Lors du backtest, vous allez utiliser le réglage chaque tick et disposer de données exactes M1 pour obtenir un test le plus précis possible. Les données M1 sont importantes, parce que le modèle chaque tick utilise quel que soit le délai la plus petite unité de temps disponible. Disposer de données M1 permet l’interpolation des barres dans les unités de temps supérieures.
La solution la plus simple pour cela est d’utiliser des données M1 fiables. Les données les plus complètes que vous pourrez obtenir (au moins gratuitement) viennent de la « Databank Alpari ». Ils disposent de données fiables dans le format natif MT, et sur la M1 depuis mi 2004 ou avant selon les sous-jacents. Toutefois, la mise en place des données pour utilisation nécessite une certaine pratique. Vous pouvez aussi utiliser Tickstory, qui vous permet de télécharger les données historiques du courtier Dukascopy dans des fichiers sur votre disque dur, ou directement dans votre plateforme MT4.
Importation et Conversion des données M1
- Vous devez modifier MT4 pour permettre l’affichage de plus de bougies. Allez dans le menu Outils, puis dans Options (Ou appuyez sur Control + O). Allez dans l’onglet Graphiques et inscrivez 9999999999999 pour les barres max dans historiques. (Note: L’utilisation de ce réglage va utiliser plus d’espace disque)
- Télécharger les données de la banque de données M1 de Alpari que vous voulez tester.
- Importez les données dans les historiques MT4. Allez dans Outils => Historiques (Ou F2). Assurez vous que vous importez les bonnes données si vous ne voulez pas des données EURUSD dans GBPUSD par exemple.
- Convertissez les données en utilisant le script de convertisseur de période compris dans MT4. Pour se faire, vous devez ouvrir les graphiques hors connexion ou recompter les ticks comme vu précédemment.
Pour convertir vos données, allez dans le menu Fichier, puis Ouvrir Hors ligne, sélectionnez les données M1 du sous-jacent que vous voulez convertir.
Un graphique s’affiche avec ces données. Ensuite glisser et déposer le script periodconverter sur le graphique déconnecté.
Le paramètre Period Multiplier Factor que vous pouvez modifier est le multiplicateur que vous appliquerez au graphique. Donc, le paramètre cinq, convertira les données M1 en données M5.
Pour Plus de simplicité, vous devrez exécuter le convertisseur de période avec les nombres entiers suivants pour obtenir toutes les unités de temps : 5, 15, 30, 60, 240 et 1440.
Vous avez maintenant importé et converti les données dans MT4. Maintenant, ouvrez un sous-jacent que vous avez importé. Regardez la différence dans les barres à partir des données téléchargées par opposition aux données en streaming depuis un courtier démo. Vous remarquerez que les bougies à partir de votre période téléchargée sera plus complète.
Configuration du backtesteur.
Maintenant que vous avez importé avec succès des données complètes, il reste quelques réglages à effectuer pour lancer un backtest fiable :
- Cochez l’option utilisation de la date et réglez la plage de dates sur la période de temps sur laquelle vous êtes sur d’avoir des données fiables. De cette façon vous allez backtester sur des bonnes données historiques et cela se reflètera dans le pourcentage de qualité de la modélisation.
- Assurez vous que le modèle est réglé sur chaque tick.
- Réglez manuellement le spread dans la case Ecart à une valeur légèrement supérieure au spread minimum indiqué par votre courtier, pour inclure des éventuels slippages que vous rencontrerez forcément en conditions réelles.
Si vous n’êtes pas réellement en backtest sur chaque tick, vous n’aurez toujours pas une reproduction parfaite de ce qui s’est passé sur le marché.
Vous êtes prêt à lancer votre backtest…