Testeur de stratégie MetaTrader 5 : bugs, anomalies, suggestions d'amélioration - page 13

 

Comparaison des performances. TC de combat pris, qui se compose de plusieurs TC indépendants (différents par magie).

Nous mesurons la vitesse de Tester et Virtual en fonction du nombre de TCs et de l'implémentation sur le marché ou sur les limites (ticks) sur les paramètres de Hedge.


TS est couru sur un symbole personnalisé sur des ticks réels en mode points avec un agent activé pleine force brute de quatre passes, RAM-Drive. Le temps est pris le plus court des passages.

Nombre de tiques Testeur MT5
commandes du marché
Testeur MT5
ordres limites
Testeur MT5+Virtuel
commandes de marché
MT5-Tester+Virtuel
ordres limites
Virtual-Script
commandes de marché
Virtual-Script
ordres limites
0 00:00.857 00:00.857 00:00.931 00:00.931 00:00.147 00:00.147
1 00:02.689 00:14.677 00:02.728 00:12.053 00:01.886 00:18.826
2 00:06.876 00:42.588 00:06.250 00:38.657 00:06.362 00:55.624
3 00:11.977 01:24.982 00:12.151 01:17.236 00:12.813 01:49.181
4 00:18.925 02:19.222 00:19.649 02:13.381 00:21.891 02:59.191

Virtual-Script exécute le script du testeur sur un graphique. C'est-à-dire qu'il est exécuté en dehors du testeur MT5 comme un script normal.


Conclusions :

  1. Le code dans le Terminal est presque toujours exécuté plus lentement que dans l'Agent (jusqu'à 50%).
  2. Sur les marchés, MT5-Tester n'est pas du tout plus lent que le module d'extension virtuel.
  3. Sur les limites, MT5-Tester est jusqu'à 15% plus lent que Virtual. C'est compréhensible, donc c'est bon.
Le premier point doit être traité.
 
fxsaber:
4 00:18.925 02:19.222 00:19.649 02:13.381 00:21.891 02:59.191

Pourquoi y a-t-il une telle différence entre les marques et les limiteurs ?

 
Andrey Khatimlianskii:

Pourquoi y a-t-il une telle différence entre un marché et une limite ?

L'EA n'est pas la mienne, il n'est donc pas correct de la comparer directement. Je pense que la logique est sensiblement différente.

Et les limiteurs représentent une charge plus importante pour les contrôles de Tester (il est évident que Virtual a également diminué). Il faut donc céder à la logique du marché.


Une autre chose me rendait perplexe. Pourquoi Virtual-Script est apparu nettement plus lent que MT5-Tester+Virtual. Dans le premier cas, il s'agit d'un stupide for-cycle par ticks et rien d'autre. Il s'avère que le Terminal est plus lent à exécuter du code que les Agents.

Profiler ne montre rien, malheureusement. On ne peut pas en déduire pourquoi le résultat est une dégradation des performances.


Je travaille avec un éventail de structures dans Virtual. Peut-être serait-il plus rapide de travailler avec des pointeurs sur des objets de classe. Je dois l'essayer, mais la liste des tâches importantes s'allonge encore.

 

Sur les symboles personnalisés en bourse, la prise est acceptée au dernier prix et exécutée au cours acheteur/ vendeur.

Par exemple, le take pour la position BUY est à 1.09801. Une offre/demande/dernière = 1,09799/1,09802/1,09801. Il se déclenche lorsque le prix est touché, mais il se déclenche également au prix de l'offre, qui est pire que le dernier.

Il s'avère que la prise est déclenchée tout le temps avec un slippage négatif.

 
fxsaber:

Sur les symboles personnalisés en bourse, la prise est acceptée au dernier prix et exécutée au cours acheteur/ vendeur.

Par exemple, le take pour la position BUY est à 1.09801. Une offre/demande/dernière = 1,09799/1,09802/1,09801. Il se déclenche lorsque le prix est touché, mais il se déclenche également au prix de l'offre, qui est pire que le dernier.

Il s'avère que les prises sont déclenchées tout le temps avec un slippage négatif.

Trois prix à la fois sont-ils spécifiés dans le symbole personnalisé? Ou bien il se peut que tous les prix soient traduits même si le graphique est tracé par Last ? Dans ce cas, l'offre d'achat peut-elle également être calculée en utilisant le symbole non personnalisé ? Je suis juste curieux. Si elle existe, je dois corriger certains de mes codes.

 
Artyom Trishkin:

Ces trois prix sont-ils faits exprès dans le symbole de personnalisation ?

Sur un symbole boursier, les ordres de marché sont déclenchés par le flipper. Toutes les positions ouvertes à la fin d'une passe sont fermées de force par le Testeur avec des ordres de marché - sur le flipper. Et s'il y a zéro, il y aura un "poker". Je prescris les flippers comme une valeur moyenne entre l'offre et la demande pour éviter le "poker face".

 
Dernière mise à jour. Le testeur est manifestement malhonnête. Après l'optimisation, lorsque l'on essaie d'exécuter un test avec la visualisation, la visualisation est HOLDING. Il faut redémarrer. Mais alors que je pouvais le tolérer (en utilisant un langage obscène), à un moment donné, les tests ont cessé de fonctionner du tout. Il s'est avéré que dans la fenêtre "symbole" disparaissaient tous les symboles sélectionnés dans la revue de marché. C'est fini ! !! Il n'y a aucune aide dans les danses avec tambourin (et redémarrage et même réinstallation de MT5).
 

Je fais beaucoup d'optimisations de différents EAs (ils passent automatiquement par une liste fixe). Puis je regarde leurs caches.

Je remarque le désagrément actuel

Je veux voir les caches de mes optimisations précédentes, donc à chaque fois je dois d'abord sélectionner le conseiller expert nécessaire. Et la liste des optimisations récentes, effectuées dans le Testeur lui-même, n'est pas disponible.


Ce serait beaucoup plus convivial si la liste des dernières optimisations du testeur, avec les noms des EA qu'elles contiennent, était déposée dans la zone marquée, comme dans la capture d'écran. Cela aurait-il un sens ?

 
KENT3004:
Dernière mise à jour. Le testeur est manifestement malhonnête. Après l'optimisation, lorsque l'on essaie d'exécuter un test avec visualisation, la visualisation est HOLDING. Il faut redémarrer. Mais alors que je pouvais le tolérer (en utilisant un langage obscène), à un moment donné, les tests ont cessé de fonctionner du tout. Il s'est avéré que dans la fenêtre "symbole" disparaissaient tous les symboles sélectionnés dans la revue de marché. C'est fini ! !! Il n'y a aucune aide dans les danses avec tambourin (et redémarrage et même réinstallation de MT5).

Si la réinstallation du système d'exploitation ne vous aide pas, je vous conseille de changer d'ordinateur. Eh bien, ou au moins le joint.

 
Alexey Viktorov:

Si la réinstallation du système d'exploitation n'aide pas, je suggère de remplacer l'ordinateur. Eh bien, ou au moins un joint.

Humour apprécié ! Mais les affaires - comment faire revenir les personnages dans le testeur ? Des disparitions et des blocages similaires sont confirmés par plusieurs utilisateurs sur d'autres forums.