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

 
Andrey Khatimlianskii: Le scintillement est facilement reproduit lorsque le processeur est fortement chargé. Exécutez l'optimisation sur tous les cœurs locaux et essayez de supprimer/créer une douzaine d'objets et faites ChartRedrow. L'effet swag est assuré.

Oui, mais je voudrais exactement le contraire, non pas reproduire le scintillement, mais l'arrêter, faire quelque chose pour ne plus voir ce scintillement.
Et dans de bonnes conditions, lorsque le processeur n'est pas chargé, on pourrait dire idle, l'optimisation n'est pas en cours, c'est-à-dire que les cœurs locaux ne sont pas non plus chargés, les objets ne sont pas créés et ChartRedraw() n'est pas appelé. Et dans cet état de tranquillité de l'ordinateur, les "guirlandes" continuent de clignoter !

Les développeurs n'ont même pas répondu, est-ce que ce clignotement est irrécupérable et ne sera éliminé que dans les futures versions de MT5 ou peut-être que les développeurs d'indicateurs ont de mauvaises mains et ne comprennent pas quelque chose pendant le développement des indicateurs pour MT5....

 

Non seulement les indicateurs personnalisés clignotent, mais aussi les outils intégrés, par exemple le "Canal de régression".

 

Aleksey Vyazmikin: Мерцают не только пользовательские индикаторы, но и встроенные инструменты, к примеру "Канал регрессии".

Si c'est le cas, il n'y a rien à deviner, cela signifie que ce problème ne peut pas encore être résolu en principe et qu'il le sera dans de futures versions de MT5. Les développeurs devraient être honnêtes à ce sujet et ne pas obliger les programmeurs à s'interroger sur ce qu'ils font de mal et sur la manière d'y remédier...

 

Je me débats avec ce truc depuis quelques jours.

J'ai essayé tout ce qui a été conseillé ci-dessus.

Ça n'a pas aidé.

L'indicateur clignote dans MT5 pour la seule raison :

Lors de l'application de ChartGetInteger(0,CHART_VISIBLE_BARS ...

Au moins, lorsque j'ai défini un nombre constant au lieu de cette fonction, le clignotement a cessé.

J'ai peut-être appliqué la fonction d'une manière maladroite, mais néanmoins...
Документация по MQL5: Операции с графиками / ChartGetInteger
Документация по MQL5: Операции с графиками / ChartGetInteger
  • www.mql5.com
Возвращает значение соответствующего свойства указанного графика. Свойство графика должно быть типов datetime, int или bool. Существует 2 варианта функции. 2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром...
 

Cela n'a pas aidé non plus ;))))

 
Renat Akhtyamov:

Cela n'a pas aidé non plus ;))))

" ... La fonction est synchrone - cela signifie qu'elle attend que toutes les commandes qui ont été placées dans la file d'attente de l'horaire soient appelées. ... "

Ceci est tiré de la documentation. Je peux ajouter que la fonction synchrone ralentit l'ensemble du processus - tant que son exécution n'est pas terminée, aucun autre processus ne commencera à s'exécuter, même si des ressources sont disponibles pour son exécution.

 
Il existe une hypothèse selon laquelle le scintillement dépend du redessin des objets par le moteur du terminal, c'est-à-dire que si les points de tracé sont en dehors de l'écran visible, ils ont une priorité moindre pour le rendu, ce qui se manifeste dans la charge de calcul sur le graphique (y compris la vitesse des cotations - j'ai remarqué que c'est avec des mouvements forts et intenses que le scintillement se produit).
 
Aleksey Vyazmikin:
Il existe une hypothèse selon laquelle le scintillement dépend du redessin des objets par le moteur du terminal, c'est-à-dire que si les points de tracé se trouvent en dehors de l'écran visible, ils ont une priorité moindre pour le rendu, ce qui se manifeste lors de la charge de calcul sur le graphique (y compris le taux d'arrivée des cotations - j'ai remarqué que c'est avec des mouvements forts et intenses que le scintillement se produit).

J'aimerais vraiment que les développeurs prêtent attention à ce sujet.

Le scintillement de l'indicateur ne peut être éliminé à lui seul.

 

Je crois que j'ai trouvé.

ce n'est pas un fait mais

Il semble qu'il s'agisse d'une sorte de test externe de l'EA actuel qui est en train de négocier sur le marché réel.

mes conclusions personnelles sont les suivantes :

Le tableau est construit exactement 10 heures à l'avance, nous voyons le tableau prêt à être utilisé.

le reste se trouve dans les coulisses à droite et nous parvient progressivement à l'écran.

J'ai enregistré la vidéo, pour ne pas me précipiter, mais je ne la montrerai pas ici mais là, où les gens seraient très intéressés par cette vidéo.

---

maintenant en images

Tout d'abord, le nombre de barres change, il est fixé à 1000, mais comme le calcul part de zéro, il s'avère être 1001 :

au moment du scintillement, les barres deviennent soudainement 600 moins (et toujours au moment du scintillement, le nombre est le même - 358) :

et au moment où l'indicateur de scintillement se produit parfois (j'ai réussi à attraper l'image sur la vidéo seulement) :

et le plus intéressant :parfois, dans les moments de scintillement, le graphique montre les transactions fermées du présent au futur, c'est-à-dire qu'elles sont juste ouvertes pour le moment, et seront fermées quelque part - dans les coulisses.

pour voir tout cela de vos propres yeux, recalculez toutes les barres, pas seulement la dernière, et à chaque tic, nettoyez les tampons avant chaque calcul.

Oh, c'est vrai, j'ai oublié.

cette chose arrive le soir

mon ami l'enquêteur a pris tout le matériel, il dit que c'est plutôt cool ;)

;))))

----

et maintenant le débat ...

 
Aleksey Vyazmikin:
Il existe une hypothèse selon laquelle le scintillement dépend du redessin des objets par le moteur du terminal, c'est-à-dire que si les points du tracé sont en dehors de l'écran visible, ils ont une priorité inférieure pour le rendu, ce qui apparaît lors de la charge de calcul sur le graphique (y compris le taux de cotation - j'ai remarqué que le scintillement se produit lors de mouvements forts et intensifs).

C'était clair pour le cheval, comme l'a dit Alla Yurievna. Le composteur a indiqué la cause, bien qu'indirectement. Le scintillement se produit lorsque le terminal est surchargé - c'est un fait. La surcharge se produit pour un certain nombre de raisons et ne signifie pas toujours un dépassement de la puissance de calcul du terminal.