Erreurs, bugs, questions - page 1710

 
fxsaber:
C'est beaucoup plus cool que ça, malheureusement. L'indicateur est entièrement fixé. Lien vers la branche avec les détails ci-dessus.
L'absence de données récentes à côté du nom court, ainsi que l'absence de rendu de l'indicateur, indiquent clairement qu'au moment du rendu du graphique, les données de l'indicateur n'étaient pas encore prêtes et que l'indicateur lui-même était en cours de calcul.
 
Slawa:
L'absence de données récentes à côté du nom court, ainsi que l'absence de rendu de l'indicateur, indiquent clairement qu'au moment du rendu du graphique, les données de l'indicateur n'étaient pas encore prêtes et que l'indicateur lui-même était en cours de calcul.
J'ai fourni un code source complètement court. Je serais heureux si votre explication était correcte. Mais vous pouvez constater par vous-même, en exécutant l'indicateur, que ce n'est pas le cas.
 
Slawa:
L'absence des dernières données près du nom court, ainsi que l'absence du rendu de l'indicateur, montre évidemment qu'au moment de la création du graphique les données de l'indicateur n'étaient pas encore prêtes, et que l'indicateur lui-même était en état de calcul.
C'est-à-dire que cela ne peut se produire qu'une fois après avoir dessiné sur le graphique, puisque les données seront déjà calculées, n'est-ce pas ?
 
-Aleks-:
C'est-à-dire que cela peut se produire une fois après avoir été tracé, car les données seront déjà comptées lorsque vous le ferez à nouveau, n'est-ce pas ?
Non. Ça peut arriver plus d'une fois. Vous déplacez le graphique d'avant en arrière avec la souris, et à ce moment-là, un tick apparaît.
 
Slawa:
Non. Peut-être plus d'une fois. Vous déplacez le graphique à l'aide de la souris d'avant en arrière, et à ce moment-là, une tique apparaît.
Je pensais que les données déjà comptées dans la mémoire tampon du graphique n'étaient pas recalculées à chaque tick.....
 
Slawa:
Non. Peut-être plus d'une fois. Vous déplacez le graphique avec la souris d'avant en arrière, et à ce moment-là, un tic-tac apparaît.
Dans mon cas, le scintillement se produit également sans déplacer la souris - dans la fenêtre CTRL+D.
 
Pourquoi ne puis-je pas ouvrir un compte de démonstration pour une mise à jour sur demo.metaquotes.net:443 ?
 
-Aleks-:
Je pensais que les données déjà comptées dans la mémoire tampon du graphique n'étaient pas recalculées à chaque tick.....

1. Dépend de la mise en œuvre de l'indicateur. Si elle est écrite avec parcimonie, seule la dernière valeur est recalculée.

2. Si le graphique est stationnaire et que le nombre de barres n'a pas changé, en cas de collision, le tampon précédent sera rendu (c'est-à-dire qu'il n'y aura pas de vide).

 
fxsaber:
J'ai passé toute la journée à trier les choses, rien ne fonctionnait. Simplifié le code autant que possible et créé une branche. Aidez-moi !
Mesurez OnCalculate() en utilisant GetMicrosecondCount(). Imprimer cette valeur dans le journal. Il est préférable de se souvenir de la durée maximale et de n'imprimer que la mise à jour maximale dans le journal - de cette façon, elle sera plus visible.
 
Anton:
Vérifiez le temps d'exécution de OnCalculate() par GetMicrosecondCount(). Imprimez cette valeur dans le journal. Il est préférable de se souvenir du temps maximal et d'imprimer uniquement la mise à jour de la valeur maximale dans le journal - de cette façon, elle sera plus visible.

J'ai obtenu la sortie de chaque tic, beaucoup !

2016.09.27 19:29:00.293 TurnOver (Si-12.16,M1)  MaxInterval = 69.541 ms.
2016.09.27 19:28:59.877 TurnOver (Si-12.16,M1)  MaxInterval = 53.212 ms.
2016.09.27 19:28:59.800 TurnOver (Si-12.16,M1)  MaxInterval = 52.833 ms.
2016.09.27 19:28:59.739 TurnOver (Si-12.16,M1)  MaxInterval = 73.088 ms.
2016.09.27 19:28:58.689 TurnOver (Si-12.16,M1)  MaxInterval = 67.036 ms.
2016.09.27 19:28:58.007 TurnOver (Si-12.16,M1)  MaxInterval = 53.553 ms.
2016.09.27 19:28:57.744 TurnOver (Si-12.16,M1)  MaxInterval = 53.815 ms.
2016.09.27 19:28:57.603 TurnOver (Si-12.16,M1)  MaxInterval = 53.030 ms.
2016.09.27 19:28:57.541 TurnOver (Si-12.16,M1)  MaxInterval = 53.485 ms.
2016.09.27 19:28:57.488 TurnOver (Si-12.16,M1)  MaxInterval = 52.938 ms.
2016.09.27 19:28:57.443 TurnOver (Si-12.16,M1)  MaxInterval = 79.087 ms.

Pourquoi CopyTicks est-il si lent ?! Vérifié la dépendance au nombre de ticks (count - paramètre d'entrée) - presque aucune. Il est également lent avec des valeurs faibles.

Raison: