Fehler, Irrtümer, Fragen - Seite 1987

 
fxsaber:

Eine Menge Einträge. Siehe die Protokolldatei.

"Viele Einträge" ist ein starkes Wort... Die meisten Einträge sind einfach nicht vorhanden. Aber die Frage ist, was genau könnte die Ausgabe in die Protokolldatei verhindern?

Zum Beispiel ein EA, der nicht sehr anspruchsvoll ist:

void OnTick ()
{
  Print (TimeCurrent());
}

Im Modus "Echte Ticks" werden diese Protokolle angezeigt:

2017.09.05 09:38:56.994 Tester EURUSD: Verlaufsdaten beginnen ab 2014.07.29 00:00
2017.09.05 09:38:56.996 Tester EURUSD: Vorläufiges Herunterladen der historischen Ticks hat begonnen, es kann ziemlich lange dauern
2017.09.05 09:38:58.001 Tester EURUSD: Vorläufiges Herunterladen der historischen Ticks abgeschlossen, 35,52 Kb in 0:01.030 (34,48 Kb/sec)
2017.09.05 09:38:58.001 Tester EURUSD: Tickdaten beginnen am 2017.06.01 00:00
2017.09.05 09:38:58.002 Kern 1 Agentenprozess gestartet
2017.09.05 09:38:58.346 Kern 1 verbindet mit 127.0.0.1:3000
2017.09.05 09:38:58.347 Kern 1 verbunden
2017.09.05 09:38:58.350 Kern 1 autorisiert (Agent Build 1653)
2017.09.05 09:38:58.352 Tester EURUSD,M15 (MetaQuotes-Demo): Test von experts\Test.ex5 von 2017.08.30 00:00 bis 2017.08.31 00:00
2017.09.05 09:38:58.404 Kern 1 gemeinsame Synchronisierung abgeschlossen
2017.09.05 09:38:58.455 Core 1 EURUSD: Ticks bereits synchronisiert [43 Bytes]
2017.09.05 09:39:04.609 Kern 1 2017.08.30 00:36:55 2017.08.30 00:36:55
2017.09.05 09:39:10.760 Kern 1 2017.08.30 00:48:27 2017.08.30 00:48:27
2017.09.05 09:39:16.866 Kern 1 2017.08.30 01:02:20 2017.08.30 01:02:20
2017.09.05 09:39:22.976 Kern 1 2017.08.30 01:24:08 2017.08.30 01:24:08
2017.09.05 09:39:27.668 Kern 1 abgekoppelt
2017.09.05 09:39:27.668 Kern 1 Verbindung geschlossen
2017.09.05 09:39:27.681 Tester gestoppt durch Benutzer

Abgesehen davon ist der Tester furchtbar langsam, denn man kann Sprünge von mehreren zehn Minuten sehen...

Maschine auf VPS.

 
Andrey Dik:

"Viele Rekorde" ist ein sehr starkes Wort... Die meisten Einträge sind einfach nicht vorhanden. Aber die Frage ist, was genau könnte die Aufzeichnung verhindern?

Sehen Sie sich die Protokolldatei an.

Zum Beispiel ein EA, der nicht sehr anspruchsvoll ist:

im Modus "Echte Ticks" gibt solche Protokolle aus:

2017.09.05 09:38:56.994 Tester EURUSD: Verlaufsdaten beginnen ab 2014.07.29 00:00
2017.09.05 09:38:56.996 Tester EURUSD: Vorläufiges Herunterladen der History Ticks hat begonnen, es kann recht lange dauern
2017.09.05 09:38:58.001 Tester EURUSD: Vorläufiges Herunterladen der historischen Ticks abgeschlossen, 35,52 Kb in 0:01.030 (34,48 Kb/sec)
2017.09.05 09:38:58.001 Tester EURUSD: Tickdaten beginnen am 2017.06.01 00:00
2017.09.05 09:38:58.002 Kern 1 Agentenprozess gestartet
2017.09.05 09:38:58.346 Kern 1 verbindet mit 127.0.0.1:3000
2017.09.05 09:38:58.347 Kern 1 verbunden
2017.09.05 09:38:58.350 Kern 1 autorisiert (Agent Build 1653)
2017.09.05 09:38:58.352 Tester EURUSD,M15 (MetaQuotes-Demo): Test von experts\Test.ex5 von 2017.08.30 00:00 bis 2017.08.31 00:00
2017.09.05 09:38:58.404 Kern 1 gemeinsame Synchronisierung abgeschlossen
2017.09.05 09:38:58.455 Core 1 EURUSD: Ticks bereits synchronisiert [43 Bytes]
2017.09.05 09:39:04.609 Kern 1 2017.08.30 00:36:55 2017.08.30 00:36:55
2017.09.05 09:39:10.760 Kern 1 2017.08.30 00:48:27 2017.08.30 00:48:27
2017.09.05 09:39:16.866 Kern 1 2017.08.30 01:02:20 2017.08.30 01:02:20
2017.09.05 09:39:22.976 Kern 1 2017.08.30 01:24:08 2017.08.30 01:24:08
2017.09.05 09:39:27.668 Kern 1 abgekoppelt
2017.09.05 09:39:27.668 Kern 1 Verbindung geschlossen
2017.09.05 09:39:27.681 Tester gestoppt durch Benutzer

aber der Tester wird furchtbar langsam, wie man an den Sprüngen im Zehner-Minutenbereich sehen kann...

Bei so vielen Tausenden von Log-Einträgen wird es langsamer.

 
Andrey Dik:

"Viele Rekorde" ist ein sehr starkes Wort... Die meisten Einträge sind einfach nicht vorhanden. Die Frage ist jedoch, was genau könnte die Erfassung behindern?

Zum Beispiel ein EA, der nicht sehr komplex ist:

Im Modus "Echte Zecken" werden diese Protokolle angezeigt:


aber das Testgerät ist furchtbar langsam, wie man an den Sprüngen im Bereich von zehn Minuten sehen kann...

Maschine auf VPS.

Das Überspringen besteht aus einer großen Anzahl von Datensätzen, das Protokoll schneidet die Hälfte von ihnen ab, wenn sie nicht benötigt werden, was den Expert Advisor verlangsamt.

 
fxsaber:

Siehe die Protokolldatei.

So viele Tausende von Log-Einträgen, das ist der Grund, warum es so langsam ist.

Vitaly Muzichenko:

Die Sprünge sind auf die große Anzahl von Einträgen zurückzuführen, von denen das Protokoll unnötigerweise die Hälfte zerhackt, was es ebenfalls langsam macht.

Haben Sie beide das, worüber Sie sprechen, schon einmal ausprobiert?

Auf dem anderen Rechner wird das Protokoll bei jedem Tick ausgegeben, wie es sein sollte, und es gibt keine Verzögerungen, aber auf diesem speziellen Rechner werden nicht alle Protokolle ausgegeben, mit großen Sprüngen und Verzögerungen.

Die Dilettantismus der Tester verblüfft manchmal, kann man nicht benutzerdefinierte Log-Ausgaben (Fehler, Druck, etc.) nach Wahl des Benutzers machen? Wenn es ein Problem mit der Ausgabe von vollständigen Protokollen gibt und der Tester sie abschneidet, warum sagt er dann nicht darüber, wie "Hören Sie, ich kann nicht alle Protokolle ausgeben, nur einige Male, der Grund ......".

Was kann also der Grund für die unvollständige Ausgabe in das Protokoll beim Überspringen sein (nicht beim Schneiden, sondern beim Überspringen)?

 
Andrey Dik:

Haben Sie beide ausprobiert, wovon Sie sprechen?

Auf der anderen Maschine wird das Protokoll bei jedem Häkchen gedruckt, wie es sein sollte, und es gibt keine Bremsen, aber auf dieser Maschine nicht alle.

Ich habe es nicht einfach ausprobiert, sondern nach einem Fehler im Programm gesucht, der nicht vorhanden war. Es stellte sich heraus, dass die Protokolle sehr oft gedruckt wurden und es deshalb zu Auslassungen kam.

 
Vitaly Muzichenko:

Ich habe es nicht einfach ausprobiert, sondern nach einem Fehler im Programm gesucht, der nicht vorhanden war. Es stellte sich heraus, dass die Protokolle sehr oft gedruckt wurden und daher Lücken auftraten.

Nein, Vitaly, im vorherigen Beitrag habe ich es beendet. Auf der anderen Maschine werden die Protokolle ohne Auslassungen bei jedem Häkchen gedruckt, wie es sein sollte.
 
Andrey Dik:
Nein, Vitaly, ich habe es im vorherigen Beitrag beendet. Auf dem anderen Rechner werden die Protokolle ohne Auslassungen bei jedem Tick ausgegeben, so wie es sein sollte.

Nun, vielleicht ist das Betriebssystem unterschiedlich, ich habe win7 x64

 
Vitaly Muzichenko:

Nun, vielleicht ist das Betriebssystem unterschiedlich, ich habe win7 x64

Auf dem Problemrechner Server 2008 ist freier Speicher auf der Festplatte und im RAM vorhanden.

Unter Win 10 64 und Win7 64 werden die Protokolle vollständig und ohne Sprünge angezeigt. Versuchen Sie, EA nur einen Tag lang im "Ticks"- oder "Real Ticks"-Modus laufen zu lassen; wenn es zu Auslassungen kommt, bedeutet dies, dass Sie dasselbe Problem haben wie auf meinem problematischen Rechner. Dies ist ein spezifischer Fehler im Tester; wenn er nicht in der Lage ist, vollständige Protokolle auszugeben, muss er den Benutzer darüber und über den Grund informieren; Protokolle haben keine Bedeutung, wenn sie nicht vollständig sind. Wer braucht schon Protokolle mit Lücken, wie man das Programm debuggen kann?

 
Andrey Dik:

Haben Sie beide das, worüber Sie sprechen, schon einmal ausprobiert?

Auf der anderen Maschine wird der Druck bei jedem Tick protokolliert, wie es sein sollte, und es gibt keine Bremsen, aber auf dieser speziellen Maschine werden nicht alle Protokolle protokolliert, mit großen Auslassungen und Bremsen.

Die Dilettantismus der Tester erstaunt mich manchmal, kann man nicht benutzerdefinierte Log-Ausgaben (Fehler, Druck, etc.) nach Wahl des Benutzers machen? Wenn es ein Problem mit der Ausgabe der vollständigen Protokolle gibt und der Tester sie abbricht, warum sagt er dann nicht etwas wie "Hören Sie, ich kann nicht alle Protokolle ausgeben, nur einige Male, der Grund ......"?

Was könnte also der Grund für die unvollständige Protokollausgabe sein (kein Abschneiden, sondern Überspringen)?

Neben den Testerprotokollen gibt es auch die Protokolle der Testeragenten. Es ist mit Sicherheit alles da
 
Slava:
Neben den Testerprotokollen gibt es auch die Protokolle der Testeragenten. Sie können dort alles finden.


Das stimmt, es gibt sie, hier sind sie:

2017.09.05
2017.09.05 11:42:04:04 Logger-Protokoll wurde bereinigt
2017.09.05 2017.09.05 00:00:00.000 Server MetaTester 5 gestoppt

Es gibt nichts anderes da draußen.

Warum gibt es also keine vollständigen Informationen über die Print()-Funktion in den Testerprotokollen?