Fehler, Irrtümer, Fragen - Seite 1984
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Sollte der Puffer nicht verschwinden, wenn der Indikator verschwindet?
Aber vielleicht müssen die Berechnungen irgendwie deinitialisiert werden, aber wie?
Wird sie aus dem Code entfernt?
Wurde sie aus dem Code entfernt?
Es wurde nur im Code deklariert, aber keine Berechnungen durchgeführt.
Die Erwähnungen wurden vollständig aus dem Code entfernt - die Puffer sind verschwunden.
So soll es auch sein. Die Sauberkeit des Arrays bzw. des Indikatorpuffers ist Sache des Programmierers.
Übrigens gibt es da noch einen Fehler. Wenn die Anzahl der Diagrammreihen dynamisch eingestellt wird (nach Wahl des Benutzers), sind die Puffer beim Neustart des Indikators immer noch sichtbar, selbst wenn sie in OnDeinit() mit leeren Werten initialisiert werden.
D.h., wenn indicator_plots größer ist als die Anzahl der verwendeten Diagrammreihen, kann der Müll auf dem Bildschirm bleiben (in dem Fall, wenn zuerst alle Diagrammreihen beteiligt waren und dann einige von ihnen nicht mehr beteiligt sind).
Übrigens gibt es da noch einen Fehler. Wenn die Anzahl der Diagrammreihen dynamisch eingestellt wird (nach Wahl des Benutzers), sind die Puffer beim Neustart des Indikators immer noch sichtbar, selbst wenn sie in OnDeinit() mit leeren Werten initialisiert werden.
D.h., wenn indicator_plots die Anzahl der verwendeten Plots (Diagrammreihen) übersteigt, kann der Müll auf dem Bildschirm bleiben (in dem Fall, wenn zuerst alle Diagrammreihen beteiligt sind und dann einige nicht mehr).
Und genau das passiert bei unserem Namensvetter. Aber das ist doch eine einmalige Angelegenheit, oder? Wenn die Diagramme nicht mehr benötigt werden, müssen sie entweder gelöscht oder bei jedem Balken mit einem nicht anzeigbaren Wert ausgefüllt werden.
Ich kenne mich mit Hardware nicht besonders gut aus, aber ich vermute, dass es mit dem Löschen der Speicheradresse des Computers zu tun hat. Und wahrscheinlich erhöht sich dadurch, unter anderem, die Geschwindigkeit von MT.
Das ist bei unserem Namensvetter der Fall. Aber das kann doch sofort gelöst werden, oder? Wenn die Diagramme nicht mehr benötigt werden, müssen sie entweder gelöscht oder bei jedem Balken mit einem Wert gefüllt werden, der nicht angezeigt wird.
Ich kenne mich mit Hardware nicht aus, aber ich vermute, dass es mit dem Löschen von Speicheradressen zu tun hat. Wahrscheinlich erhöht sich dadurch unter anderem die MT-Geschwindigkeit.
Ich weiß nicht, wie es ihm geht, aber ich konnte dieses Problem nicht lösen. Es sollte einfacher sein als das. Wenn die Deinitialisierung ansteht, werden alle Puffer auf Null gesetzt. Nur alle Puffer, die verwendet werden. Im Idealfall sollte es helfen. Es ergibt sich jedoch das folgende Bild.
Der Fall der Verwendung aller Diagrammreihen:
Und so sieht es aus, wenn Sie die Pfeilanzeige (über Eingabeparameter) deaktivieren:
Und egal, welches Clearing in OnDeinit() eingestellt wird - der Müll bleibt.
Ich weiß nicht, wie es ihm geht, aber ich habe dieses Problem nicht lösen können.
Ich werde später einen Testindikator zusammenstellen und ihn an den SD schicken.
Eine weise Entscheidung!
Und mir wurde gesagt, dass es so sein sollte, also habe ich es bereits umgeschrieben und alles unter die Lupe genommen...
Ich weiß nicht, wie es ihm geht, aber ich habe dieses Problem nicht lösen können. Es sollte ganz einfach sein. Der Moment der Deinitialisierung kam, ich nahm alle Puffer und setzte sie auf Null zurück. Nur alle Puffer, die verwendet werden. Im Idealfall sollte es helfen. Es ergibt sich jedoch das folgende Bild.
Der Fall der Verwendung aller Diagrammreihen:
Und so sieht es aus, wenn Sie die Pfeilanzeige (über die Eingabeparameter) deaktivieren:
Und was auch immer in OnDeinit() für das Clearing eingestellt wird - der Müll bleibt.
Alexey, eine unbescheidene Frage, ist PLOT_EMPTY_VALUE vorgeschrieben?
Alexei, und unbescheidene Frage, ist PLOT_EMPTY_VALUE vorgeschrieben?