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

 
Andrey Khatimlianskii: Flimmern wird leicht reproduziert, wenn der Prozessor stark belastet ist. Führen Sie die Optimierung auf allen lokalen Kernen aus und versuchen Sie, ein Dutzend Objekte zu entfernen/erstellen und ChartRedrow durchzuführen. Der Swag-Effekt ist garantiert.

Ja, aber ich möchte genau das Gegenteil, nicht das Flimmern reproduzieren, sondern es stoppen, etwas tun, um dieses Flimmern nicht mehr zu sehen.
Und unter guten Bedingungen, wenn der Prozessor nicht belastet ist, wir könnten sagen im Leerlauf, läuft die Optimierung nicht, d.h. die lokalen Kerne sind auch nicht belastet, Objekte werden nicht erstellt und ChartRedraw() wird nicht aufgerufen. Und in diesem ruhigen Zustand des Computers blinken die "Girlanden" weiter!

Die Entwickler haben nicht einmal geantwortet, ist dieses Blinken nicht behebbar und wird erst in zukünftigen Versionen von MT5 beseitigt oder haben die Indikatorentwickler vielleicht die falschen Hände und verstehen etwas bei der Entwicklung von Indikatoren für MT5 nicht...

 

Nicht nur die benutzerdefinierten Indikatoren flackern, sondern auch die integrierten Tools, z. B. "Regression Channel".

 

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

Wenn ja, dann gibt es nichts zu raten, es bedeutet, dass dieses Problem im Prinzip noch nicht gelöst werden kann und in einigen zukünftigen Versionen von MT5 gelöst werden wird. Die Entwickler sollten ehrlich sein und den Programmierern nicht den Kopf darüber zerbrechen, was sie falsch machen und wie sie damit umgehen sollen...

 

Ich kämpfe schon seit ein paar Tagen mit dieser Sache.

Ich habe alles versucht, was oben empfohlen wurde.

Das hat nicht geholfen.

Der Indikator flackert im MT5 aus dem einzigen Grund:

Bei der Anwendung von ChartGetInteger(0,CHART_VISIBLE_BARS ...

Als ich statt dieser Funktion eine konstante Zahl einstellte, hörte es zumindest auf zu flackern.

Ich habe die Funktion vielleicht etwas ungeschickt angewandt, aber trotzdem...
Документация по MQL5: Операции с графиками / ChartGetInteger
Документация по MQL5: Операции с графиками / ChartGetInteger
  • www.mql5.com
Возвращает значение соответствующего свойства указанного графика. Свойство графика должно быть типов datetime, int или bool. Существует 2 варианта функции. 2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром...
 

Das hat auch nicht geholfen ;)))

 
Renat Akhtyamov:

Es hat auch nicht geholfen ;)))

" ... Die Funktion ist synchron - das bedeutet, dass sie wartet, bis alle Befehle, die in die Zeitplan-Warteschlange gestellt wurden, aufgerufen werden. ... "

Dies ist ein Auszug aus der Dokumentation. Ich kann hinzufügen, dass die synchrone Funktion den gesamten Prozess verlangsamt - bis sie ihre Ausführung beendet hat, wird kein anderer Prozess mit der Ausführung beginnen, selbst wenn Ressourcen für ihre Ausführung verfügbar sind.

 
Es gibt die Hypothese, dass das Flimmern vom Neuzeichnen von Objekten durch die Terminal-Engine abhängt, d. h. wenn sich die Plot-Punkte außerhalb des sichtbaren Bildschirms befinden, haben sie eine geringere Priorität für das Rendering, was sich in der Rechenbelastung des Diagramms niederschlägt (einschließlich der Geschwindigkeit von Zitaten - ich habe festgestellt, dass es bei starken und intensiven Bewegungen zu Flimmern kommt).
 
Aleksey Vyazmikin:
Es gibt die Hypothese, dass das Flimmern vom Neuzeichnen der Objekte durch die Terminal-Engine abhängt, d. h. wenn die Plot-Punkte außerhalb des sichtbaren Bildschirms liegen, haben sie eine niedrigere Priorität für das Rendering, was sich in der Rechenbelastung des Diagramms niederschlägt (einschließlich der Häufigkeit des Eintreffens von Zitaten - ich habe festgestellt, dass es bei starken und intensiven Bewegungen zu Flimmern kommt).

Ich wünschte wirklich, die Entwickler würden diesem Thema Aufmerksamkeit schenken.

Das Flackern der Anzeige lässt sich nicht von selbst beseitigen.

 

Ich glaube, ich habe es herausgefunden.

nicht eine Tatsache, sondern

es sieht aus wie eine Art von externen Tests der aktuellen EA, die derzeit auf dem realen Handel ist.

Meine persönlichen Schlussfolgerungen lauten wie folgt:

Das Diagramm wird genau 10 Stunden im Voraus erstellt, wir sehen die vorgefertigten

der Rest befindet sich hinter den Kulissen auf der rechten Seite und wird nach und nach auf dem Bildschirm zu sehen sein

Ich habe das Video aufgezeichnet, um nicht aufzufallen, aber ich werde es nicht hier zeigen, sondern dort, wo es die Leute sehr interessieren würde

---

jetzt in Bildern

Zunächst ändert sich die Anzahl der Balken, die auf 1000 festgelegt ist, aber da die Berechnung bei Null beginnt, ergibt sich 1001:

im Moment des Flackerns werden die Balken plötzlich 600 weniger (und beim Flackern ist die Zahl immer gleich - 358):

und im Moment des Flackerns der Anzeige passiert es manchmal (ich habe es geschafft, das Bild nur auf Video einzufangen):

und die interessantesten:manchmal in den Momenten der flackernden zeigt grafisch geschlossen Trades von Gegenwart zu Zukunft, dh sie sind nur für jetzt offen, und wird irgendwo da draußen geschlossen werden - hinter den Kulissen

um das Ganze mit eigenen Augen zu sehen, alle Balken neu berechnen, nicht nur den letzten, und bei jedem Tick die Puffer vor jeder Berechnung reinigen

Ach ja, richtig, ich vergaß.

diese Sache passiert am Abend

mein Freund, der Ermittler, hat das ganze Material mitgenommen, er sagt, es sei ziemlich cool ;)

;))))

----

und jetzt die Debatte ...

 
Aleksey Vyazmikin:
Es gibt die Hypothese, dass das Flimmern vom Neuzeichnen der Objekte durch die Terminal-Engine abhängt, d.h. wenn die Plot-Punkte außerhalb des sichtbaren Bildschirms liegen, haben sie eine niedrigere Priorität für das Rendering, was sich in der Rechenlast des Diagramms bemerkbar macht (einschließlich der Rate der Zitate - ich habe festgestellt, dass das Flimmern bei starken und intensiven Bewegungen auftritt).

Für das Pferd war es klar, wie Alla Jurjewna sagte. Der Kompostierer hat, wenn auch indirekt, auf die Ursache hingewiesen. Flimmern tritt auf, wenn das Terminal überlastet ist - das ist eine Tatsache. Eine Überlastung kann aus verschiedenen Gründen auftreten und bedeutet nicht immer eine Überschreitung der Rechenleistung des Terminals.