Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL5 (http://www.expert-advisor.com/forum/forumdisplay.php?f=221)
-   -   Logging in MT5 (http://www.expert-advisor.com/forum/showthread.php?t=7110)

FunThomas 07.11.21 11:30

Logging in MT5
 
Hi Leute,

gibt es in MT5 eine Möglichkeit den Standard Journal-Log bei jedem Run zu löschen?

Bei MT4 konnte ich im MT auf Journal löschen klicken und dann nen neuen Test starten und hatte ein Log nur für den Lauf.

Bei MT5 wenn ich dort löschen klicke wird nur im GUI von MT5 gelöscht aber in der Log vom Agent angehangen :-( was echt nervig ist wenn man jedesmal nen Anfang suchen muss

Gibts da irgendwie ne Lösung wie man für jeden Testlauf nen eigenen Log bekommt?

Danke im Voraus,
Thomas

AVT 07.11.21 21:28

Also nur mal so kurz aus dem Bauch geschossen, wäre mein Vorgehen so:
Nachsehen nach welchem Schema die Logdatei benannt wird.
(Wenns nicht gleich ersichtlich ist, einfach mal ein paar kurze Tests mit anderen Symbolen/Zeiten machen.)
Dann in OnInit: wenn Datei schon existiert, FileMove mit evtl. angehängter Uhrzeit.
Danach sollte er eigentlich für den neuen Lauf wieder mit dem alten Schemanamen beginnen.

Nur so eine Idee.AVT

FunThomas 08.11.21 11:02

Also ich habe mir mal das Beispiel von der Hilfe kopiert aber irgendwie scheitert
if(FileIsExist(src_path))
bei mir schon.

Wenn ich mir src_path ausgeben lassen und den Text in einen Editor kopiere und darunter den Pfad der Log Datei aus dem Total Commander kopiere
sind die beiden Zeilen identisch und enthalten keine Leerzeichen.

Die Logdatei läßt sich aber auch nicht manuell löschen, da sie noch vom Strategietester genutzt und nicht freigegeben wird.

Das ist irgendwie echt blöd gemacht. Ich habe mir jetzt im OnInit ne Print Ausgabe gemacht nach der ich suchen kann und einfacher den Anfang finde.

Ich werde wohl doch eher auf nen komplett eigenes Logfile setzen müssen.
An der Stelle ist MT5 ein totaler Rückschritt :-(

Ca$hDigger 08.11.21 20:59

Naja dann lösch die Datei bevor MT5 geöffnet wird.
zB einfach ein VBScript oder so das tut hintereinander:
- lösche log
- öffne MT5
Statt MT5 startest du dann einfach das Script was MT5 öffnet und vorher das log gelöscht hat.

FunThomas 08.11.21 21:42

Eigentlich hatte ich auf eine elegante Lösung direkt in MT5 gehofft ohne dass ich MT5 beende dann Datei löschen und nächsten Testlauf starten dann wieder Mt5 beenden ...

Aber anscheinend stört das nicht so viele wie mich ;-)

schöne Grüße,
Thomas

Ca$hDigger 08.11.21 23:46

Das während MT läuft, so eine Datei die MT füttert nicht freigegeben ist, macht als Schutzmechanismus aus MT5 Sicht ja schon Sinn bzw ich würde es jetzt nicht dem Programm zum Vorwurf machen dass es versucht Datenkorruption zu unterbinden ;)
Der einfachste Weg ist sicherlich die Datei einfach vor oder nach öffnen von MT5 verschwinden zu lassen dann gibts auch keine möglichen konkurrierenden Zugriffe.


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:37 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum