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

 
GumRai:


J'ai déjà donné un exemple il y a quelques messages, que vous avez rejeté.

Assurez-vous que le print() lorsqu'il y a une erreur inclut une chaîne de caractères facilement identifiable.

Ensuite, lorsque vous ouvrez le fichier journal, utilisez edit/find pour localiser cette chaîne, donc en même temps trouve le rapport d'erreur.


GumRai:
Si vous savez que vous aurez beaucoup d'entrées à trier dans le fichier journal, il peut être judicieux de mettre quelque chose comme "xyz" dans le print() et d'utiliser ensuite Edit/Find pour localiser les instructions d'impression.

Le problème n'est pas que je ne peux pas voir l'erreur, c'est le fait qu'il y a plus de 10.000 entrées de journal, vous voulez que je cherche manuellement dans toutes ces entrées ? + Le problème n'est pas de voir l'erreur, c'est le fait qu'il y a plus de 10.000 entrées de journal, vous voulez que je cherche manuellement dans toutes les entrées, et comment un "xyz" aléatoire va s'associer avec le code d'erreur.La solution serait, comme je l'ai dit 2 fois maintenant, une sorte de code qui vérifie si une erreur s'est produite et l'imprime dans le journal, ou mieux, si plusieurs erreurs se sont produites de compter combien.Je ne sais pas si une telle chose est possible c'est pourquoi je demande, je suppose que je n'étais pas très clair avec la spécification de mon problème ou idk, mais toute aide sera appréciée :) .

 
Proximus:

Le problème n'est pas que je ne peux pas voir l'erreur, c'est le fait qu'il y a plus de 10.000 entrées de journal, vous voulez que je cherche manuellement dans toutes ces entrées ? + Le problème n'est pas de voir l'erreur, c'est le fait qu'il y a plus de 10.000 entrées de journal, vous voulez que je cherche manuellement dans toutes les entrées, et comment un "xyz" aléatoire va s'associer avec le code d'erreur.La solution serait, comme je l'ai dit 2 fois maintenant, une sorte de code qui vérifie si une erreur s'est produite et l'imprime dans le journal, ou mieux, si plusieurs erreurs se sont produites compter combien.Je ne sais pas si une telle chose est possible c'est pourquoi je demande, je suppose que je n'étais pas très clair avec la spécification de mon problème ou idk, mais toute aide sera appréciée :) .


Comment faites-vous pour effectuer une recherche manuelle alors que vous utilisez la fonction Édition/Recherche ?

Si vous avez 10 000 entrées et qu'une chaîne particulière n'apparaît que 3 fois, il faudra 3 clics de souris pour les localiser.

Si vous n'êtes intéressé que par les entrées qui contiennent le mot "erreur", utilisez find pour localiser le mot "erreur".

 
GumRai:


Comment faites-vous la recherche manuellement quand vous utilisez Edit/find ?

Si vous avez 10 000 entrées et qu'une chaîne particulière n'apparaît que 3 fois, il faudra 3 clics de souris pour les localiser.

Si vous n'êtes intéressé que par les entrées qui contiennent le mot "erreur", utilisez find pour localiser le mot "erreur".

1) Oui, c'est pourquoi j'ai besoin d'automatiser les choses, je suis sûr que mq4 vous permet de développer un petit code qui peut faire cela dans l'EA.

2) Cela n'a pas d'importance.

3) Et s'il y a environ 900 journaux d'erreurs ? Si je veux regrouper différents types d'erreurs, par exemple si j'ai l'erreur n° 1 et l'erreur 4056, puisque l'erreur n° 1 n'est pas si grave, mais elle est cachée dans les nombreuses chaînes d'erreurs n° 1, comment les compter ?

En fait, changeons ma demande parce que je vois que vous ne comprenez pas ce que je demande. Donc ma nouvelle demande est comment compter les différents types d'erreurs du journal ?

Ex : erreur nr .1 x 10 pièces

erreur nr. 4056 x 200 pièces

erreur nr. 4020 x 500 pièces

Par exemple, comment faire pour que l'EA me montre combien d'erreurs se sont produites pour un certain type ?

 
Proximus:

1) Oui, c'est pourquoi j'ai besoin d'automatiser les choses, je suis sûr que mq4 vous permet de développer un petit code qui peut faire cela dans l'EA.

2) Cela n'a pas d'importance.

3) Et s'il y a environ 900 journaux d'erreurs ? Si je veux regrouper différents types d'erreurs, par exemple si j'ai l'erreur n° 1 et l'erreur 4056, puisque l'erreur n° 1 n'est pas si grave, mais elle est cachée dans les nombreuses chaînes d'erreurs n° 1, comment les compter ?

En fait, changeons ma demande parce que je vois que vous ne comprenez pas ce que je demande. Donc ma nouvelle demande est comment compter les différents types d'erreurs dans le journal ?

Ex : erreur nr .1 x 10 pièces

erreur nr. 4056 x 200 pièces

erreur nr. 4020 x 500 pièces

Par exemple, comment faire pour que l'EA me montre combien d'erreurs se sont produites pour un certain type ?

Si vous avez une erreur, corrigez-la... si vous en avez plusieurs, corrigez-les toutes... si vous avez 2000 erreurs dans votre journal, vous avez de sérieux problèmes, il n'est pas nécessaire de chercher, corrigez toutes les erreurs que vous avez.
 
RaptorUK:
Si vous avez une erreur, corrigez-la... si vous en avez plusieurs, corrigez-les toutes... si vous avez 2000 erreurs dans votre journal, vous avez de sérieux problèmes, il n'est pas nécessaire de chercher, corrigez toutes les erreurs que vous avez.

Oui, c'est le but après tout, mais vous savez, quand vous avez 2000 transactions dans le journal, il est toujours rempli de données de modification/fermeture/ouverture d'ordre, et vous pouvez à peine voir le message d'erreur entre tous ces spams inutiles, c'est pourquoi j'ai besoin de développer une sorte de code de capture d'erreur qui me notifierait si même une erreur est apparue.
 
Proximus:
Oui, c'est le but après tout, mais vous savez, quand vous avez 2000 transactions dans le journal, il est toujours rempli de données de modification, de fermeture et d'ouverture d'ordre, et vous pouvez à peine voir le message d'erreur entre tous ces spams inutiles.

Non, il suffit de Print("MyEANameError : ", Error, . . . . ) puis de rechercher MyEANameError et vous trouverez toutes vos erreurs . . . .
 

Proximus ne semble pas comprendre Raptor.

J'ai écrit ce code de test

 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);
      }

J'ai donc maintenant un journal avec 10 000 lignes de Print().

En utilisant Edit/Find, HeeHee ne va apparaître dans aucune autre ligne de code

et en cliquant simplement sur find next, une milliseconde plus tard

C'est aussi simple que cela, il suffit d'utiliser le Bloc-notes par défaut.

 
Mec, tu ne me comprends vraiment pas
Proximus:

1) Oui, c'est pourquoi j'ai besoin d'automatiser les choses, je suis sûr que mq4 vous permet de développer un petit code qui peut faire cela dans l'EA.

2) Cela n'a pas d'importance.

3) Et s'il y a environ 900 journaux d'erreurs ? Si je veux regrouper différents types d'erreurs, par exemple si j'ai l'erreur n° 1 et l'erreur 4056, puisque l'erreur n° 1 n'est pas si grave, mais elle est cachée dans les nombreuses chaînes d'erreurs n° 1, comment puis-je les compter ?

En fait, changeons ma demande parce que je vois que vous ne comprenez pas ce que je demande. Donc ma nouvelle demande est comment compter les différents types d'erreurs dans le journal ?

Ex : erreur nr .1 x 10 pièces

erreur nr. 4056 x 200 pièces

erreur nr. 4020 x 500 pièces

Par exemple, comment faire en sorte que l'EA me montre combien d'erreurs se sont produites pour un certain type ?

S'il vous plaît lire ma réponse.Donc, l'idée est d'attraper différents types d'erreurs, et / ou de les compter.Je veux savoir combien il ya et les types de celui-ci parce qu'il est plus facile de compter les erreurs type par type que la recherche dans le bloc-notes.Imaginez une situation où il ya 10 erreurs et 10 différents cachant entre les lignes ou il ya des centaines d'erreurs, chacun est différent, donc si je recherche de disons erreur numéro 4025 comment puis-je savoir qu'il ya une erreur numéro 4000 aussi ? Il est évident que je ne vais pas chercher tous les codes d'erreur, alors ne serait-il pas plus facile d'avoir une machine à compter qui compte toutes les erreurs groupées par type et les imprime de temps en temps.

+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 les trailstops, 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 :)

Alors oui, la méthode du comptage serait plus efficace !

RaptorUK:
Non, il suffit de Print("MyEANameError : ", Error, . . . . ) puis de rechercher MyEANameError et tu trouveras toutes tes erreurs .. . .

Ce n'est pas la solution non plus, qu'y a-t-il dans la variable "Error" ? Et comment tester si une erreur s'est produite ? Et peut-être, si possible, comment différencier les différents types d'erreurs ? Avec du code évidemment. Merci !
 

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, un par jour, dont les dernières lignes du dernier fichier sont affichées dans l'interface graphique.

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

Vous pouvez effectuer une recherche dans ces fichiers en utilisant tous 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 !

 
ydrol:

Encore une fois, je vous prie de m'excuser si j'énonce une évidence et que vous cherchez en fait autre chose !?


Pas besoin de vous excuser, mais j'ai compris que le PO n'était pas intéressé par la recherche et la correction d'erreurs, mais plutôt par leurs statistiques.