Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1635

 
SanAlex #:

aber wenn Sie es auf diese Weise versuchen - Sie müssen nur alle Namen in

Sie brauchen kein Raumschiff zu bauen. Es ist viel einfacher als das.

 
Artyom Trishkin #:

Sie brauchen kein Raumschiff zu bauen. Es ist viel einfacher als das.

Nein, es gibt verschiedene Situationen, manchmal ist es besser, sie auf diese Weise zu entfernen.

 
SanAlex #:

Nun ja, es gibt verschiedene Situationen, manchmal ist es besser, sie auf diese Weise zu entfernen.

Löschen Sie es. Aber es ist besser, den Grund einmal zu verstehen - damit man es nie wieder tut.

Wenn Sie ein Objekt aus einem Array löschen, verschiebt sich die Position des nächsten Objekts im Array, und der Schleifenindex zeigt nun auf wo? Denken Sie nur.

 
Artyom Trishkin #:

Löschen Sie es. Aber es ist besser, den Grund einmal zu verstehen - damit man es nie wieder tut.

Wenn Sie ein Objekt aus einem Array löschen, verschiebt sich die Position des nächsten Objekts im Array, und der Schleifenindex zeigt nun auf wo? Denken Sie nur.

So wie ich es verstehe, ist dies das Array "H2 Arrow 8345", und es wird auch ein Objekt namens "button1", "ArrowUp0008", "ArrowDown0008", "ArrowUp0006", "ArrowDown0006" erstellt.

 
Nerd Trader #:

Ich lösche alle Objekte in OnDeInit() durch eine Schleife (Pfeile, die Signalbalken und eine Schaltfläche anzeigen):

Ich bin mir bewusst, dass es ObjectsDeleteAll(), aber immer noch, wenn ich es durch eine Schleife tun, nur die Hälfte der Objekte in einem gelöscht werden. Das ist die eigentliche Arbeit der Schleife, und ich verstehe nicht, warum das so ist:

Warum sollten Sie durch eine Schleife löschen?
 
MakarFX #:
Warum sollten Sie durch eine Schleife löschen?
Um des Unfugs willen.)))
 
MakarFX #:
Warum müssen Sie durch eine Schleife löschen?

Nun, der BefehlObjectsDeleteAll bewirkt im Wesentlichendasselbe.

Außerdem gab es einmal Fehler - unter bestimmten Bedingungen wurde eine große Anzahl von Objekten nicht vollständig entfernt.

 
Taras Slobodyanik #:

Nun, der BefehlObjectsDeleteAll bewirkt im Wesentlichendasselbe.

Außerdem gab es einmal Fehler - eine große Anzahl von Objekten konnte unter bestimmten Bedingungen nicht vollständig entfernt werden.

Das ist mir noch nie untergekommen...
 
Taras Slobodyanik #:

Nun, der BefehlObjectsDeleteAll bewirkt im Wesentlichendasselbe.

Außerdem gab es einmal Fehler - unter bestimmten Bedingungen wurde eine große Anzahl von Objekten nicht vollständig entfernt.

Es war genau das Gegenteil der Fall. In OnDeInit() hatte der Expert Advisor keine Zeit, alle Objekte in der Schleife zu löschen. Es wurde hier im Forum diskutiert. Die Lösung ist eindeutig: alles mit Präfix löschen...
 
Artyom Trishkin #:

Löschen Sie es. Aber es ist besser, den Grund einmal zu verstehen - damit man es nie wieder tut.

Wenn Sie ein Objekt aus einem Array löschen, verschiebt sich die Position des nächsten Objekts im Array, und der Schleifenindex zeigt nun auf wo? Überlegen Sie es sich.

Sie sollten besser gleich den Grund für die Verschiebung angeben - ich habe es gut gelesen, ich wollte schreiben).

Grund der Beschwerde: