Discussion de l'article "Recherche d'erreurs et journalisation"

 

Un nouvel article Recherche d'erreurs et journalisation a été publié :

MetaEditor 5 dispose de la fonctionnalité de débogage. Mais lorsque vous écrivez vos programmes MQL5, vous souhaitez souvent afficher non pas les valeurs individuelles, mais tous les messages qui apparaissent lors des tests et du travail en ligne. Lorsque le contenu du fichier journal est de grande taille, il est évident d'automatiser la récupération rapide et facile du message requis. Dans cet article, nous examinerons les moyens de trouver des erreurs dans les programmes MQL5 et les méthodes de collecte de données. Nous simplifierons également la connexion aux fichiers et apprendrons à connaître un programme simple LogMon pour une visualisation confortable des fichiers journaux

Auteur : Дмитрий Александрович

 

Merci pour cet article. J'ai longtemps voulu créer quelque chose comme ça, mais les mains ne se sont pas présentées. Et maintenant... Je l'utilise déjà.

 
papaklass:

J'ai aussi aimé l'article, merci. Parce que MT imprime avec des sauts et c'est très gênant.

Les sauts sont uniquement dans l'onglet "Experts". Tous les messages sont dans le fichier journal.
 

J'étais plus intéressé par ce genre de choses ou des choses similaires :

void PrintDebugInfo(string InputString)
{
  CopyTime(Symbol(),Period(),0,1,Time);
  ArraySetAsSeries(Time,true);
  FileWrite(FileHandle,Time[0],"   ",InputString);
}

Merci pour le code, nous allons l'utiliser....

 
Lizar:

Merci pour cet article. J'ai longtemps voulu créer quelque chose comme ça, mais les mains ne se sont pas présentées. Et maintenant... Je l'utilise déjà.

N'hésitez pas à l'utiliser ! :)
Au fur et à mesure que vous l'utiliserez, j'améliorerai le cours et le programme, car j'ai d'abord écrit pour moi, puis l'article m'est venu à l'esprit))))
 

Un matériel très utile !

 

Le fichier .exe ci-joint est toujours en langue russe. Pouvez-vous, s'il vous plaît, le mettre à jour ?

P.S. C'est vraiment utile ! L'une des premières classes qui devrait être déclarée dans tout projet OOP est celle qui gère les erreurs !

 
Merci pour votre commentaire. Vous pouvez maintenant trouver la version anglaise correcte de cet utilitaire dans les fichiers joints.
 

Si vous oubliez d'utiliser le rinçage, vous risquez de perdre des données.

Une meilleure solution serait la suivante :


private:
   void              flush(void);              // Vider le cache dans le fichier
//+------------------------------------------------------------------+
//| Désinitialisation|
//+------------------------------------------------------------------+
void CLogger::deinit(void)
  {
   flush();  // Effacer les données
   FileClose(handleFile); // Fermer le fichier
  }

Pour que la sauvegarde des données se fasse automatiquement.

ps. : Je suis désolé si j'ai fait une faute d'orthographe, le traducteur de google m'a aidé....

 

Dmitry Alexandrovich, merci pour votre travail, je cherchais quelque chose comme ça depuis longtemps et je l'ai enfin trouvé ))

suggestion pour améliorer logmon.exe, faire un réglage qui permettrait de spécifier les chemins où chercher les fichiers avec les logs, parce qu'avoir deux copies dans des dossiers différents (pour le testeur et le travail standard), c'est un peu de l'amateurisme ))

mais peut-être que je le finirai moi-même quand j'aurai mis la main dessus ))

Si vous avez quelque chose d'autre d'utile - postez-le, votre style de programmation et de présentation du matériel est très cérébral )).

 

J'obtiens une erreur lors du débogage sur des données historiques : "MQL5 debugger failed to start debugging 'testlogger.ex5' on history". Sur les données réelles, cela fonctionne bien.

Pouvez-vous me dire ce que je dois modifier pour que cela fonctionne sur l'historique ?