Fragen zu MQL4. - Seite 2

 
komposter, dann hilf mir doch mal.
Beantworten Sie die ursprüngliche Frage.
Ich erlebe hier einige Wunder...
 
Meinen Sie die Nachrichtenbox?
Ich meine, sehen Sie es sich selbst an?
 
Ja. Oder irgendwie.
Ich bin zu dem Schluss gekommen, dass ein CF, der eine Weile hängt, bevor die Taste gedrückt wird, nicht zulässt, dass der EA später angeschlossen wird.
Setzen Sie ein beliebiges MB in deinit, laden und entladen Sie EA.
1. Wenn Sie schnell mit "OK" antworten, ist es möglich, den EA wieder zu verbinden.
2. Wenn Sie eine Weile warten, wird der EA nicht beitreten.

Ich habe fast den Verstand verloren, als ich es verstanden habe...
 
Haben Sie versucht, die Protokolle zu lesen? =))))
Ich habe Ihnen im ersten Beitrag gesagt, dass deinit 2,5 Sekunden lang läuft.
Die Box verzögert den Prozess, und der EA wird zwangsweise heruntergefahren. Danach funktioniert er nicht mehr (er hat es gerade herausgefunden)
Übrigens, im Skript funktioniert es ;)
 
Sehen Sie, die Sache ist die...
Lassen Sie es so lange funktionieren, wie Sie wollen, aber warum (oder wozu) brauchen wir die Schwierigkeit, danach den nächsten EA anzuschließen?

Soll das so sein, oder ist das ein Fehler? Vielleicht können uns die Entwickler das sagen...
 
Vielleicht werden die Entwickler es uns sagen
... vielleicht werden sie es tun =)
aber bisher haben sie dieses Forum selten (oder kaum?) gelesen...
 
komposter:
deinit läuft 2,5 Sekunden - sollte der Benutzer so schnell reagieren? =)
Sie können in eine Datei schreiben, was zu tun ist, und das Skript wird es lesen, eine MessageBox anzeigen und, je nach Antwort, etwas unternehmen.
wenn das skript nicht in einer endlosschleife läuft, kann sein deinit in der regel sehr lange dauern. der grund dafür ist, dass es niemanden gibt, der die zeitüberschreitung kontrolliert, wenn das skript nicht von außen gelöscht wird. das deinit des skripts findet natürlich sofort nach der ausführung der startfunktion statt. aber damit das fachmännische deinit funktioniert, sollte der EA zuerst auf eine der folgenden 6 Weisen ausgelöscht werden
 
stringo,
Wenn das Skript nicht in einer Endlosschleife läuft, kann sein Deinit sehr lange funktionieren.
Ich verstehe das nicht wirklich. Was hat eine Schleife mit der Deinitdauer zu tun?
 
SKif:
stringo,
Wenn das Skript nicht in einer Endlosschleife läuft, kann sein Deinit sehr lange funktionieren.
Ich verstehe das nicht wirklich. Was hat eine Schleife mit der Dauer von deinit zu tun?
Wenn das Skript eine Endlosschleife hat, wird es ausgeführt, bis es deaktiviert wird (dann wird das Deinit auf 2,5 Sekunden begrenzt), und wenn nicht, wird zuerst der Start und dann das Deinit ausgeführt (falls vorhanden), und das Deinit wird so lange ausgeführt, wie Sie wollen
 
SKif:
Ich verstehe das nicht wirklich. Was hat die Schleifenbildung mit der Deinit-Dauer zu tun?
es ist ganz einfach. ein in einer endlosschleife laufendes skript beendet sich nicht selbst. es kann nur von außen gelöscht werden (explizites löschen des skriptes, aufhängen eines neuen skriptes, ändern des chartsymbols/zeitrahmens, schließen des charts, schließen des terminals). wenn der befehl zum schließen des skriptes (und auch des Expert Advisors) gegeben wird, wird unmittelbar danach eine Wartezeit von 2,5 Sekunden gesetzt. Wenn das Skript (oder der Experte) so "dumm" ist, dass es IsStopped nicht prüft, dann wird nach zweieinhalb Sekunden ein Stop-Flag gesetzt, das automatisch nach jeder Iteration der Schleife und nach jedem Aufruf einer Funktion geprüft wird.
Wenn das Skript jedoch von selbst beendet wird, führt es deinit aus, ohne dass es von oben beobachtet wird, und prüft nicht auf eine Zeitüberschreitung