Diskussion zum Artikel "Horizontale Diagramm auf den Charts des MеtaTrader 5" - Seite 5

 

Verzögerungen sind nur eine Folge der Optimierung. Die erste Verzögerung bei der Initialisierung. Wenn der Indikator (im MT4-Video) auf einen bestimmten Zeitrahmen des Symbols eingestellt ist, für den es keine Historie gibt, oder diese nicht vollständig ist, dann werden die Diagramme auf der Historie möglicherweise nicht oder mit Fehlern erstellt. Und ich habe dieses Phänomen beobachtet. Bitte beachten Sie, dass der Indikator auf einen Zeitrahmen gesetzt werden kann, die ursprünglichen Daten von einem anderen nehmen und für den dritten anzeigen. Damit die Diagramme nur einmal und sofort fehlerfrei gezeichnet werden können, wird zu OnCalculate ein Code hinzugefügt, der die Bereitschaft der Quelldaten prüft und dann fünf weitere Aufrufe von OnCalculate überspringt, um sicherzustellen, dass alle Quelldaten bereit sind. Damit der Benutzer nicht denkt, dass der Indikator hängt, zeigt das Protokoll die Meldungen pass 1 .... Durchgang 2, usw. Wie Sie sehen können, gibt es keine Neuberechnung, die Belastung des Terminals ist minimal. Am Ende wird nur das letzte Diagramm neu berechnet. Das geschieht einmal pro Minute. Ist das ein schlechter Weg? Vielleicht. Aber mir ist nichts Besseres eingefallen.

Das zweite Mal tritt die Verzögerung in dem Modus auf, in dem die Chart-Primitive vom Indikator und nicht vom Terminal gesteuert werden. Dies geschieht, um das Auftreten von mehreren CHARTEVENT_CHART_CHANGE-Ereignissen zu behandeln. Das heißt, wenn der Benutzer das Diagramm aus heiterem Himmel hin und her zieht. Wenn wir versuchen würden, solche Ereignisse nacheinander zu verarbeiten, wäre der Indikator nicht in der Lage, mit den Konstruktionen fertig zu werden, und würde durcheinander geraten. Deshalb tut der Indikator einfach nichts und gibt die Kontrolle zurück, wenn das Ereignis eintritt. Wenn der Benutzer jedoch aufhört, ein Ereignis zu erzeugen, wartet der Indikator drei Sekunden lang, um sicherzustellen, dass es keine neuen Ereignisse gibt, und zeichnet erst dann die Diagramme an einer neuen Stelle neu. Nur einmal! Ja, wir haben eine Verzögerung. Aber wir warnen ehrlich davor, wir verbrauchen keine unnötigen Ressourcen, und wenn es Fragen gibt, erklären wir unseren Standpunkt. So wie es jetzt der Fall ist )

Sowohl der erste als auch der zweite Fall sind nicht notwendig, um zu manifestieren. Und für mich selbst würde ich diese Kontrollen nicht durchführen. Aber für andere muss ich es tun. Wenn ich einen besseren Weg finde oder jemand einen vorschlägt, werde ich sofort mit Korrekturen beginnen.

 
versuchen, über CCanvas, ein Objekt auf dem Diagramm zu implementieren, wenn Sie Hilfe benötigen, schreiben Sie bitte in einer PM, oder besser in den Kontakten, die ich Ihnen früher gegeben, denn jetzt bin ich selten hier )) Ich schreibe hauptsächlich in Python.
 
Ja, ich erinnere mich an Ihren Gedanken. Ich plane, diese Methode zu verwenden, und habe eine grobe Vorstellung davon, wie ich ein solches Diagramm in die entwickelte Architektur einbauen kann.
 
Ich mochte es wirklich, aber ich konnte es nicht zum Laufen bringen
  • "Zeckenvolumen zu verkaufen"
  • "Volumen der zu kaufenden Ticks"
  • "Gesamtes Tick-Volumen"
wenn Sie mir helfen können
 
Enoir Heringer Da Silveira:
Мне действительно понравилось это, но я не мог заставить это работать.
  • "Объемы продаж клещей"
  • "Объемы тиков для покупки"
  • "Всего тиковых объемов"
если вы можете мне помочь
В статье описан подход, сам принцип. Индикаторы не предназначены для конкретной работы. Они изготовлены только для демонстрации этого принципа. В Маркете есть Демо индикатор на этом принципе. Он распространяется бесплатно. Название можно увидеть в моем профиле.