Plans de développement pour le testeur de stratégie MetaTrader 5

 

Ne soyez pas intimidé par l'état d'esprit du testeur dans les bêtas. Nous avons délibérément déployé toutes les versions intermédiaires en version bêta pour obtenir des résultats plus rapidement.


Comment nous réformons le testeur de stratégie :

  1. Pour faciliter la compréhension des néophytes, nous introduisons un nouveau look de la page de démarrage du testeur, où vous pouvez voir les options de recherche :




  2. L'accent est mis sur le stockage de tous les résultats des tests précédents, où une recherche facile vous permettra de revenir en arrière pour consulter les tests précédents.

    Un champ de recherche permet de retrouver facilement les résultats antérieurs, en plus du téléchargement direct d'un fichier.

  3. Parmi les tests précédents, nous allons permettre de faire des comparaisons






  4. Nous sommes susceptibles d'ajouter de nouvelles options d'optimisation

  5. Nous allons considérablement élargir les paramètres détaillés des tests avec les commissions, les conditions de déclenchement des ordres, le slippage, etc.

    Pour l'instant, dans les versions bêta, nous avons activé le mode de test en pips qui réduit considérablement la quantité de modélisation et accélère les tests.

    Nous présenterons l'ensemble des paramètres un peu plus tard.

  6. Nous allons réécrire les mécanismes de préparation des données sources afin de réduire les coûts de synchronisation des agents.

    L'accélération sera particulièrement perceptible sur les agents locaux, où nous n'aurons pas à pomper de grandes quantités de données et où nous n'aurons pas de copies multiples des données historiques.

  7. Nouveau moteur de visualisation 3D et affichage des résultats des tests en pleine fenêtre

  8. Réforme du réseau de clusters, avec un contrôle plus détaillé des conditions de chaque expert, de sorte que vous pouvez sélectionner individuellement un groupe d'agents

    L'objectif est d'accélérer les tâches autant que possible, afin qu'il n'y ait pas de retard dû à des agents inadaptés ou lents.


En outre, le langage MQL5 lui-même est activement développé, nous avons inclus des scopes, un support étendu des templates, le travail avec des classes créées implicitement, etc.

Il est fort probable que de nouvelles fonctionnalités seront bientôt incluses :

  • Bases de données SQLite
  • Extension de la bibliothèque graphique, y compris 3D


Plus tard, nous passerons à la tâche révolutionnaire d'inclure des modules dans le langage.

Il s'agit de bibliothèques C++ recompilées au format EX5 et disponibles pour une utilisation directe à partir du code MQL5. En d'autres termes, nous commencerons à travailler sur la recompilation des bibliothèques opsorced, lorsque leurs appels de bas niveau/dangereux seront entièrement mappés à notre runtime sécurisé et que des wrappers sécurisés seront réalisés pour le code MQL5.

De cette façon, nous prévoyons d'augmenter la fonctionnalité du langage sans compromettre la sécurité. Les assemblages de modules ne sont disponibles que pour nous, ce qui assure un certain niveau de sécurité pour les solutions qui en résultent.

Ce mécanisme fonctionne déjà.

Par exemple, une partie de la fonctionnalité de l'environnement MQL5 est depuis longtemps intégrée nativement dans le code EX5 lors de la compilation, ce qui permet une très bonne optimisation au niveau de la construction.

 

Renat Fatkhullin:

Nous allons considérablement élargir les paramètres de test détaillés avec les commissions, les conditions de déclenchement des ordres, le slippage, etc.

Cette addition serait l'une des premières à être vue.

 

Comparer les courses est une excellente chose.

Il y a aussi ce besoin des barbus que les solutions tierces sont devenues populaires : combiner plusieurs courses en une seule.

C'est-à-dire que plusieurs CT sont gérés "simultanément", mais leur histoire globale et leur capital sont construits.

 

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bibliothèques : MultiTester

fxsaber, 2019.07.22 01:54

Un testeur devient une batteuse très forte lorsqu'il est doté de la capacité d'automatiser.

Si les développeurs incluent dans MQL les fonctions de gestion du testeur interne(définir la date/le symbole/le mode, exécuter la meilleure exécution unique, sauvegarder le rapport, etc. ), elle deviendra cent fois plus forte que tous ses concurrents potentiels. Et il passera du statut de jouet sérieux à celui d'outil de recherche sans précédent, puisqu'il deviendra une véritable batteuse informatique.

Mais je doute qu'il le fasse. Si quelqu'un peut aider à automatiser la mise en évidence, ce serait formidable.


TesterSetInfo, TesterGetInfo.

 
fxsaber:

Il y a aussi un besoin de l'époque des barbus que les solutions de tiers sont devenues populaires : combiner plusieurs passages en un seul.

