Vérification automatique des produits sur le marché (questions et suggestions) - page 5

 
Rashid Umarov:

Cela a déjà été corrigé.

Merci.

 
Une fois de plus, je voudrais faire remarquer aux représentants de MetaQuotes qu'il serait souhaitable de rendre la validation automatique plus intelligente et plus souple. Il n'y a aucun intérêt ni aucune justification à mettre tous les produits dans le même panier. Cela s'applique en particulier à l'erreur "le testeur prend trop de temps". Ne disposant ni de critères clairement énoncés, ni d'une description du processus et de l'infrastructure de test (ce qui a été fait au moins lors des précédents championnats de trading algorithmique), ni d'informations de diagnostic plus ou moins complètes, les développeurs d'applications doivent, par télépathie ou à tâtons, trouver comment faire entrer le produit dans le lit de Procuste de l'autovalidateur.

Par exemple, il est clair que dans le cas des indicateurs, le nombre de tampons calculés et leur objectif direct influencent objectivement la limite de vitesse d'exécution. Si l'indicateur est destiné au calcul de statistiques sur les ticks sur les dixièmes de tampons/niveaux (tous les ticks sans écarts, c'est-à-dire tout ce qui a été reçu depuis l'événement précédent OnCalculate est lu à travers CopyTicksRange), il ne peut pas avoir les mêmes exigences, que le prix de clôture MAC.

Bien sûr, le profileur et les méthodes de calcul économiques sont déjà en place, le remaniement prend des jours, mais le "testeur prend trop de temps" reste en place. En utilisant un minimum d'informations disponibles sur les paires et les délais testés (EURUSD H1, XAUUSD D1, GBPUSD M30, EURUSD M1), j'exécute 4 tests spécifiques sur un ordinateur de taille moyenne et j'obtiens des temps d' exécution de l'ordre de 1,5 à 2 minutes par paire. Pourquoi l'autovalidateur manque-t-il une heure, je ne le sais pas et je n'ai aucun moyen de le savoir. L'absence de retour d'information (modérateurs humains précédemment présents) ne permet pas de résoudre le problème. Avant l'introduction de l'autovalidateur, le produit était modéré avec succès.

Pour que le marché puisse commodément (y compris pour le développeur) mettre à jour et fournir aux utilisateurs des produits de qualité aux fonctionnalités différentes, le support doit être présent, imho. Aujourd'hui, la situation est telle que les produits sont poussés dans la zone grise - en dehors du marché. Si l'autovalidation ne peut être effectuée sans couper le produit, la seule solution consiste alors à proposer une nouvelle version du produit directement aux clients.

PS. Et un petit ajout. Selon le profileur, l'ensemble du traitement OnCalculate prend 11 secondes sur les une minute et demie du test annuel. Ainsi, le facteur de réussite d'un indicateur particulier ne dépend qu'à 12% de l'indicateur lui-même, et dans une bien plus large mesure - du testeur. Par exemple, la phrase "le testeur prend trop de temps" doit être comprise littéralement - "le testeur ralentit". Et c'est le problème de qui ? Comment le développeur MQL peut-il être responsable de l'accélération du testeur MQ ?
 
Stanislav Korotky:
PS. Et un petit ajout. Selon le profileur, l'ensemble du traitement OnCalculate prend 11 secondes sur les une minute et demie du test annuel. Ainsi, le facteur de réussite d'un indicateur particulier ne dépend qu'à 12% de l'indicateur lui-même, et dans une bien plus large mesure - du testeur. Par exemple, la phrase "le testeur prend trop de temps" doit être comprise littéralement - "le testeur ralentit". Et c'est le problème de qui ? Comment le développeur MQL peut-il être responsable de l'accélération du testeur MQ ?

Quelque chose n'est pas clair. Même les vrais tics sont préparés plus rapidement. Il n'y a rien à faire là-bas en une minute et demie.

Aucun objet n'est créé au niveau principal ?

 
Stanislav Korotky:
PS. Et un petit ajout. Selon le profileur, sur une minute et demie du test annuel, l'ensemble du traitement OnCalculate prend 11 secondes. Ainsi, le facteur de réussite d'un test de vitesse par un indicateur spécifique ne dépend qu'à 12% de l'indicateur lui-même, et dans une bien plus large mesure - du testeur. Par exemple, la phrase "le testeur prend trop de temps" doit être comprise littéralement - "le testeur ralentit". Et c'est le problème de qui ? Comment un développeur MQL peut-il être responsable de l'accélération du testeur MQ ?

Les journaux de l'autovalidateur ont montré que le test sur M1 ne peut pas passer l'intervalle mensuel en une heure .

test on EURUSD:M1, from 01.5.2018 to 01.6.2018, deposit 1, model 1, execution delay 1 ms 

Alors que sur H1, le même indicateur passe le test en quelques minutes.

test on EURUSD:H1, from 01.5.2017 to 01.6.2017, deposit 10000, model 1, execution delay 1 ms 

Cherchez la raison dans votre code.

 
MetaQuotes Software Corp.:

Les journaux de l'autovalidateur ont montré que le test sur M1 ne peut pas passer l'intervalle mensuel en une heure .

Alors que sur H1, le même indicateur passe le test en quelques minutes.

Cherchez la cause dans votre code.

Malheureusement, je ne vois pas de retard d'une heure dans les extraits de journal ci-dessus, mais il est probable qu'ils ne sont nécessaires que pour mettre en évidence le mois ? Je l'ai vérifié moi-même, je ne vois aucun blocage, je peux vous envoyer le journal dans mon message personnel.

Y a-t-il des erreurs dans les journaux (qui n'apparaissent pas dans le rapport sur le site) ?

 
Andrey Khatimlianskii:

Il y a quelque chose de louche qui se passe ici. Même les vrais tics se préparent plus vite. Il n'y a rien à faire pendant une minute et demie.

Aucun objet n'est créé au niveau principal ?

Bien sûr, il y a des objets, mais le profileur aurait dû les mettre en évidence aussi - n'est-ce pas ? Tous les constructeurs/destructeurs sont là. En triant par temps d'exécution, OnCalculate est en tête, comme prévu. Les indicateurs sont testés en mode visuel - il y a une visualisation.

Voici un extrait du test M1 de la paire EURUSD pour 2018 :

2019.10.10 18:43:30.736 EURUSD,M1: 26463085 ticks, 371934 bars generated. Environment synchronized in 0:00:00.331. Test passed in 0:04:36.710 (including ticks preprocessing 0:00:03.479).

Et voici ce qu'il y a dans le profileur (54 secondes) :


OnCalculate 449 26463086 54 302 661 99.99%
 
Bonjour j'ai disparu Market dans mon terminal ne peut pas installer les conseillers et les indicateurs de Market la réinstallation du terminal n'a pas aidé ainsi que les produits achetés précédemment ne sont pas mis à jour sur le marché qui sait comment résoudre le problème.
Dossiers :
 
Prostocar:
Bonjour j'ai disparu Market dans le terminal je ne peux pas installer les conseillers et les indicateurs de Market la réinstallation du terminal n'a pas aidé ainsi que les produits achetés précédemment ne sont pas mis à jour sur le marché qui sait comment résoudre le problème.

Vérifiez la version d'Internet Explorer. On soupçonne qu'il s'envole.
 
Stanislav Korotky:

Les objets sont là, bien sûr, mais le profileur aurait dû les mettre en évidence aussi, n'est-ce pas ? Tous les constructeurs/destructeurs sont là. En triant par temps d'exécution, OnCalculate est en tête, comme prévu. Les indicateurs sont testés en mode visuel - il y a un rendu là.

Oui en effet, j'ai oublié "@global_initializations".

Il s'avère que le dessin des barres et des tampons d'indicateurs prend lui-même beaucoup de temps ?

Et si vous compilez jusqu'à la version et lancez le visualiseur dans le même intervalle, en allant directement à la fin ("passez à..."), combien de temps cela prend-il ?

 
Andrey Khatimlianskii:

Il s'avère que le dessin des barres et des tampons d'indicateurs lui-même prend tant de temps ?

Et si vous compilez jusqu'à la version et lancez le visualiseur dans le même intervalle, en allant directement à la fin ("passez à..."), combien de temps cela prend-il ?

Accéléré. 2018 de 4 minutes à 1,5 minute, 2019 de 1,5 minute à 35 secondes. Et le faux indicateur à un tampon, qui ne compte rien, est testé avec le visualiseur en 53 secondes, et avec le défilement en 12 secondes.

Mais comme ils disent qu'il y a des blocages (le délai d'attente est d'une heure), il est fort probable que ce ne soit pas la vitesse de traitement, mais certaines circonstances environnementales dont nous n'avons pas connaissance (après tout, autovalidator n'est pas un testeur de terminal). C'est pourquoi les journaux sont au moins utiles.

Raison: