Comment obtenir des informations sur les "erreurs" dans le journal ? - page 3

 
ydrol:

J'espère que je ne suis pas en train d'énoncer une évidence, et je m'excuse si c'est le cas !

Je suppose que tous ceux qui ont répondu ont supposé que vous êtes au courant, mais le journal MT est simplement un certain nombre de fichiers, dont les dernières lignes sont affichées dans l'interface graphique.

Les fichiers (pour le back-testing) se trouvent dans MetaTrader Install Folder/tester/logs.

Vous pouvez les rechercher en utilisant les outils à votre disposition - par exemple, la commande dos Findstr pour extraire les fichiers...

cd MetaTrader Folder/tester/logs

Findstr some_text *.log

Findstr some_text *.log > small_log.txt


Encore une fois, je m'excuse si je dis des choses évidentes et que vous cherchez quelque chose d'autre !


Dans ma première réponse, j'ai demandé : "Le journal ne contient peut-être pas toutes les informations, mais les fichiers journaux ne sont pas supprimés, n'est-ce pas ? ".

J'ai donc supposé qu'il ouvrait effectivement le journal.

Il est possible que ce soit une mauvaise supposition et qu'il essaie de vérifier le journal, pas le journal.

S'il ne le sait pas, vous pouvez accéder au journal en faisant un clic droit dans la fenêtre du journal et en cliquant sur ouvrir. Vous pouvez alors ouvrir le dernier fichier journal ou n'importe lequel.

 
Proximus:

+J'ai l'habitude de faire des backtests avec 5000-7000 trades ou plus, 1 ligne pour l'ordre d'ouverture, 3-4 lignes pour l'ordre de modification, et 1 ligne pour l'ordre de fermeture = soit 6 lignes /trade * 7000 trades = soit ~42000 lignes ou mode et je suis sûr que le journal MT4 n'en garde pas autant :)

Le fichier journal . Vous semblez plus intéressé par le fait de compter les erreurs plutôt que de les trouver et de les corriger, si c'est tout ce que vous voulez faire, il suffit de coder un compteur pour chaque numéro d'erreur et d'incrémenter le compte... Je ne sais pas en quoi cela peut vous aider, mais vous semblez plutôt insistant, alors je vous laisse faire.
 

Pas de problème, je répondais à l'OP. Ils peuvent juste utiliser des outils pour analyser les fichiers journaux ? Sous Linux, grep "some text" *.log | wc -l permet d'obtenir un compte rapide des correspondances, mais je n'ai pas pu trouver rapidement un équivalent intégré à Windows (je passe trop de temps ici :) ),

Maintenant que j'y pense, je soupçonne que powershell a quelque chose...

 
Ovo:

Pas besoin de s'excuser, mais j'ai compris que le PO n'était pas intéressé par la recherche et la correction des erreurs, mais plutôt par leurs statistiques.
En fait, les deux. Je veux d'abord connaître les types d'erreurs qui se produisent, parce que je ne suis pas confiant dans mon code et assez sceptique, donc je veux exclure toutes les erreurs de mon EA. Après avoir des données sur eux, il sera plus facile de les corriger et de les éviter à l'avenir.
ydrol:

Pas de problème, je répondais à l'OP. Ils peuvent juste utiliser des outils pour analyser les fichiers de log ? Sous Linux, grep "some text" *.log | wc -l permet d'obtenir un compte rapide des correspondances, mais je n'ai pas pu trouver rapidement un équivalent intégré dans Windows (je passe trop de temps ici :) ),

Maintenant que j'y pense, je pense que Powershell a quelque chose...

Je pense que vous êtes à fond dans cette histoire de recherche de fichiers, quand je vous ai dit qu'il n'y a pas besoin de cela, c'est une solution aussi, mais c'est la "manière dure".Un bon programmeur doit trouver la manière optimale d'abord.Donc nous devons chercher à l'intérieur du code quand il est encore possible de l'obtenir, donc dans le journal, parce que le journal est trop grand dans mon cas.Si j'allais utiliser la "recherche" dans le bloc-notes, il me faudrait des années pour trouver toutes les erreurs et leurs détails spécifiques.

