Fehler, Irrtümer, Fragen - Seite 2399

 

Das Terminal hängt sich auf, wenn es zu einem anderen Konto wechselt.

Baujahr: 2007, OS: Win7 x64


 
Vitaly Muzichenko:

Das Terminal hängt sich auf, wenn es zu einem anderen Konto wechselt.

Baujahr: 2007, OS: Win7 x64

Ich hatte gehofft, für benutzerdefinierte Zeichen in diesen Situationen, wie ich alles in ihnen haben.

Sie haben sie wahrscheinlich nicht. Dann liegt das Problem woanders.

 
fxsaber:

Wenn Sie versuchen, ein Skript in einer Schleife zu löschen, kann es sein, dass das Terminal für eine Weile einfriert.

Wenn Sie jedoch einen Expert Advisor mit Schleife im Tester ausführen, friert er sofort ein, wenn Sie die Schaltfläche "Stop" drücken.


Warum gibt es in diesen Fällen ein anderes Verhalten?

Wie viel kostet die Schleife? Gibt es eine IsStopped()-Prüfung in der Schleife?

Wenn sich das Terminal aufhängt, bedeutet dies, dass der Schnittstellen-Thread blockiert ist. Das Skript hat 3 Sekunden Zeit, um anzuhalten, und wenn es keine IsStopped()-Prüfung gibt, läuft es weiter, bis es ausdrücklich angehalten wird. Und in diesem Fall kann der Schnittstellen-Thread gesperrt werden.

Ein Tester wird viel schneller aufhören, weil er keine kritischen Funktionen (z. B. Handel) ausführen kann. Außerdem ist der Tester ein separater Prozess, der sich nicht auf das Client-Terminal auswirkt.

 
Slava:

Wie lang ist die Schleife? Gibt es eine IsStopped()-Prüfung in der Schleife?

Ich habe speziell von einem Skript ohne diese Prüfung gesprochen.

Wenn das Terminal hängt, bedeutet dies, dass der Schnittstellen-Thread gesperrt ist. Das Skript hat 3 Sekunden Zeit, um zu stoppen, und wenn es keine Überprüfung von IsStopped() gibt, läuft es weiter, bis es hart gestoppt wird. Und in diesem Fall kann der Schnittstellen-Thread gesperrt werden.

Der Tester wird viel schneller gestoppt, da er keine kritischen Funktionen (z. B. Handel) ausführen kann. Außerdem ist der Tester ein völlig separater Prozess, der sich nicht auf das Client-Terminal auswirkt.

So habe ich festgestellt, dass das harte Anhalten in Tester und Terminal unterschiedlich durchgeführt wird.

 
fxsaber:

Ich habe über die benutzerdefinierten Zeichen in Situationen wie dieser gesündigt, wie ich alles in ihnen haben.

Sie haben sie wahrscheinlich nicht. Dann ist das Problem ein anderes.

Es gibt keine benutzerdefinierten Versionen.

Wenn Sie zwischen den Konten auf demselben Server wechseln, bleibt er für kurze Zeit hängen und das Protokoll zeigt "abnormal terminal" an.

Wenn Sie zwischen verschiedenen Servern (DCs) wechseln, bleibt er lange Zeit hängen.

Wenn man sehr lange auf einem Server arbeitet ohne zu wechseln, z.B. 3-5 Tage, und dann wechselt, dann hängt sich das Terminal auf.

 
Vitaly Muzichenko:


dann bleibt er für kurze Zeit hängen und das Protokoll zeigt "abnormal terminal" an


Bitte geben Sie den vollständigen Protokolleintrag an

 
Slava:

Bitte geben Sie mir den vollständigen Protokolleintrag

Verstehe, das Problem muss auf meiner Seite liegen, und der Fehler kommt von meinem Berater.

EJ      2       08:58:24.000    EA_Trade (EURCAD,H1)    Abnormal termination

Oder?

 
Vitaly Muzichenko:

Verstehe, das Problem muss auf meiner Seite liegen und der Fehler liegt bei meinem Berater.

Oder?

Sieht aus wie ein EA in einer Schleife ohne IsStopped()-Prüfung
 
Slava:
Sieht aus wie ein EA mit Schleifen ohne IsStopped()-Prüfung

Ja, aber nicht in einer Schleife, sondern zeitgesteuert.

Ich werde IsStopped() hinzufügen.

Ich danke Ihnen!

 
Vitaly Muzichenko:

Ja, aber nicht in einer Schleife, sondern zeitgesteuert.

Ich werde IsStopped() hinzufügen.

Ich danke Ihnen!

Wenn OnTimer nicht in einer Schleife läuft, sollte es keinen abnormalen Abbruch geben.

Können Sie Ihren Sachverständigen beauftragen, das Verhalten des Client-Terminals zu überprüfen?