Warum flackern die Indikatoren (Linien, Pfeile, Histogramme) auf dem MT5-Terminal? - Seite 8

 
-Aleks-:

Ich spreche von dem Standard-ZigZag-Indikator von MT5.

Das Standard-Zickzack will ich mir gar nicht erst ansehen, es ist eine Schande für MT5, sollen doch die Entwickler ihre eigene Kreation in Ordnung bringen.

 
Sergey Chalyshev:

Das Standard-Zickzack will ich mir gar nicht erst ansehen, es ist eine Schande für MT5, sollen doch die Entwickler ihre eigene Kreation in Ordnung bringen.

Das Traurigste daran ist, dass sie dieses Problem ignorieren.
 
Sergey Chalyshev: Ist dieser spezielle Indikator fehlerhaft? Ich werde mich in aller Ruhe damit befassen.

Bei diesem speziellen Indikator sieht die Störung folgendermaßen aus: Die Namen und Werte der beiden Indikatorpuffer verschwinden für einige Zeit (1-2 Sekunden) im Datenfenster und tauchen dann wieder auf. Den Indikator, der auch auf dem Chart flackert, kann ich hier noch nicht zitieren, da er vom Autor stammt. Das Einzige, was ich dazu sagen kann, ist, dass sie den Zeichnungstyp DRAW_SECTION verwendet, d.h. sie enthält die folgende Zeile

#property  indicator_type1  DRAW_SECTION


Ich würde sagen, dass vielleicht nur die Indikatoren, die mit den Typen DRAW_SECTION oder DRAW_ZIGZAG oder ihren farbigen Gegenstücken DRAW_COLOR_SECTION oder DRAW_COLOR_ZIGZAG erstellt wurden, überzeichnet sind (blinken). Das Verschwinden von Namen und Werten von Indikatorpuffern ist zwar typisch für andere Arten von grafischen Konstruktionen aus der Aufzählung ENUM_DRAW_TYPE.

 
Außerdem wurde festgestellt, dass das Blinken durch CopyTicks/CopyTicksRange-Aufrufe ausgelöst wird.
 
Stanislav Korotky:
Ich habe auch herausgefunden, dass das Blinken durch CopyTicks/CopyTicksRange-Aufrufe verursacht wird.

Neue Balken werden der Historie hinzugefügt - der Indikator wird neu aufgebaut (der Puffer wird geleert, die Berechnung wird neu durchgeführt). Es blinkt also.
Sobald der Verlauf vollständig geladen/aufgebaut ist, wird das Blinken verschwinden.

 
Taras Slobodyanik:

Neue Balken werden der Historie hinzugefügt - der Indikator wird neu aufgebaut (der Puffer wird gelöscht, alles wird neu berechnet). Es blinkt also.
Sobald der Verlauf vollständig geladen/aufgebaut ist, wird das Blinken verschwinden.

Nein, die Geschichte der Bar ist schon seit langem belastet.

 
Taras Slobodyanik:

Neue Balken werden der Historie hinzugefügt - der Indikator wird neu aufgebaut (der Puffer wird gelöscht, alles wird neu berechnet). Es blinkt also.
Sobald der Verlauf vollständig geladen/aufgebaut ist, wird das Blinken verschwinden.


MT4 flackert nicht...

 
Aleksey Vyazmikin:

MT4 flackert nicht...

Bei MT4 ist das einfacher. MT5 hat viele Entitäten und neue Threads, die auf eine komplizierte Weise synchronisiert werden, soweit ich weiß. In solchen Intervallen kann es zu einem Flimmern kommen. Theoretisch sollte sich das Programm natürlich nicht auf diese Weise verhalten.

 

Flimmern wird sehr leicht reproduziert, wenn der Prozessor stark belastet ist.

Führen Sie die Optimierung auf allen lokalen Kernenaus und versuchen Sie, ein Dutzend Objekte zu entfernen/zu erstellen und ChartRedrow durchzuführen. Der Swag-Effekt ist garantiert.

 
Taras Slobodyanik: Neue Balken werden der Historie hinzugefügt - der Indikator wird neu aufgebaut (der Puffer wird gelöscht, alles wird neu berechnet). Es blinkt also.

Sobald der Verlauf vollständig geladen/aufgebaut ist, wird das Blinken verschwinden.

Ich stimme nicht zu, die Aktualisierung im Datenfenster und das Blinken der Indikatorlinien erfolgt auch innerhalb des aktuellen Balkens. Außerdem bin ich ein Befürworter von Indikatoren, die nur dann aktualisiert werden, wenn der Balken geschlossen wird, d. h. der Indikator wird nicht auf dem aktuellen Balken gezeichnet. Außerdem ist es unübersichtlich; die Historie wird vollständig geladen und der aktuelle Balken wird nicht verarbeitet, während die Indikatorlinien weiter blinken.