C'est-à-dire que plusieurs CT sont gérés "simultanément", mais leur histoire globale et leur capital sont construits.

Soutenir un collègue. Je dois l'implémenter sur le côté, mais d'un autre côté, comment l'organiser dans le testeur ? Hm, ajouter un attribut à un tel passage comme "Portfolio #". - peut-être comme ça ?

 
Aleksey Vyazmikin:

Soutenir un collègue. Je dois mettre cela en place sur le côté, mais d'un autre côté, comment organiser cela dans le testeur ? Hum, ajouter une sorte d'attribut à un tel passage comme "Portefeuille #" - peut-être comme ça ?

Assigner manuellement des agents à chaque programme testé en même temps.
Par exemple, nous avons 8 agents, et 4 d'entre eux sont affectés à un expert et 4 à un autre. Par conséquent, seuls deux programmes mql peuvent être testés simultanément.
Ou bien chaque expert se verra attribuer 2 agents, puis les mêmes 8 agents testeront déjà 4 programmes, etc.

Ou bien, attribuer automatiquement les agents, comme une course, le premier à prendre l'agent, le premier à prendre l'agent.
Un agent a terminé une tâche, il attend à nouveau qu'elle soit reprise dans la file d'attente des tâches, etc.
Ainsi, le nombre de programmes testés simultanément augmente.

Chaque programme testé en même temps se voit attribuer automatiquement son propre environnement de test virtuel.
Et chaque test est exécuté par lui-même en même temps, après l'achèvement de toutes les passes, les résultats de chaque programme sont résumés et les valeurs moyennes sont calculées.
Les statistiques globales sont affichées.

 
Roman:

Nous affectons manuellement des agents à chaque programme testé en même temps.
Par exemple, nous avons 8 agents et 4 sont affectés à un conseiller expert, et 4 à un autre. Par conséquent, seuls deux programmes mql peuvent être testés simultanément.
Ou bien, attribuer automatiquement des agents, comme une course, de sorte que celui qui obtient l'agent en premier, obtient le même.
L'agent a terminé une tâche et attend d'être repris dans la file d'attente des tâches, etc.
Ainsi, le nombre de programmes testés simultanément augmente.

Chaque programme à tester en même temps, se voit attribuer automatiquement son propre environnement de test virtuel.
Et chaque test est exécuté par lui-même en même temps, après l'achèvement de tous les passages, le résultat de chaque programme est résumé, et les statistiques générales sont affichées.

Ma variante est plus simple et plus fonctionnelle, elle vous permet de tester autant d'EAs et leurs paramètres que vous le souhaitez sans aucun souci inutile. Votre variante nécessite un gestionnaire pour la distribution des tâches... Vous devez ajouter un gestionnaire de test de portefeuille qui est formé par un utilisateur et où le conseiller expert et l'ensemble / les paramètres de celui-ci sont indiqués, ainsi que l'ID du portefeuille - de sorte que vous pouvez ensuite comparer différents portefeuilles, puis il sera universel et fonctionnel.

 
Aleksey Vyazmikin:

Ma variante est plus simple et plus fonctionnelle, elle vous permet de tester autant d'EAs et leurs paramètres que vous le souhaitez sans aucun souci inutile. Votre variante nécessite un gestionnaire pour la distribution des tâches... Nous devons ajouter un gestionnaire pour le test de portefeuille, qui est formé par un utilisateur et où le conseiller expert et l'ensemble / les paramètres pour lui sont indiqués, ainsi que l'ID du portefeuille - pour être en mesure de comparer différents portefeuilles, alors il sera universel et fonctionnel.

Nous avons donc deux approches.
Ou bien tester chaque programme séquentiellement, puis générer les résultats par numéro de portefeuille, pour des statistiques générales.
Vous pouvez aussi tester chaque programme simultanément en mode multithread, et afficher immédiatement les statistiques générales de ces ensembles.
La seule différence réside dans l'action de paramétrage initial, ou la génération manuelle de statistiques globales après le test.
Et éventuellement dans la vitesse globale d'exécution des tests.

p.s. MetaQuotes - les rêves deviennent parfois réalité.

 

Renat, veuillez ajouter une autre option, MQ Old, au choix de style ME. Celui qui était là avant. C'est une petite chose pour vous, mais pour de nombreux utilisateurs, cela leur épargnera beaucoup de nerfs.

Je ne veux pas m'habituer à un nouveau style... Je suis assez heureux avec l'ancien.

Merci.

 

Qu'est-ce qu'un test de stress ?

(c'est-à-dire quelle fonctionnalité est impliquée)

 

Grande nouvelle !

Cela encouragera le passage à MT5.

Après tout, tout le monde va réécrire des programmes pour mt5 afin de les tester là-bas...