Visualisation d’une stratégie dans le testeur MetaTrader 5
Nous connaissons tous le dicton « Mieux vaut voir une fois qu'entendre cent fois ». Vous pouvez lire divers livres sur Paris ou Venise, mais sur la base des images mentales, vous n'auriez pas les mêmes sensations que lors d'une promenade nocturne dans ces villes fabuleuses. L'avantage de la visualisation peut facilement être projeté sur n'importe quel aspect de notre vie, y compris le travail sur le marché, par exemple, l'analyse des prix sur des graphiques à l'aide d'indicateurs, et bien sûr, la visualisation des tests de stratégie.
Est-ce que tout le monde connaît les possibilités du testeur de stratégie ?
Pratiquement, pas tout le monde. L'avantage de la plateforme de trading MetaTrader 5 par rapport à ses concurrents n'est pas seulement une interface conviviale plus pratique, de nombreuses opportunités du terminal et MQL5, un testeur de devise avec la possibilité de cloud computing utilisant le MQL5 Cloud NetworkRéseau Cloud et de nombreuses autres options. L'avantage est également que tous les outils dont un trader a besoin sont disponibles en un seul endroit.
Le but de cet article est de montrer aux traders une autre caractéristique importante de toutes les possibilités de MetaTrader 5 - à savoir la visualisation des tests de stratégie et de l'optimisation. L'analyse du comportement d'un Expert Advisor sur des données historiques et la sélection des meilleurs paramètres n'est pas seulement une analyse laborieuse de chiffres, de trades, de solde, d'équité, etc. Asseyez-vous sur une chaise, installez-vous confortablement, mettez vos lunettes "3D" et démarrons.
Et je me dis en moi-même: quelle merveilleuse carte du world...
Lors de la publication d'Expert Advisors dans la Base de code ou sur le Marché, les auteurs joignent généralement un rapport statistique sur leurs tests, ainsi que les graphiques d'équilibre et d'équité. Cependant, des graphiques plus intéressants sont disponibles dans les statistiques sur l' onglet « Résultats » du testeur de stratégie :
Sur la base de ces graphiques, vous pouvez analyser les mois, les jours ou les heures, lorsque votre EA se négocie le mieux, lorsqu'il entre activement sur le marché. Vous pouvez également évaluer les performances de l'EA pour savoir si les positions rentables sont clôturées au bon moment, si l'EA « se désiste » des pertes sur la base des graphiques de distribution MFE (Maximum Favorable Excursion) et MAE (Maximum Adverse Excursion) :
En faisant défiler les résultats des tests, vous trouverez un autre graphique :
Le diagramme montre la dépendance du bénéfice positionnel sur sa durée de vie. Ce diagramme sera très utile pour le prochain Championnat de trading automatisé de 2012. L'une des règles de l'ATC interdit le scalping. Testez votre Expert Advisor et assurez-vous qu'il respecte les règles.
Un film historique ou un test visuel
L'une des fonctionnalités révolutionnaires du testeur de stratégie est son mode de test visuel. Eh bien, l'analyse des transactions par dates, le tracé de graphiques et d'autres procédures de routine « intéressantes » constituent un processus assez compliqué. Cependant, le testeur de stratégie ressemble à la télécommande d'un lecteur entre les mains d'un trader, vous appuyez sur « Play » et regardez un film historique. Vous pouvez ralentir ou accélérer le film, l'arrêter et analyser la situation. En temps réel, vous voyez comment les graphiques sont construits sur la base des données historiques simulées et comment l'Expert Advisor réagit aux changements de prix.
Le visualiseur prend entièrement en charge le multidevise, comme le testeur de stratégie. L'Expert Advisor de la vidéo utilise 4 paires de devises pour le trading. Tous les prix simulés sont disponibles dans le Market Watch et sur les graphiques.
Résultats d'optimisation 2D
Avant de présenter une image tridimensionnelle qui est devenue très populaire parmi les fabricants de téléviseurs, jetez un œil à la visualisation 2D dans le testeur de stratégie. Les rectangles qui peuvent sembler étranges à première vue, permettent de voir l'influence mutuelle de deux paramètres d'optimisation sur le critère d'optimisation (dans notre cas il s'agit de la valeur d'équilibre maximale). Plus la nuance de vert est foncée, plus l'équilibre est élevé :
Nous voyons que la relation est d'un caractère ondulatoire, et le résultat maximum est atteint en utilisant les valeurs moyennes de la période et le décalage de la moyenne mobile. Ce sont les résultats de l'optimisation de l’EA de la Moyenne mobile EA, qui est disponible dans le paquet de distribution standard du terminal. Même ici, vous pouvez trouver quelque chose d'intéressant.
Maintenant en 3D
Une image en trois dimensions offre des options de visualisation encore meilleures. Ci-dessous se trouve la même dépendance des deux paramètres et le résultat final. Vous pouvez passer à ce mode avancé à l'aide du menu contextuel de l' onglet Graphique Optimisation.
Après l'apparition de l'optimisation tridimensionnelle dans le testeur de stratégie MetaTrader 5, les traders ont commencé à publier leurs propres exemples de visualisation de calculs mathématiques sur le forum :
Les graphiques tridimensionnels sont complètement interactifs - vous pouvez effectuer un zoom avant et arrière, effectuer une rotation vers un angle pratique, etc. Une caractéristique importante est que tous les résultats des tests et de l'optimisation peuvent être exportés sous forme d'images ou de rapports XML/HTML.
Visualisation de l'optimisation
Et enfin bienvenue - exploitez les résultats d'optimisation ! Pour traiter les résultats, le trader est censé préparer les données, les télécharger et les traiter quelque part. Maintenant, vous pouvez le faire sur place pendant l'optimisation ! Pour démontrer cette possibilité, nous avons besoin de plusieurs fichiers d'en-tête qui implémentent les exemples les plus simples d'un tel traitement.
Téléchargez les fichiers MQH ci-dessous et enregistrez-les dans le dossier MQL5\Include. Prenez n'importe quel Expert Advisor et collez ce bloc au bout de son code :
//--- Add a code for working with optimization results #include <FrameGenerator.mqh> //--- генератором фреймов CFrameGenerator fg; //+------------------------------------------------------------------+ //| Tester function | //+------------------------------------------------------------------+ double OnTester() { //--- Insert here your own function for calculating the optimization criterion double TesterCritetia=MathAbs(TesterStatistics(STAT_SHARPE_RATIO)*TesterStatistics(STAT_PROFIT)); TesterCritetia=TesterStatistics(STAT_PROFIT)>0?TesterCritetia:(-TesterCritetia); //--- Call at each end of testing and pass the optimization criterion as a parameter fg.OnTester(TesterCritetia); //--- return(TesterCritetia); } //+------------------------------------------------------------------+ //| TesterInit function | //+------------------------------------------------------------------+ void OnTesterInit() { //--- Prepare the chart to show the balance graphs fg.OnTesterInit(3); //The parameter sets the number of balance lines on the chart } //+------------------------------------------------------------------+ //| TesterPass function | //+------------------------------------------------------------------+ void OnTesterPass() { //--- Process the testing results and show the graphics fg.OnTesterPass(); } //+------------------------------------------------------------------+ //| TesterDeinit function | //+------------------------------------------------------------------+ void OnTesterDeinit() { //--- End of optimization fg.OnTesterDeinit(); } //+------------------------------------------------------------------+ //| Handling of events on the chart | //+------------------------------------------------------------------+ void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) { //--- Starts frames after the end of optimization when clicking on the header fg.OnChartEvent(id,lparam,dparam,sparam,100); // 100 is a pause between frames in ms } //+------------------------------------------------------------------+
Nous utilisons l'Expert Advisor Moving Averages.mq5 disponible dans le paquet de livraison standard. Collez le code et enregistrez l'Expert Advisor sous le nom Moving Averages With Frames.mq5. Compilez et exécutez l'optimisation.
Ainsi, les traders peuvent désormais exécuter une optimisation visuelle et traiter ses résultats ou afficher les informations requises pendant le processus d'optimisation.
En voulez-vous plus ?
Nous continuons d'élargir les possibilités de la plateforme de trading MetaTrader 5 en ajoutant de nouveaux outils pour aider les traders. Postez vos commentaires et partagez vos idées sur la façon d'améliorer encore la visualisation dans le testeur de stratégie. Nous essaierons de mettre en œuvre les plus intéressantes et utiles d'entre elles.
Comment utiliser les fichiers
Tous les fichiers avec l'extension .mqh doivent être placés dans le dossier MQL5\Include, c'est là que le compilateur les recherchera lors de la compilation de l’Expert Advisor Moving Average_With_Frames.mq5. Les fichiers EA peuvent être placés directement dans le dossier MQL5\Experts ou dans l'un de ses sous-dossiers.
Traduit du russe par MetaQuotes Ltd.
Article original : https://www.mql5.com/ru/articles/403
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation