Test des "CopyTicks". - page 5

 
Karputov Vladimir:
Je demande donc deux pages : donnez l'exemple le plus court possible (je précise, juste au cas où, que "l'exemple" est un fichier *.mq5 en nombre de pièces - c'est-à-dire un seul), qui montre le problème.
Au moins, on vous a donné une hypha entière... Au début, je pensais que le moniteur était en train de mourir...
 

Vous trouverez ci-joint la source qui génère les deux fichiers texte suivants. La capture d'écran d'une partie de ces fichiers ci-dessus est un exemple de la différence à la fois dans les drapeaux et les volumes.

 
zimbabve15:

Vous trouverez ci-joint la source qui génère les deux fichiers texte suivants. La capture d'écran d'une partie de ces fichiers ci-dessus est un exemple de la différence à la fois dans les drapeaux et les volumes.

Je vous l'ai dit - il faut le simplifier. Voici l'indicateur : il affiche les drapeaux de deux structures MqlTick sur une ligne (une structure est remplie via CopyTicks, la seconde via SymbolInfoTick). De plus, les drapeaux de ces deux structures sont comparés - si le drapeau est égal à zéro, alors Alarme.
 

le résultat de votre indicateur sur mon terminal.

Je n'ai pas bien compris la prémisse de votre dernier message, soit je dois le refaire, soit vous m'avez montré comment il aurait dû être fait et vous l'avez fait vous-même. Votre méthode et la mienne montrent la différence de structure des tiques prises par différentes méthodes. Où en sommes-nous ?

 
zimbabve15:

le résultat de votre indicateur sur mon terminal.

Je n'ai pas bien compris la prémisse de votre dernier message, soit je dois le refaire, soit vous m'avez montré comment il aurait dû être fait et vous l'avez fait vous-même. Votre méthode et la mienne montrent la différence de structure des tiques prises par différentes méthodes. Où en sommes-nous ?

Sur quel serveur de trading et sur quel instrument testez-vous ? Les drapeaux avec "0" sont clairement reçus - il s'agit d'une erreur du serveur commercial.
 

Disons qu'il y a un problème de serveur de commerce avec les drapeaux. Qu'en est-il des volumes ? Quelques posts plus haut, j'ai envoyé une capture d'écran et deux fichiers texte, qui montrent clairement que les drapeaux non seulement peuvent être nuls, mais sur les mêmes ticks obtenus par des méthodes différentes ils sont différents, et des volumes différents - c'est deux. S'il y a eu une erreur pendant le transfert depuis le serveur et queSymbolInfoTick obtient des informations incorrectes, alors sur la base de quelles données la fonction CopyTicks obtient-elle des ticks avec un volume différent ? Et que croire ?

 
Deux fichiers joints - la même façon de collecter les ticks, mais sur la paire euro-dollar chez le courtier FiboGroup. Regarde, bien qu'il n'y ait pas de zéros, mais il y a un désordre avec des drapeaux.
 

Vous trouverez ci-dessous une capture d'écran et des fichiers de l'historique des tics du serveur MetaQuotes-Demo. Les drapeaux des mêmes ticks reçus par différentes méthodes sont différents.

Par conséquent, sur deux serveurs de négociation de devises de sociétés différentes, le même tick, reçu par CopyTicks etSymbolInfoTick, a des drapeaux différents, et sur le serveur de négociation de la bourse, des volumes différents sont diffusés.

 
zimbabve15:

Vous trouverez ci-dessous une capture d'écran et des fichiers de l'historique des tics du serveur MetaQuotes-Demo. Les drapeaux des mêmes tics reçus de différentes manières sont différents.

Par conséquent, sur deux serveurs de négociation de devises de sociétés différentes, le même tick, reçu par CopyTicks etSymbolInfoTick, a des drapeaux différents, et sur le serveur de négociation de la bourse, des volumes différents sont diffusés.

Ils sont différents sur MetaQuotes-Demo - car, une fois encore, l'exemple doit être aussi simple que possible. Mes drapeaux sont les mêmes sur MetaQuotes-Demo aujourd'hui.
 

Essayez de définir la profondeur de la demande de tick à deux dans votre indicateur et voyez les valeurs suivantes dans le débogueur :

L'élément avec l'index 0 du tableau tick_array montre l'historique, c'est-à-dire le deuxième tick demandé. Et si vous observez comment les valeurs changent à chaque itération - trois d'entre elles changent de manière synchrone et montrent la valeur actuelle du drapeau, et la même valeur à l'étape suivante de l'exécution devrait être affichée dans tick_array[0]. Comme il se doit, cela n'arrive pas. Ou la fonction CopyTicks fonctionne correctement avec une profondeur d'historique ne dépassant pas 1 tick ?

Raison: