Fehler, Irrtümer, Fragen - Seite 2811

 
fxsaber:

Können Sie ein Programm eines Drittanbieters vorschlagen, das CPU-Freezes überwachen kann?

Ich möchte diese Hypothese des MT5-Bremsens im realen Betrieb ausschließen (oder bestätigen).

Wie genau soll ich überwachen? Der beste Weg, den aktuellen Verlauf eines Prozesses zu sehen, ist ProcessExplorer.

 
Stanislav Korotky:

Wie genau wird sie überwacht? Für jeden Prozess zeigt ProcessExplorer am besten einen aktuellen Verlauf an.

Ich sehe, dass eine Funktion in MQL für Dutzende oder Hunderte von Millisekunden ausgeführt wurde, obwohl es nur eine sein sollte. Ich möchte wissen, ob in diesem Moment alles auf dem Rechner eingefroren ist oder ob es sich um ein MT5-Problem handelt.

 
fxsaber:

Ich sehe, dass eine Funktion in MQL für Dutzende oder Hunderte von Millisekunden läuft, obwohl sie nur eine Sekunde laufen sollte. Ich möchte verstehen, wenn in diesem Moment alles auf der Maschine eingefroren oder es ist ein Problem der MT5.

Offenbar muss das Programm wissen, wie es mit dem Timer umzugehen hat, und wenn die Zeit von der Abschaltung bis zur Abschaltung länger ist, wird das gesamte System eingefroren. Die Server verfügen über einen solchen Watchdog, es kann sich dabei um eine Software handeln, aber normalerweise werden die Server in einem solchen Fall neu gestartet.

 

Richtlinie a la:

#property tester_file "abc.csv"

funktioniert nicht mehr - Datei existiert, wird aber nicht an die Agenten gesendet. In den Protokollen sind keine Fehler zu finden. Gab es ein solches Problem?

PS. Neu gebootet, indem man es unter dem Debugger ausführt. Die Datei begann sich zu sammeln. Wunderbar.

 
fxsaber:

Ich sehe, dass eine Funktion in MQL für Dutzende oder Hunderte von Millisekunden läuft, obwohl sie nur eine Sekunde laufen sollte. Ich möchte verstehen, ob in diesem Moment alles auf der Maschine eingefroren oder es war ein Problem mit MT5.

Versuchen Sie, die Priorität der MT5-Prozesse auf das Maximum zu erhöhen. Anhand der Ergebnisse (Einfrieren verschwindet oder bleibt) können Sie das beurteilen.

Stellen Sie außerdem sicher, dass alle wichtigen Hardwaretreiber auf dem neuesten Stand sind.

 
fxsaber:

Können Sie ein Programm eines Drittanbieters vorschlagen, das CPU-Freezes überwachen kann?

Ich möchte diese Hypothese des MT5-Bremsens im realen Betrieb ausschließen (oder bestätigen).

LatencyMon ist einen Versuch wert

 
Fehler bei der Ausführung:
enum E {
        e1 = 0,
        e2 = 1,
        e3 = 0
};
void OnStart()
{
        Print( "\"", EnumToString(e3), "\"" );
}

Ergebnis: "e1"

Erwartet: "e3".

Es ist zumindest nicht klar, warum e1 besser ist als e3
 
A100:
Fehler bei der Ausführung:

Ergebnis: "e1"

Erwartet: "e3".

Zumindest ist nicht klar, warum e1 besser ist als e3
Es ist auch nicht klar, warum e3 besser ist. Die Situation ist in jedem Fall strittig.
 
Alexey Navoykov:
Auch e3 ist nicht besser. Die Situation ist in jedem Fall strittig.

In diesem Fall ist es zumindest besser, wenn es ausdrücklich erwähnt wird

EnumToString(e3)

Wenn es mehrere Lösungen gibt und alle gleichwertig sind, müssen entweder alle durch "E::e1:e3" (alle Bezeichner) dargestellt werden, oder der Fehler, der auftritt, wenn keine Lösung besser ist als eine andere "E::0" (Wert anstelle des Bezeichners)

 
fxsaber:

Schauen Sie sich das Thema OS für Audio an. Beim Aufbau eines PC-basierten Audiosystems wird viel Wert auf Bitperfektion gelegt. Dies gilt insbesondere für den Systemzeitgeber und die Prozessprioritäten. Spezielle minimalistische OS-Builds werden erstellt, um eine minimale Anzahl von Prozessen zu belassen, WLAN und andere unnötige Geräte zu deaktivieren, die Priorität des Players zu erhöhen, die maximale Timer-Frequenz einzustellen, usw. usw.

DPC-Latenzzeit-Prüfung