Le Testeur de Stratégie vous permet de tester et d'optimiser les stratégies de trading (Expert Advisors) avant de les utiliser pour du trading en réel. Pendant les tests, un Expert Advisor est exécuté une seule fois sur les données historiques avec les paramètres initiaux. Pendant les optimisations, une stratégie de trading est exécutée plusieurs fois avec des ensembles de paramètres différents, ce qui permet de sélectionner la meilleure combinaison.
Le Testeur de Stratégie est un outil multi-devises pour tester et optimiser les stratégies utilisant plusieurs instruments financiers. Le testeur traite automatiquement les informations de tous les symboles utilisés dans la stratégie de trading, vous n'avez donc pas à spécifier la liste des symboles à tester/optimiser.
Le Testeur de Stratégie est multi-thread, ce qui permet d'utiliser toutes les ressources disponibles de l'ordinateur. Les tests et les optimisations sont effectués en utilisant les agents spéciaux de calcul installés sous forme de services sur l'ordinateur de l'utilisateur. Les agents travaillent indépendamment et permettent le traitement parallèle des passes d'optimisation.
Un nombre illimité d'agents distants peuvent être connectés au Testeur de Stratégie. De plus, le Testeur de Stratégie peut accéder au Réseau MQL5 Cloud Network. Il rassemble des milliers d'agents du monde entier, et cette puissance de calcul est disponible pour tout utilisateur de la plateforme de trading.
En plus du test et de l'optimisation des Expert Advisors, vous pouvez utiliser le Testeur de Stratégie pour tester la façon d'opérer des indicateurs personnels dans le mode visuel. Cette caractéristique permet de tester facilement le fonctionnement des versions de démonstration des indicateurs téléchargés sur le Market.
Optimisation signifie plusieurs exécutions d'un Expert Advisor sur les données historiques avec différents paramètres, afin de trouver la meilleure combinaison. Différentes combinaisons des paramètres d'entrée d'un Expert Advisor sont testées pendant plusieurs passes d'exécutions pour trouver les meilleures.
Regardez la vidéo : Comment tester les Expert Advisors et les Indicateurs avant de les acheter Regardez la vidéo pour apprendre comment tester un robot de trading avant de l'acheter sur le Market. Chaque produit du Market est fourni avec une version de démonstration gratuite qui peut être testée dans le Testeur de Stratégie. Regardez la vidéo pour plus de détails. |
Cliquez sur " Tester" dans le menu contextuel de l'Expert Advisor dans la fenêtre du Navigator.
Après cela, l'Expert Advisor est sélectionné dans le Testeur de Stratégie.
Le Strategy Tester permet de backtester (tester dans le passé) des stratégies utilisant plusieurs symboles. De tels robots de trading sont appelés par convention des Expert Advisors multi-devises.
Le testeur télécharge automatiquement l'historique des symboles nécessaires depuis la plateforme de trading (et non pas depuis le serveur de trading !) au premier appel aux données du symbole. Seules les données manquantes de l'historique sont téléchargées en supplément depuis le serveur de trading.
Avant de commencer l'optimisation d'un Expert Advisor multi-devises, sélectionnez les symboles requis pour le test dans le Market Watch. Dans le menu contextuel, cliquez sur "Symboles" et activez les instruments souhaités.
Avant de démarrer l'optimisation, sélectionnez l'instrument financier sur lequel le robot de trading doit être testé, la période et le mode.
Sélectionnez le graphique principal pour le test et l'optimisation. La sélection du symbole est nécessaire pour déclencher l'évènement OnTick() des Expert Advisors. Le symbole et la période sélectionnés affectent également les fonctions spécifiques du code de l'Expert Advisor utilisant les paramètres du graphique actuel (par exemple, Symbol() et Period()). En d'autres termes, le graphique auquel l'Expert Advisor est attaché doit être sélectionné ici.
Sélectionnez la période de test et d'optimisation. Vous pouvez sélectionner l'une des périodes prédéfinies ou définir un intervalle de temps. Pour définir une période, entrez les dates de début et de fin dans les champs correspondants sur la droite.
La spécificité du testeur est qu'il télécharge les quelques données précédant la période spécifiée (pour constituer un minimum de 100 barres). Ceci est requis pour obtenir des tests et des optimisations plus précis. Par exemple, si vous testez sur la période d'une semaine, les données de deux années sont téléchargées.
S'il n'y a pas assez de données historiques por constituer 100 barres (c'est particulièrement significatif pour les périodes mensuelles et hebdomadaires), par exemple, si le début du test est proche du début de l'historique des données, alors la date de début du test sera automatiquement décalée. Un message correspondant est ajouté dans le journal du Testeur de Stratégie.
Cette option vous permet de vérifier les résultats de l'optimisation afin d'éviter l'ajustement à certains intervalles de temps. Pendant l'optimisation avancée, la période définie dans le champ Date est divisée en deux parties, suivant la période avancée sélectionnée (une moitié, un tiers, un quart ou une période personnalisée lorsque vous spécifiez la date de début du test avancée).
L'optimisation de l'Expert Advisor est effectuée en utilisant les données de la première période. Après cela, 10% (dans la recherche complète) ou 25% (dans l'algorithme génétique) des meilleures exécutions sont sélectionnées et ensuite testées sur la période avancée. Les résultats des meilleures optimisations sur les deux périodes peuvent être comparés dans les onglets Résultats d'Optimisation et Resultats Avancés.
Le testeur de stratégie vous permet d'émuler les délais dûs au réseau pendant l'exécution d'un Expert Advisor pour rapprocher le test des conditions réelles. Un certain délai est inséré entre le moment du placement d'une demande de trade et son exécution dans le testeur de strat&égie. Depuis le moment de l'envoi d'une demande jusqu'à son exécution, le prix peut changer. Ceci vous permet d'évaluer comment la vitesse de traitement du trade affecte les résultats de trading.
Dans le cas du mode exécution instantanée, les utilisateurs peuvent également vérifier la réponse de l'EA dans le cas d'une recotation de la part du serveur de trading. Si la différence entre le prix demandé et le prix d'exécution dépasse la valeur de déviation spécifiée dans l'ordre, l'EA reçoit une recotation.
Veuillez noter que les délais ne fonctionnent que pour les trades effectués par un EA (placement d'ordres, changement des niveaux de stops, etc.). Par exemple, si un EA utilise des ordres en attente, les délais ne seront appliqués sur le placement de l'ordre mais pas sur son exécution (en conditions réelles, l'exécution se produit sur le serveur sans aucun délai réseau).
Aucun délai
Dans ce mode, tous les ordres sont exécutés aux prix demandés sans recotation. Le mode est utilisé pour vérifier un EA dans des "conditions parfaites".
Délai aléatoire
Ce mode permet de tester un EA en conditions proches des conditions réelles. La valeur du délai est générée comme suit : un chiffre entre 0 et 9 est sélectionné de façon aléatoire - c'est le nombre de secondes pour le délai ; si le chiffre sélectionné est égal à 9, un autre chiffre du même intervalle est sélectionné aléatoirement et ajouté au premier.
La possibilité d'un délai de 0 à 8 secondes est donc de 90%, celle d'un délai de 9 à 18 secondes est de 10%.
Délai fixe
Vous pouvez sélectionner l'une des valeurs prédéfinies ou en saisir une personnalisée. La plateforme mesure le ping avec le serveur de trading et vous permet de définir cette valeur comme délai dans le testeur afin que vous puissiez tester un robot dans des conditions qui soient aussi proches que les conditions réelles.
Sélectionnez l'un des modes de génération des ticks :
Pour plus d'informations sur la génération des ticks, veuillez lire la section correspondante.
Spécifiez le montant du dépôt initial utilisé pour le test et l'optimisation. La devise de dépôt du compte actuellement connecté est utilisée par défaut, mais vous pouvez spécifier une autre devise. Veuillez noter cependant que les taux croisés pour convertir le profit et la marge dans la devise de dépôt spécifié doivent être disponibles sur le compte pour assurer un test correct. Seuls les symboles avec le type de calcul "Forex" ou "Forex Sans Levier" peuvent être utilisés comme taux croisés.
Sélectionnez ensuite le levier pour le test et l'optimisation. Le levier impacte le montant des fonds réservés sur le compte comme marge sur les positions et les ordres.
Sélectionnez le mode d'optimisation :
Pour plus de détails sur les types disponibles, veuillez vous reporter à la section correspondante.
|
L'optimisation rapide basée sur l'algorithme génétique est activée en sélectionnant le critère d'optimisation dans le champ situé sur la droite. Ce champ définit le paramètre grâce auquel les meilleures exécutions de l'Expert Advisor seront sélectionnées. Plus la valeur du paramètre sélectionné est grande, meilleur sera le résultat.
Après avoir réglé tous les paramètres, cliquez sur "Démarrer". Ceci lancera le processus de test et d'optimisation.
|
Les paramètres d'entrée vous permettent de contrôler le comportement de l'Expert Advisor, de l'adapter aux différentes conditions du marché et à un instrument financier spécifique. Par exemple, vous pouvez étudier les performances de l'Expert Advisor avec des valeurs différentes de Stop Loss et de Take Profit, différentes périodes pour la moyenne mobile utilisée pour l'analyse du marché et la prise de décision, etc.
L'optimisation consiste à tester différentes valeurs et combinaisons des paramètres d'entrée pour obtenir les meilleurs résultats.
Pour activer l'optimisation d'un paramètre, cochez la case à cocher correspondante. Définissez ensuite l'intervalle de valeurs ainsi que le pas de changement pour le test. Vous pouvez sélectionner un paramètre ou plus. Le nombre total de combinaisons possibles est affiché sous la liste des paramètres.
Ensembles de paramètres. Vous pouvez retourner aux paramètres actuels de votre programme MQL5 à tout moment en sauvegardant l'ensemble de ses paramètres avec le menu contextuel :
Pour lancer l'optimisation, cliquez sur "Démarrer" dans l'onglet "Paramètres". L'avancement de l'optimisation est affiché sur la gauche.
Les résultats détaillés de chaque exécution de l'optimisation sont affichés dans l'onglet "Optimisation". L'onglet contient les résultats généraux du test, incluant le profit et le nombre de positions, mais aussi différentes statistiques pour aider à analyser la performance du robot de trading.
Consultez la section Rapport de test pour voir les détails.
Le rapport d'optimisation peut être trié sur n'importe quel paramètre en cliquant sur l'en-tête de la colonne. Utilisez le tri pour trouver la meilleure combinaison possible de paramètres et lancer un test unique pour un rapport détaillé.
Les valeurs suivantes sont affichées pour chaque passe d'optimisation :
Vous pouvez afficher/cacher certaines des colonnes ci-dessus grâce au menu contextuel. Pour plus de commodité, cochez l'option "Basculer vers les Résultats d'Optimisation" : une fois que le processus d'optimisation est terminé, le Strategy Tester basculera automatiquement vers l'onglet Résultats. La même commande est disponible dans le menu contextuel de l'onglet Journal.
|
Le cache stocke les données des passes d'optimisation calculées précédemment. Le testeur de stratégie stocke les données pour permettre de résumer l'optimisation après une pause et pour éviter le recalcul des passes de test déjà calculées.
Le cache d'optimisation est stocké dans [Répertoire des données de la Plateforme]\Tester\cache sous forme de fichiers binaires séparés pour chaque ensemble de paramètres optimisés de chaque Expert Advisor. Les fichiers sont nommés suivant la règle suivante : NomExpert.Symbole.Période.DateDébut.DateFin.ModeGénération.ModeOptimisation.Hash.opt. Avec :
Les fichiers du cache permettent de voir les résultats des optimisations précédentes. Ouvrez l'onglet "Résultats d'optimisation", sélectionnez un Expert Advisor et un fichier avec le cache d'optimisation désiré :
La liste contient tous les fichiers disponibles sur le disque du cache d'optimisation des Expert Advisor. La date de l'optimisation, les paramètres de test (symbole, période et intervalle) et les paramètres d'entrées sont affichés pour chaque fichier. Vous pouvez également filtrer les résultats d'optimisation par serveur de trading.
Depuis le mode de visualisation des résultats, vous pouvez aussi changer le critère d'optimisation, que vous avez sélectionné au début de l'optimisation. Il est affiché dans l'onglet Résultats et détermine la qualité d'un ensemble testé de paramètres d'entrée. Plus la valeur du critère d'optimisation est haute, meilleure est la passe de test. Sélectionnez le critère désiré dans la liste en haut de l'onglet et le testeur recalculera automatiquement toutes les valeurs de la colonne "Résultats".
Pour analyser les résultats dans un programme tiers, par exemple dans Microsoft Office Excel, le rapport d'optimisation peut être sauvegardé sous forme de fichier avec la commande "Export en XML" du menu contextuel. Le mneu contextuel propose aussi les commandes d'import et d'export des fichiers du cache. Utilisez ces commandes pour transférer les résultats d'optimisation entre différentes plateformes.
|
Le Testeur de Stratégie de la plateforme de trading fournit un système puissant de visualisation présentant les résultats de l'optimisation. Ouvrez le "Graphique d'Optimisation". L'onglet contient différents types de graphiques, vous pouvez basculer de l'un à l'autre en utilisant le menu contextuel.
Tous les types de graphiques, excepté le graphique plat (2D) ont une ligne zéro (ou un plan si c'est un graphique à trois dimensions). Si la valeur de la balance est utilisée comme critère d'optimisation, cette ligne signifie habituellement le montant initial du dépôt, permettant de séparer visuellement les exécutions perdantes des gagnantes. Dans tous les autres cas, cette ligne est dessinée au niveau de la valeur zéro du critère d'optimisation. |
Un graphique avec les résultats d'optimisation est ouvert par défaut. Chaque exécution d'un Expert Advisor avec certains paramètres d'entrée est affichée sous la forme d'un point sur le graphique. Le numéro d'une exécution est affiché sur l'axe horizontal, la valeur du paramètre étant le critère d'optimisation est affichée sur l'axe vertical.
Le graphique linéaire (1D) montre la variation du paramètre sélectionné comme critère d'optimisation (axe vertical) dépendant de l'un des paramètres d'optimisation sélectionné pour l'axe horizontal. Pour sélectionner un paramètre pour l'axe horizontal, utilisez la commande "Axe X" du menu contextuel.
Dans le mode de graphique à deux dimensions, la variation des paramètres sélectionnés utilisés pour l'optimisation sont affichés sur les deux axes. La variation du critère d'optimisation est affichée avec un dégradé de couleur. Plus la couleur est sombre, plus la valeur du critère d'optimisation est grande.
Dans le mode de visualisation à trois dimensions, le changement des paramètres sélectionnés utilisés pour l'optimisation sont affichés sur les axes X et Y. La variation du critère d'optimisation est affichée sur l'axe vertical Z et utilise un dégradé de couleurs.
Pour sélectionner un paramètre pour les axes horizontaux et verticaux, utilisez les commandes "Axe X" et "Axe Y" du menu contextuel.
Gestion du graphique 3D à la souris
Gestion du graphique 3D au clavier
Action |
Touches |
---|---|
Afficher/cacher la grille. |
G |
Basculer entre le remplissage solide et le remplissage avec des lignes. |
Espace |
Déplacer la caméra vers le haut (le graphique descend). |
Flèche vers le Haut |
Déplacer la caméra vers le bas (le graphique monte). |
Flèche vers le Bas |
Déplacer la caméra vers la droite (le graphique se déplace vers la gauche). |
Flèche vers la Droite |
Déplacer la caméra vers la gauche (le graphique se déplace vers la droite). |
Flèche vers la Gauche |
La caméra se rapproche (zoom sur le graphique). |
Plus |
La caméra s'éloigne (zoom en arrière du graphique). |
Moins |
Faire tourner le graphique vers le bas autour de son axe horizontal. |
Début |
Faire tourner le graphique vers le haut autour de son axe horizontal. |
Page Précédente |
Faire tourner le graphique autour de l'axe verticale dans le sens anti-horaire. |
Fin |
Faire tourner le graphique autour de l'axe vertical dans le sens horaire. |
Page Suivante |
Déplacer le plan zéro vers le haut de 1 unité. |
Ctrl+Flèche vers le haut |
Déplacer le plan zéro vers le bas de 1 unité. |
Ctrl+Flèche vers le bas |
Déplacer le plan zéro vers le haut de 10 unités. |
Ctrl+Page Précédente |
Déplacer le plan zéro vers le bas de 10 unités. |
Ctrl+Page Suivante |
Déplacer le plan zéro vers la valeur maximum du graphique. |
Ctrl+Début |
Déplacer le plan zéro vers la valeur minimum du graphique. |
Ctrl+Fin |
Augmenter la transparence du plan zéro. |
Ctrl+Plus |
Réduire la transparence du plan zéro. |
Ctrl+Moins |
Mettre la transparence du plan zéro au maximum (il disparaît). |
Ctrl+Flèche vers la Droite |
Mettre la transparence du plan zéro au minimum (il n'est plus transparent). |
Ctrl+Flèche vers la Gauche |
Remettre tous les paramètres du graphique par défaut. |
Touche "5" du pavé numérique. |
Le test avancé est l'exécution répétée des meilleurs résultats d'optimisation sur une période de temps différente. Cette fonctionnalité vous permet d'éviter l'ajustement des paramètres dans certaines zones de l'historique.
Pour démarrer le test avancé, sélectionnez la partie de la période totale dans le champ Avancé de l'onglet Paramètres :
|
La partie sélectionnée est séparée de la période spécifiée dans le champ "Date". La première partie est la période de backtest, et la seconde est la période du test avancé.
L'optimisation complète (lente ou rapide) de l'Expert Advisor est effectuée sur la période du backtest. Après cela, 10% (dans la recherche complète) ou 25% (dans l'algorithme génétique) des meilleures exécutions sont sélectionnées et ensuite testées sur la période avancée.
Il y a un nombre miminum de passes à effectuer pour le test avancé. Si le nombre de meilleures exécutions est inférieur à 256, les meilleurs tests additionnels sont utilisés pour le test avancé jusqu'à ce qu'ils atteignent le nombre de 256. Si le nombre total d'exécutions est inférieur à 256, elles participent toutes au test avancé. |
Les résultats des tests historiques et avancés peuvent être comparés dans les onglets "Résultats d'Optimisation" (sélectionnez "Résultats du test avancé" dans le menu contextuel) et "Résultats Avancés". Plus les résultats coïncident, plus il est probable que l'Expert Advisor donnera de bons résultats avec le trading réel.
La visualisation des résultats d'optimisation sur la période avancée est disponible dans l'onglet "Graphique d'optimisation avancée". Pour comparer ces résultats avec le backtest, vous pouvez basculer entre eux avec le menu contextuel.
Pour les détails concernant les résultats des tests, veuillez vous reporter aux sections "Où voir les résultats d'optimisation" et "Visualisation des résultats d'optimisation".
Le Testeur de Stratégie multi-threads utilise toutes les ressources disponibles de l'ordinateur. Le test et l'optimisation sont effectués par des agents de calcul spéciaux installés sous forme de services sur l'ordinateur de l'utilisateur. Les agents travaillent indépendamment et calculent les passes d'optimisation en parallèle.
Trois types d'agents sont disponibles : locaux, distants et dans le cloud (Réseau MQL5 Cloud Network). Les agents locaux sont installés automatiquement lorsque vous installez la plateforme de trading. Leur nombre est égal au nombre de coeurs logiques de l'ordinateur.
Les agents distants et les agents du cloud sont exécutés sur d'autres ordinateurs. Pour des informations détaillées sur les agents, veuillez lire "Comment accélerer l'optimisation en utilisant une ferme d'agents" et "Comment accélerer les optimisations grâce au Réseau MQL5 Cloud Network".
Ouvrez la section des "Agents" du Testeur de Stratégie et sélectionnez le type d'agents que vous voulez utiliser pour l'optimisation.
Vous pouvez acheter un processeur avec plus de coeurs, mais ceci ne permet pas de multiplier le nombre de tâches concurrentes. Vous pouvez créer votre propre ferme d'agents de calcul dans votre réseau local.
Installez des agents sur chaque ordinateur du réseau local. Si la plateforme est installée sur un ordinateur, ouvrez le gestionnaire des agents de test en utilisant le menu "Outils".
Autrement, téléchargez une application séparée pour gérer les agents Agent du Testeur de Stratégie MetaTrader 5 et exécutez l'installation standard.
Dans l'onglet Services du gestionnaire :
Après l'installation, les agents sont disponibles pour être utilisés depuis d'autres ordinateurs du réseau local.
Les agents distants ne peuvent être utilisés que sur des systèmes 64 bits. Pour économiser du trafic réseau et de l'espace disque mais également pour des raisons de sécurité :
|
Ouvrez le Testeur de Stratégie. Dans l'onglet "Agents", sélectionnez "Ferme du Réseau Local" et cliquez sur "Ajouter" dans le menu contextuel.
La façon la plus facile et la plus rapide est de scanner automatiquement le réseau local pour trouver un intervalle d'adresses IP et de ports. Sélectionnez-les et saisissez le mot de passe de connexion à l'agent spécifié pendant l'installation.
Cliquez sur "Terminer" et tous les agents trouvés deviendront disponibles pour le test.
Autres options pour ajouter des agents :
Les agents installés sur l'ordinateur utilisant le Gestionnaire d'Agents MetaTester 5, peuvent être connectés comme agents distants sur le même ordinateur. Si les coeurs du processeur ont des possibilités supplémentaires pendant les calculs, ils peuvent prendre une charge supérieure pour utiliser toutes les capacités de calcul. |
Pour changer les paramètres, cliquez sur la commande "Editer" de son menu contextuel.
Les champs suivants sont disponibles dans la fenêtre des paramètres :
Dans les paramètres des agents locaux, seule l'option permettant de les activer/désactiver est disponible.
Pour faciliter la configuration des agents distants, la plateforme fournit la possibilité d'importer et d'exporter ses paramètres. Les fichiers des paramètres ont l'extension *.mt5. Les commandes d'import et d'export sont situées dans le menu contextuel de l'onglet "Agents".
Les fichiers des paramètres ont le format suivant : Nom;Adresse:port;Mot de passe;Description;Activé.
Les paramètres des différents agents sont séparés les uns des autres avec des sauts de ligne.
Le Réseau MQL5 Cloud Networkvous permet d'optimiser rapidement vos Expert Advisors en utilisant la puissance de milliers d'ordinateurs. Le réseau combine les agents distants et leur distribue les tâches d'optimisation. Le Strategy Tester se connecte au réseau à travers plusieurs points d'accés, distribués par territoires (par exemple, MQL5 Cloud Europe).
Pour utiliser les agents du réseau, activez-les avec la commande " Activer" dans le menu contextuel. Puisque le Réseau MQL5 Cloud Network est un service payant, un utilisateur doit avoir un compte sur le site internet de la MQL5.Community, sur lequel toutes les opérations comptables sont effectuées. Les détails du compte sont spécifiés dans l'onglet MQL5.Community des paramètres de la plateforme.
Si vous ne spécifiez pas les détails de votre compte de la MQL5.Community avant d'activer les agents du Réseau MQL5 Cloud Network, il vous le sera demandé.
Si vous ne vous êtes pas enregistrés sur le site internet, utilisez le lien création d'un nouveau compte.
De la même façon qu'avec une optimisation standard, vous devez définir toutes les options de test et les paramètres d'entrée de l'Expert Advisor. Dans l'onglet des Agents, vous pouvez surveiller comment le Strategy Tester distribue les tâches aux agents disponibles. Le nombre d'agents disponibles et le nombre d'agents actuellement utilisés sont affichés pour chaque point d'accès.
Les traders peuvent avoir besoin d'exécuter des centaines de milliers de passes d'optimisation dans un temps raisonnable. Avec le Strategy Tester multi-threads et le Réseau MQL5 Cloud Network, vous pouvez effectuer en une heure des calculs qui prendraient plusieurs jours sans le réseau. La puissance de calcul de milliers de coeurs est disponible directement depuis la plateforme de trading.