J'ai aussi oublié de mentionner dans le premier post que j'ai besoin de voir les lignes voisines dans le journal aussi, parce que j'ai ajouté quelques "Print()" qui vont imprimer certaines données clés comme la valeur actuelle des indicateurs, SL, TP et il va les montrer joliment dans le journal/log mais je dois voir l'erreur aussi associée à ces données, donc par exemple si j'attrape un SL avec la valeur 0 alors je saurai que cette erreur est à cause de cela.

Donc après une grande recherche et une plongée dans le langage mql4, j'ai trouvé ceci :

GetLastError();

Je pense que la solution dont j'ai besoin se trouve dans cette fonction. J'ai lu la documentation à son sujet, et elle est assez courte. Quelqu'un peut-il m'aider à l'utiliser ou à l'expliquer plus en détail ?

 
Proximus:

Donc après une grande recherche et une plongée dans le langage mql4, j'ai trouvé ceci :

Je pense que la solution dont j'ai besoin se trouve dans cette fonction. J'ai lu la documentation à son sujet, et elle est assez courte. Quelqu'un peut-il m'aider à l'utiliser ou à l'expliquer plus en détail ?

 
Eh bien, je pense que nous avons tous supposé que vous cherchiez des impressions de GetLastError() ;
 
GumRai:
Eh bien, je pense que nous avons probablement tous supposé que vous recherchiez des impressions de GetLastError() ;
Oui mais j'ai besoin de construire un testeur qui teste les erreurs et les regroupe par type et les compte si c'est possible.quelqu'un peut-il m'expliquer plus en détail comment utiliser cette fonction dans un codage avancé ?
 
Proximus:
Oui mais j'ai besoin de construire un testeur qui teste les erreurs et les regroupe par type et les compte si c'est possible.quelqu'un peut-il m'expliquer plus en détail comment utiliser cette fonction dans un codage avancé ?

Quelles sont les valeurs de retour des fonctions ? Comment puis-je les utiliser ?

Comment puis-je contrôler la sortie de débogage dans le journal?

 
Proximus:

Je pense que vous êtes à fond dans cette histoire de recherche de fichiers, quand je vous ai dit qu'il n'y avait pas besoin de cela, c'est une solution aussi, mais c'est la "manière dure". un bon programmeur doit d'abord trouver la manière optimale.


Un bon programmeur utilise les bons outils pour le travail. Le journal est un fichier texte. Il existe des milliards d'outils permettant d'effectuer des recherches dans le fichier texte, de compter les lignes et d'afficher le contexte et les lignes voisines si vous le souhaitez. Ils existent depuis des années. Je parie que certains ont même une interface graphique de type pointer-cliquer que vous aimeriez utiliser.

Un bon programmeur ne programmerait pas quelque chose sans y être obligé (sauf par curiosité).

D'abord vous dites aux programmeurs à quel point votre code de ligne de tendance est simple malgré le manque d'information, maintenant vous écartez la manière la plus simple de rechercher des fichiers texte comme étant la manière difficile... ?

Bonne chance avec ça !

 

Merci pour cette information qui semble intéressante.


ydrol:

Un bon programmeur utilise les bons outils pour son travail. Le journal est un fichier texte. Il existe des milliards d'outils pour rechercher dans le fichier texte, compter les lignes et afficher les lignes contextuelles ou voisines si vous le souhaitez. Ils existent depuis des années. Je parie que certains ont même une interface graphique de type pointer-cliquer que vous aimeriez utiliser.

Un bon programmeur ne programmerait pas quelque chose quand il n'est pas obligé de le faire (sauf par curiosité).

D'abord vous dites aux programmeurs à quel point votre code de ligne de tendance est simple malgré le manque d'information, maintenant vous écartez la manière la plus simple de rechercher des fichiers texte comme étant la manière difficile... ?

Bonne chance avec ça !


Vous avez des points intéressants.Ok peut-être que ce n'est pas si simple mais c'est confortable et ça éveille votre curiosité.Et aussi j'aime programmer des trucs, c'est à cause de la paresse, c'est mieux si un bot fait le travail difficile.C'est leur but il remplace le travail humain.
Raison: