Wie erhält man "Fehler"-Informationen aus dem Journal? - Seite 2

 
GumRai:


Ich habe bereits ein paar Beiträge weiter hinten ein Beispiel gegeben, das du abgelehnt hast.

Stellen Sie sicher, dass print() im Fehlerfall eine leicht identifizierbare Zeichenfolge enthält.

Wenn Sie dann die Protokolldatei öffnen, verwenden Sie edit/find, um diese Zeichenfolge zu finden, so dass Sie gleichzeitig den Fehlerbericht finden.


GumRai:
Wenn Sie wissen, dass Sie viele Einträge in der Protokolldatei haben werden, die Sie sortieren müssen, kann es eine Idee sein, etwas wie "xyz" in die print() zu schreiben und dann Edit/Find zu verwenden, um die Druckanweisungen zu finden

Das Problem ist nicht, dass ich den Fehler nicht sehen kann, sondern die Tatsache, dass es über 10.000 Journaleinträge gibt, und Sie wollen, dass ich manuell in allen Einträgen suche? + Der Fehler zeigt Dinge wie Fehlercode 1, Fehlercode 2, wie denken Sie, dass ich diese in irgendeiner Form mit einem Textbezeichner in Verbindung bringen werde.Die Lösung wäre, wie ich sagte, wie 2 mal jetzt, irgendeine Art von Code, der prüft, ob ein Fehler passiert ist und drucken, dass das Journal, oder besser, wenn mehrere Fehler passiert zählen, wie many.I dont wissen, ob so etwas möglich ist, dass ist, warum ich frage, ich schätze, ich war nicht sehr klar mit der Spezifizierung mein Problem oder idk, aber jede Hilfe wird geschätzt werden :) .

 
Proximus:

Das Problem ist nicht, dass ich den Fehler nicht sehen kann, sondern die Tatsache, dass es über 10.000 Journaleinträge gibt und ich sie alle manuell durchsuchen soll. + Der Fehler zeigt Dinge wie Fehlercode 1, Fehlercode 2, wie denken Sie, dass ich diese in irgendeiner Form mit einem Textbezeichner in Verbindung bringen werde.Die Lösung wäre, wie ich sagte, wie 2 mal jetzt, irgendeine Art von Code, der prüft, ob ein Fehler passiert ist und drucken, dass das Journal, oder besser, wenn mehrere Fehler passiert zählen, wie many.I dont wissen, ob so etwas möglich ist, dass ist, warum ich frage, ich schätze, ich war nicht sehr klar mit der Spezifizierung mein Problem oder idk, aber jede Hilfe wird geschätzt werden :) .


Wie suchen Sie manuell, wenn Sie Bearbeiten/Suchen verwenden?

Wenn Sie 10.000 Einträge haben und eine bestimmte Zeichenkette nur 3 Mal vorkommt, braucht es 3 Mausklicks, um sie zu finden.

Wenn Sie nur an Einträgen interessiert sind, die das Wort "Fehler" enthalten, dann verwenden Sie find, um das Wort "Fehler" zu finden

 
GumRai:


Wie suchen Sie manuell, wenn Sie Bearbeiten/Suchen verwenden?

Wenn Sie 10.000 Einträge haben und eine bestimmte Zeichenfolge nur 3 Mal vorkommt, sind 3 Mausklicks nötig, um sie zu finden.

Wenn Sie nur an Einträgen interessiert sind, die das Wort "Fehler" enthalten, dann verwenden Sie find, um das Wort "Fehler" zu finden.

1) Ja, das ist der Grund, warum ich das Ganze automatisieren muss. Ich bin mir sicher, dass man mit mq4 einen kleinen Code entwickeln kann, der dies innerhalb des EAs erledigt.

2) Das spielt keine Rolle.

3) Was ist, wenn es etwa 900 Fehlerprotokolle gibt? Was ist, wenn ich verschiedene Arten von Fehlern gruppieren möchte, z.B. wenn ich Fehler Nr. 1 und Fehler 4056 erhalte, da Fehler Nr. 1 nicht so ein schlimmer Fehler ist, aber er liegt versteckt in den vielen vielen Fehler Nr. 1 Strings.

In der Tat lassen Sie uns meine Anfrage ändern, weil ich sehe, dass Sie es nicht verstehen, was ich frage.Also meine neue Anfrage ist, wie verschiedene Arten oder Fehler aus dem Journal zu zählen?

Beispiel: Fehler Nr. 1 x 10 Stück

Fehler Nr. 4056 x 200 Stück

Fehlernr. 4020 x 500 Stück

Wie dies, wie es geschehen, für die EA, mir zu zeigen, wie viele Fehler von einem bestimmten Typ passiert sind?

 
Proximus:

1) Ja, das ist der Grund, warum ich das Zeug automatisieren muss. Ich bin mir sicher, dass mq4 Ihnen erlaubt, einen kleinen Code zu entwickeln, der dies innerhalb des EAs tun kann.

2) Das spielt keine Rolle.

3) Was ist, wenn es etwa 900 Fehlerprotokolle gibt? Was ist, wenn ich verschiedene Arten von Fehlern gruppieren möchte, z.B. wenn ich Fehler Nr. 1 und Fehler 4056 erhalte, da Fehler Nr. 1 nicht so ein schlimmer Fehler ist, aber er liegt versteckt in den vielen vielen Fehler Nr. 1 Strings.

Ich ändere meine Anfrage, weil ich sehe, dass ihr nicht versteht, worum es mir geht, und meine neue Anfrage lautet: Wie kann man verschiedene Arten von Fehlern im Journal zählen?

Beispiel: Fehler Nr. 1 x 10 Stück

Fehler Nr. 4056 x 200 Stück

Fehler Nr. 4020 x 500 Stück

Wie kann ich also erreichen, dass der EA mir anzeigt, wie viele Fehler eines bestimmten Typs aufgetreten sind?

Wenn Sie einen Fehler haben, beheben Sie ihn ... wenn Sie viele haben, beheben Sie sie alle ... wenn Sie 2000 Fehler in Ihrem Protokoll haben, haben Sie ernsthafte Probleme, es gibt keinen Grund zu suchen, beheben Sie alle Fehler, die Sie haben.
 
RaptorUK:
Wenn Sie einen Fehler haben, beheben Sie ihn ... wenn Sie viele haben, beheben Sie sie alle ... wenn Sie 2000 Fehler in Ihrem Protokoll haben, haben Sie ernsthafte Probleme, es gibt keinen Grund zu suchen, beheben Sie alle Fehler, die Sie haben.

Ja, das ist der Punkt, nachdem alle, aber Sie wissen, wenn Sie 2000 Trades in log es immer spams es voll mit Auftrag Änderung/Schließen/Eröffnung Daten, und Sie können kaum sehen, die Fehlermeldung zwischen all den nutzlosen spam.Thats, warum ich brauchen, um somekind der Fehler-Catcher-Code, der mich benachrichtigen würde, wenn sogar 1 Fehler erschienen ist zu entwickeln.
 
Proximus:
Ja, das ist der Punkt, nachdem alle, aber Sie wissen, wenn Sie 2000 Trades im Protokoll haben es immer spams es voll mit Auftrag Änderung/Schließen/Öffnung Daten, und Sie können kaum sehen, die Fehlermeldung zwischen all dem nutzlosen spam.Thats, warum ich brauchen, um somekind der Fehler-Catcher-Code zu entwickeln, die mich benachrichtigen würde, wenn sogar 1 Fehler erschienen ist.

Nein, geben Sie einfach Print("MyEANameError: ", Error, . . . . . ) aus und suchen Sie dann nach MyEANameError und Sie werden alle Ihre Fehler finden.
 

Proximus scheint Raptor einfach nicht zu verstehen.

Ich habe diesen Testcode geschrieben

 for(int line=1;line<=10000;line++)
      {
      if(line==5000)
         {
         Print("HeeHee, I'm line number 5,000 - you'll never find me!");
         continue;
         }
      Print("This is line ",line);
      }

Ich habe jetzt also ein Protokoll mit 10.000 Zeilen Print()

Wenn ich Edit/Find verwende, wird HeeHee in keiner anderen Zeile des Codes erscheinen

und klicke eine Millisekunde später einfach auf find next

So einfach ist es, wenn man den Standard-Notepad verwendet

 
Mann, Sie verstehen mich wirklich nicht
Proximus:

1) Ja, das ist der Grund, warum ich das Zeug automatisieren muss. Ich bin mir sicher, dass mq4 Ihnen erlaubt, einen kleinen Code zu entwickeln, der dies innerhalb des EAs tun kann.

2) Das spielt keine Rolle.

3) Was ist, wenn es etwa 900 Fehlerprotokolle gibt? Was ist, wenn ich verschiedene Arten von Fehlern gruppieren möchte, z.B. wenn ich Fehler Nr. 1 und Fehler 4056 erhalte, da Fehler Nr. 1 nicht so ein schlimmer Fehler ist, aber er liegt versteckt in den vielen vielen Fehler Nr. 1 Strings.

In der Tat lassen Sie uns meine Anfrage ändern, weil ich sehe, dass Sie es nicht verstehen, was ich frage, also ist meine neue Anfrage, wie man verschiedene Arten von Fehlern im Journal zählen kann?

Beispiel: Fehler Nr. 1 x 10 Stück

Fehler Nr. 4056 x 200 Stück

Fehler Nr. 4020 x 500 Stück

Wie kann ich es schaffen, dass der EA mir anzeigt, wie viele Fehler eines bestimmten Typs aufgetreten sind?

Ich möchte wissen, wie viele es sind und welche Arten von Fehlern es gibt, weil es einfacher ist, die Fehler Typ für Typ zu zählen, als im Notizblock zu suchen. Stellen Sie sich eine Situation vor, in der es 10 Fehler gibt und 10 verschiedene, die sich zwischen den Zeilen verstecken, oder es gibt Hunderte von Fehlern, von denen jeder anders ist, wenn ich also nach, sagen wir, Fehler Nr. 4025 suche, wie kann ich wissen, dass es auch einen Fehler Nr. 4000 gibt? Ist es nicht einfacher, wenn es eine Zählmaschine gäbe, die alle Fehler gruppiert nach Typ zählt und gelegentlich ausdruckt.

+10.000 Zeilen sind nicht genug, ich bin mir nicht sicher, wie viele davon der MT4 speichert, aber ich bin mir sicher, dass es nicht genug für mich ist. Ich mache normalerweise Backtests mit 5000-7000 Trades oder mehr, 1 Zeile für Orderopen, 3-4 Zeilen für Trailstops, Ordermodify und 1 Zeile für Orderclose =das sind 6 Zeilen/Trade * 7000 Trades =das sind ~42000 Zeilen oder Modus und ich bin mir sicher, dass das MT4 Journal nicht so viele speichert :)

Also ja, die Zählmethode wäre effektiver!

RaptorUK:
Nein, geben Sie einfach Print("MyEANameError: ", Error, . . . . ) aus und suchen Sie dann nach MyEANameError und Sie finden alle Ihre Fehler...

Das ist auch nicht die Lösung, was ist in der Variable "Error"? Und wie kann man testen, ob ein Fehler aufgetreten ist? Und vielleicht, wenn möglich, wie man verschiedene Arten von Fehlern unterscheiden kann? Mit Code natürlich.danke!
 

Ich hoffe, ich sage nicht das Offensichtliche, und entschuldige mich, wenn ich es tue!

Ich vermute, dass alle, die mir geantwortet haben, davon ausgegangen sind, dass Sie es wissen, aber das MT-Journal ist einfach eine Reihe von Dateien, eine pro Tag, von denen die letzten paar Zeilen der letzten Datei in der GUI angezeigt werden.

Die Dateien (für Backtests) befinden sich im MetaTrader-Installationsordner/tester/logs

Sie können sie mit allen Ihnen zur Verfügung stehenden Tools durchsuchen - z.B. mit dem Dos-Befehl Findstr, um die Dateien zu extrahieren...

cd MetaTrader Folder/tester/logs

Findstr some_text *.log

Findstr some_text *.log > small_log.txt


Nochmals: Bitte entschuldigen Sie, wenn ich das Offensichtliche ausspreche und Sie eigentlich etwas anderes suchen!?

 
ydrol:

Nochmals: Bitte entschuldigen Sie, wenn ich das Offensichtliche ausspreche und Sie in Wirklichkeit etwas anderes suchen!?


Sie brauchen sich nicht zu entschuldigen, aber ich habe verstanden, dass OP nicht daran interessiert war, Fehler zu finden und zu beheben, sondern eher an ihren Statistiken.