Pourquoi les indicateurs (lignes, flèches, histogrammes) clignotent-ils dans le terminal MT5 ? - page 6

 
Andrey Khatimlianskii: Une pensée m'est venue. Le recalcul complet (et le redécoupage) se produit si prev_calculated = 0. Essayez d'insérer une impression OnCalculate au début pour ce cas et voyez si les impressions apparaissent lorsque le clignotement se produit. Si oui, vous devez trouver ce qui fait que le terminal remet le compteur à zéro (et vous pouvez écrire au service d'assistance à ce sujet). Si ce n'est pas le cas, il s'agit plutôt d'un problème et un simple indicateur de test, les conditions de lecture et une courte vidéo de démonstration peuvent être envoyés au service d'assistance.

Vous avez suggéré une solution similaire ci-dessus - insérer l'impression dans la fonction OnCalculate(), je l'ai ajouté, rien d'inattendu n'est apparu dans le journal, il y a un processus normal d'arrivée et de traitement de nouvelles barres. Les compteurs ne sont pas remis à zéro, mais des clignotements se produisent.

 
Andrey Khatimlianskii:

Une idée a surgi.

Le recalcul complet (et le redécoupage) se produit si prev_calculated = 0. Essayez d'insérer une impression OnCalculate au début pour ce cas et voyez si les impressions apparaissent en clignotant.

Si oui, vous devez trouver ce qui fait que le terminal remet le compteur à zéro (et vous pouvez écrire au service d'assistance à ce sujet).

Si ce n'est pas le cas, il s'agit alors davantage d'un problème et un simple indicateur de test, les conditions de lecture et une courte vidéo de démonstration peuvent être envoyés au service d'assistance.

Petite histoire :

Il y a quelque temps, j'ai essayé de réécrire l'indicateur qui collecte les ticks up et les ticks down séparément en temps réel de mql4 à mql5 mais cela n'a pas fonctionné car l'indicateur réinitialise périodiquement les données déjà accumulées. J'ai discuté de ce problème avec SD et ils m'ont assuré que la réinitialisation provient du fait que prev_calculated est remis à 0 et que l'historique entier est recalculé, et que la réinitialisation se produit en raison de la perte de connexion avec le serveur.

Les expériences que j'ai faites hier :

Tout d'abord, mettez Print() par condition... Je ne l'ai pas attendu et j'ai commencé à créer artificiellement une perte de connexion. Print() est exécuté, mais l'indicateur ne clignote pas.

J'ai aussi remis à zéro prev_calculated en cliquant sur le graphique et "Rafraîchir" dans le menu contextuel, mais l'indicateur ne clignote pas. J'ai décidé de voir comment ChartRedraw affecte le recalcul des indicateurs, mais le résultat est nul . Il n'a aucun effet , ni dans l'indicateur lui-même, ni dans un indicateur travaillant en parallèle avec l'appel ChartRedraw.

J'ai essayé de trouver le remplacement de prev_calculated. Si un indicateur technique est appelé, prev_calculated peut être remplacé par BarsCalculated(handle), mais sinon... non trouvé. Dans le cas d'un tel remplacement, lorsque prev_calculé est mis à zéro, l'indicateur n'est pas recalculé et ne perd pas ses calculs.

En tout cas, je n'ai pas réussi à trouver quelque chose d'utile...

C'est une supposition délirante :

Ne se peut-il pas que quelques ticks soient perdus, puis qu'ils soient chargés avec un certain retard et qu'à ce moment-là le clignement des yeux se produise ?

 

Est-ce quecet indicateur boursier d'histogramme basé sur les ticks scintille pour quelqu'un ?

J'ai réussi à voir l'indicateur constant scintiller une seule fois (à l'ouverture du marché) et seulement dans le panneau CTRL+D, les histogrammes eux-mêmes ne montraient aucun scintillement (probablement en raison du manque de GPU). Il n'a pas été possible de rejouer pour l'enregistrement vidéo.


L'effet d'échange devrait être observé dans un marché rapide. Il faut attendre que la bourse commence, alors, très probablement, il sera possible d'enregistrer le scintillement. Sinon, je suggère de mettre le terminal sur un enregistrement continu de plusieurs heures. Puis découpez le morceau où le scintillement est particulièrement visible.

 
Il ne faut pas croire que la remise à zéro du compteur (ou l'édition du tick "rétroactivement") est le seul cas où le terminal redessine le graphique. Cette logique tient probablement compte d'un tas d'autres facteurs dont nous n'avons pas connaissance. Je me suis attaqué à ce problème en raison du caractère aléatoire de la reproduction et de la difficulté de communication qui se produit habituellement dans le service d'assistance.
 
Stanislav Korotky: Il ne faut pas croire que la remise à zéro du compteur est le seul cas où le terminal redessine le graphique. Cette logique tient probablement compte d'un tas d'autres facteurs dont nous n'avons pas connaissance. Ce problème est dû au caractère aléatoire de la rediffusion et aux difficultés de communication qui surviennent généralement dans un service d'assistance.

J'en arrive à la même conclusion. Il s'agit très probablement d'une affaire interne dont ils ne feront pas la publicité et nous ne saurons jamais la véritable raison. Et les développeurs ont exprimé leur attitude à l'égard de la question de manière implicite, mais ne sont pas apparus une seule fois dans ce fil. Bien qu'ils auraient pu être plus clairs...

 

L'indicateur ZZ de la livraison a disparu hors ligne pendant quelques secondes - il ne s'agit donc pas de tics.

 
Eugene Myzrov:

Vous avez suggéré une solution similaire ci-dessus - insérer l'impression dans la fonction OnCalculate(), je l'ai ajouté, rien d'inattendu n'est apparu dans le journal, il y a un processus normal d'entrée et de traitement des nouvelles barres. Les compteurs ne sont pas remis à zéro, mais des clignotements se produisent.


Je n'ai pas lu les pages précédentes, a-t-on répondu à votre question ? Si non, voici la solution, essayez d'augmenter le nombre de tampons, vous avez le mauvais nombre, c'est pourquoi les clignotements.
 
Roman Vashchilin:

Je n'ai pas lu les pages précédentes, a-t-on répondu à votre question ? Si non, voici la solution, essayez d'augmenter le nombre de tampons, vous avez le mauvais nombre, c'est pourquoi il clignote.

Le nombre de tampons est-il également erroné dans la zone standard ?
 
Roman Vashchilin: Je n'ai pas lu les pages précédentes, a-t-on répondu à votre question ? Si non, voici une solution, essayez d'augmenter le nombre de tampons, vous avez le mauvais nombre, c'est pourquoi il clignote.

Pourquoi pensez-vous que "le mauvais nombre de tampons est en place, c'est pourquoi il clignote" ? Si j'utilise 2 tampons et 2 tableaux, je le spécifierai en conséquence.

#property   indicator_buffers 2
#property   indicator_plots   2

Pourquoi devrais-je spécifier plus de tampons que nécessaire, c'est-à-dire plus de deux?

 
Eugene Myzrov:

Pourquoi pensez-vous que "le mauvais nombre de tampons est en place, c'est pourquoi il clignote" ? Si j'utilise 2 tampons et 2 tableaux, je le spécifierai en conséquence.

Pourquoi devrais-je spécifier plus de tampons que nécessaire, c'est-à-dire plus de deux?


Et, s'ils correspondent, pas besoin de changer.