Fehler, Irrtümer, Fragen - Seite 969

 
zfs:

Meinen Sie, dass Sie das überprüfen sollten, oder wissen Sie es sicher).

...

Nun, lassen Sie es schon überprüfen. Sie haben ein Problem, also sollten Sie es überprüfen. )) In der Regel beginne ich mit der Überprüfung, wenn ich es genau wissen muss. Und in Indikatoren wird nach der Hauptberechnung normalerweise der letzte Wert aktualisiert, und ich habe noch nie ein Problem festgestellt. Und niemand scheint es bemerkt zu haben, außer Ihnen. Das hat mich neugierig gemacht. ))

Auf verschiedenen Computern sehe ich ein anderes Bild, so dass ich etwas zum Vergleich habe. (Ich kann die Wahrheit sowieso nicht erfahren, also bleibt uns nichts anderes übrig, als im Forum zu meckern).

Wenn ich ein Terminal mit umfangreichen Anwendungen ausführe, wird es nicht als Anwendung geladen und ist nur als Prozess sichtbar. Wenn ich die Anwendung auf einem offenen Terminal ausführe, bleibt sie nicht hängen. Aber beim Starten bleibt es hängen oder wird nicht als Anwendung geladen. Daher muss ich die Anwendung vor dem Beenden deinstallieren. Ich habe an servicedesk geschrieben und darum gebeten, die Anwendung schließen zu können, ohne das Terminal zu schließen oder die Ordner zu leeren.

Was verstehen Sie unter Anwendung? Sie verwenden das Wort "Anwendung" sowohl als etwas vom Terminal Getrenntes als auch als das Terminal selbst, so dass es schwer ist, Sie zu verstehen.

Was bedeutet es, die Anwendung zu schließen, ohne das Terminal zu schließen? Sie können einen Expert Advisor, einen Indikator oder ein Skript nicht aus einem Diagramm entfernen?

 
tol64:

Nun, lassen Sie es schon überprüfen. Sie haben ein Problem, also sollten Sie es überprüfen. )) In der Regel beginne ich mit der Überprüfung, wenn ich es genau wissen muss. Und in Indikatoren wird nach der Hauptberechnung normalerweise der letzte Wert aktualisiert, und ich habe kein Problem festgestellt. Und niemand scheint es bemerkt zu haben, außer Ihnen. Das hat mich neugierig gemacht. ))

Was verstehen Sie unter Anwendung? Sie verwenden das Wort "Anwendung" sowohl als etwas vom Terminal Getrenntes als auch als das Terminal selbst, so dass es schwer ist, Sie zu verstehen.

Was meinen Sie mit "die Anwendung schließen, ohne das Terminal zu schließen"? Sie können einen Expert Advisor, einen Indikator oder ein Skript nicht aus einem Diagramm entfernen?

Ja, ich muss mir überlegen, wie ich dieses Ergebnis erreiche. Wenn ich nicht einmal
double iCloseMQL4

Wenn Sie es nicht verstehen, werden die Ticks nicht übersprungen, sondern die Berechnungen werden übereinander gelegt. Das ist aber keine Tatsache, sondern eher eine andere Art von Oper.

Die Anwendungen sind in meinem Fall der Indikator, aber auch das Skript und der Expert Advisor. Ich kann den Indikator erst dann aus dem Terminal entfernen, wenn die Berechnungen fehlgeschlagen sind, was auch in 4 der Fall war, d.h. er hängt. Ich kann das Terminal nicht laden, wenn der Indikator beim Beenden im Diagramm hängt, nur durch Löschen von Dateien aus Ordnern. Ich kann den Indikator nicht kompilieren, wenn er sich im Chart aufhängt - er kann sich wieder aufhängen. Die Anwendung befindet sich auch im Task-Manager des Terminals selbst. Entschuldigung für die Verwirrung.

Документация по MQL5: Файловые операции / FileDelete
Документация по MQL5: Файловые операции / FileDelete
  • www.mql5.com
Файловые операции / FileDelete - Документация по MQL5
 
zfs:
...

Die Anwendung ist in meinem Fall der Indikator, aber auch das Skript und der Expert Advisor. Ich kann den Indikator erst dann aus dem Terminal entfernen, wenn die Berechnungen fehlgeschlagen sind, was auch in 4 der Fall war, d.h. er hängt. Ich kann das Terminal nicht laden, wenn der Indikator beim Beenden im Diagramm hängt, nur durch Löschen von Dateien aus Ordnern. Ich kann den Indikator nicht kompilieren, wenn er sich im Chart aufhängt - er kann sich wieder aufhängen. Die Anwendung befindet sich auch im Task-Manager des Terminals selbst. Entschuldigung für die Verwirrung.

Versuchen Sie IsStopped() zu verwenden:

for(int i=0; i<rates_total && !IsStopped(); i++)
   {
    
   }

Wenn Sie es ausprobiert haben, schreiben Sie auf, ob Sie die Berechnungen Ihres Indikators stoppen und das Programm aus dem Diagramm entfernen konnten oder nicht. Im Allgemeinen wäre es wünschenswert, sich den Code des Indikators anzusehen.

 
tol64:

Versuchen Sie IsStopped() zu verwenden:

Wenn Sie es ausprobiert haben, schreiben Sie auf, ob Sie die Berechnungen Ihres Indikators stoppen und das Programm aus dem Diagramm entfernen konnten oder nicht. Im Allgemeinen ist es wünschenswert, sich den Code des Indikators anzusehen.

Bei Indikatoren ist das Stop-Flag nicht gesetzt.
 
uncleVic:
Bei Indikatoren ist das Kennzeichen für den Stopp nicht gesetzt.

Dann sieht es so aus, als ob die Beschreibung in der Hilfe ergänzt/spezifiziert werden muss:

//---

Überprüft das erzwungene Herunterfahren eines mql5-Programms.

Zurückgegebener Wert

Gibt true zurück, wenn die Systemvariable _StopFlag einen Wert ungleich 0 enthält. Ein Wert ungleich 0 wird in _StopFlag geschrieben, wenn ein Befehl zum Beenden des mql5-Programms empfangen wurde. In diesem Fall muss das Programm so schnell wie möglich beendet werden, sonst wird das Programm nach 3 Sekunden von außen zwangsweise beendet.

//---

...Oder fügen Sie die Möglichkeit der Zwangsbeendigung auch in Indikatoren ein.

Viele Indikatoren in CodeBase verwenden diese Funktion, und es stellt sich heraus, dass sie in Indikatoren nicht funktioniert. ))

 
tol64:

Dann sieht es so aus, als ob die Beschreibung in der Hilfe ergänzt/spezifiziert werden muss:

//---

//---

...oder fügen Sie die Möglichkeit der Zwangsbeendigung auch in Indikatoren ein.

Viele Indikatoren in CodeBase verwenden diese Funktion, aber es scheint, dass sie in Indikatoren nicht funktioniert. ))

IsStoped in Indikatoren ist im Forum diskutiert worden. Ich verstehe immer noch nicht, dass IsStoped in den Standardindikatoren vorhanden ist, aber die Verwaltung sagt, es sei nicht notwendig.
 
paladin800:
IsStoped in Indikatoren ist im Forum diskutiert worden. Es ist mir immer noch ein Rätsel, dass IsStoped in den Standardindikatoren enthalten ist, aber die Verwaltung sagt, dass dies nicht der Fall ist.
Ja, ich erinnere mich. Ich hatte kürzlich einen Fall, in dem nach dem Eintritt in eine Endlosschleife und dem Löschen eines Indikators aus einem Diagramm IsStopped() nicht half und die Endlosschleife durch Schließen des Terminals beendet werden musste.
 
tol64:
Ja, ich erinnere mich. Ich hatte kürzlich einen Fall, bei dem nach dem Eintritt in die Dauerschleife und dem Löschen des Indikators aus dem Diagramm IsStopped() nicht half und die Dauerschleife durch Schließen des Terminals beendet werden musste.

IsStopped() wird verwendet, um Schleifen zu bekämpfen - das ist sicher. Seit einiger Zeit wird die "Endlosschleife" nicht mehr durchIsStopped() geheilt und wir müssen den Terminalprozess löschen, um den Betrieb wiederherzustellen. Der Typindikator wird zwar problemlos aus dem Diagramm gelöscht, aber das Diagramm bleibt hängen.

Zum Spaß können Sie einen speziellen Schleifenindikator ausprobieren. Übrigens funktioniert OnDeinit() in einem solchen Fall nicht, wie vorgesehen.

Dateien:
test.mq5  1 kb
 
tol64:

Dann sieht es so aus, als ob die Beschreibung in der Hilfe ergänzt/spezifiziert werden muss:

//---

//---

...oder fügen Sie die Möglichkeit der Zwangsbeendigung auch in Indikatoren ein.

Viele Indikatoren in CodeBase verwenden diese Funktion, aber es scheint, dass sie in Indikatoren nicht funktioniert. ))

Ich denke, das ist erst der Anfang der Geschichte.

Ich verstehe die Gründe für die Aufteilung in Indikatoren und Expert Advisors nicht, als ob der Compiler nicht versteht, was sie dort haben. Ich verstehe auch nicht den Grund für eine solche Einschränkung. Ich hatte früher den Indikatorhandel auf 4. Aber in seiner reinen Form, wenn ich einen Handelsbefehl aufrufe, bleibt der Indikator hängen und ich muss ihn über die Bibliothek umgehen.

 

Guten Tag, liebe MQ!

Es gibt ein paar Fragen:

1. Vor kurzem wurde bekannt, dass es eine API für Alerts geben wird. Vielleicht ist sie schon erschienen, wie kann man sie kennenlernen?

2. wird etwas gegen den Fehler mit dem Schlüsselwort this. unternommen? Danach werden keine Tooltips mit Klassenfunktionsnamen angezeigt. Nochmals: Wann wird das Problem behoben, und wie werden wir rechtzeitig davon erfahren?

Vielen Dank für Ihre Arbeit!

Документация по MQL5: Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this
Документация по MQL5: Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this
  • www.mql5.com
Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this - Документация по MQL5