Fehler, Irrtümer, Fragen - Seite 383

 

Mein Expert Advisor fängt irgendwann an, sich daneben zu benehmen, eine Meldung erscheint im Log, wenn er aus dem Chart entfernt wird:

Abnormale Beendigung

DieFunktion OnDeinit ist leer. Was bedeutet diese Meldung?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
molotkovsm:

Mein Expert Advisor fängt irgendwann an, sich daneben zu benehmen, eine Meldung erscheint im Log, wenn er aus dem Chart entfernt wird:

Abnormale Beendigung

DieFunktion OnDeinit ist leer. Was bedeutet diese Meldung?

Dass es eine Schleife ist ... oder etwas Ähnliches...
 
AlexSTAL:
Dass er fixiert ist... oder so ähnlich...
Was könnte es sonst sein? Es ist nur so, dass jeder Tick des Kurses angezeigt wird, mit den Ausführungszeiten von Codeabschnitten mit Schleifen scheint alles in Ordnung zu sein.
 
molotkovsm:
Was kann sonst noch so alles passieren? Es ist nur so, dass jeder Tick eines Kurses angezeigt wird, mit der Ausführungszeit von Codeabschnitten mit Schleifen scheint alles in Ordnung zu sein.
Bei mir wurde Abnormal termination angezeigt, als ich eine Aufgabe startete, die umfangreiche Berechnungen erforderte, und das Terminal unwissentlich neu startete. Als ich das Terminal für etwa 15-20 Minuten "allein" arbeiten ließ, erschienen die gewünschten Ergebnisse.
 

Build 439, 441, Win XP 32-bit OS. Schaltet Agenten mit der Meldung "Zu langsamer Agent..." aus. Der letzte Build, der meiner Meinung nach gut funktioniert hat, war 425.

Der Agent ist zu langsam...

 
Yedelkin:
Ich hatte eine abnormale Beendigung, als ich eine Aufgabe startete, die umfangreiche Berechnungen erforderte, und das Terminal unwissentlich neu startete. Als ich das Terminal für etwa 15-20 Minuten "allein" arbeiten ließ, erschienen die gewünschten Ergebnisse.

Fügen Sie in großen Schleifen IsStopped() als Ausstiegsbedingung hinzu.

 
MONTEGRO:

Build 439, 441, Win XP 32-bit OS. Schaltet Agenten mit der Meldung "Zu langsamer Agent..." aus. Der letzte Build, der meiner Meinung nach gut funktioniert hat, war 425.

Haben Sie nur lokale Vertreter?

Dies wird in Kürze nachgeholt werden.

 
stringo:

Haben Sie nur lokale Vertreter?

Nein, das passiert auch bei entfernten Personen.

stringo:

Diese Situation wird in naher Zukunft behoben werden

Wäre es nicht toll, wenn Sie einen benutzerkonfigurierbaren Parameter für die durchschnittliche Zeit, die ein Agent als zurückgeblieben gilt, freigeben würden?

 
MONTEGRO:

Nein, das passiert auch bei entfernten Personen.

Es wäre toll, wenn es einen vom Benutzer konfigurierbaren Parameter für die durchschnittliche Zeit gäbe, ab der ein Agent als langsam gilt.

Das ist die Idee mit lokal und remote. Wenn es sich nur um lokale Agenten handelt, wird die Langsamkeitsprüfung deaktiviert.

Wir werden keinen benutzerdefinierten Parameter einführen. Wir werden den Algorithmus zur Erkennung langsamer Agenten verbessern.

Wenn die Meldung "slow agent failed" erscheint, bedeutet dies, dass der langsame Agent den Auftrag, den er gerade ausführt, dupliziert und an einen anderen Agenten weitergegeben hat. Und dieser andere Agent erledigte die duplizierte Aufgabe vor dem "langsamen Agenten" (wobei zu berücksichtigen ist, dass die Aufgaben nicht parallel, sondern mit einer erheblichen Verzögerung verteilt wurden). Der "langsame" Agent ist also tatsächlich zu langsam, und er wurde für eine Weile aus dem Weg geräumt.

 
stringo:

In großen Schleifen IsStopped() als zusätzliche Exit-Bedingung hinzufügen

Ganz genau! Sie verwenden diese Funktion häufig in Ihrer Standardbibliothek - jetzt beginne ich, ihren praktischen Wert zu verstehen. Danke.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5