Comment supprimer les doublons dans un fichier TXT ?

 

Bonjour à tous !

S'il vous plaît, j'ai besoin de votre aide...

Voici le projet :

En fait, dans le cadre du projet que je souhaite implémenter, je travaille avec les fichiers afin de stocker les données historiques dont j'ai besoin.

Jusqu'ici, tout évolue très bien. Je réussis à écrire dans un fichier et à lire son contenu sans aucun problème.

Voici alors le problème :

Maintenant, le problème est que lorsque je procède à l'analyse de ces données, je constate que certaines données (lignes) s'enregistrent deux fois, voire même plus.

Pour bien comprendre ce dont je parle, j'ai joint à ce message une petite capture d'écran. Comme vous pourrez le constater, toutes les lignes barrées en rouge sont les dédoublements des lignes immédiatement au-dessus d'elles.

Alors, ma question est de savoir comment puis-je faire pour soit (1) empêcher le dédoublement au moment même de l'enregistrement ou soit (2) comment puis-je faire pour implémenter une boucle qui me permettrait de parcourir tout le fichier et de supprimer toutes les lignes doublons ?


Merci de votre aide !

Dossiers :
 
Hello
Amha, je pense qu'il faut chercher une solution avant d'écrire dans le txt, qui très lent
Et une fois que tu es sur que dans ta structure ou array tu n'as pas de doublon alors l'écrire par bloc d'accès le txt

 
William210 #:
Hello
Amha, je pense qu'il faut chercher une solution avant d'écrire dans le txt, qui très lent
Et une fois que tu es sur que dans ta structure ou array tu n'as pas de doublon alors l'écrire par bloc d'accès le txt

Merci pour ton intervention. Justement, je cherche cette solution qui peut m'aider à résoudre ce problème de doublons.

Alors, une petite question :

Est-ce est-il possible d'éviter ou de supprimer les doublons lorsqu'on utilise un array ou une structure ?

Si oui, un exemple de script m'aiderait beaucoup. Merci

 
Il semble que tu puisses faire une recherche avant d'ajouter spécifiquement dans un array

 
William210 #:
Il semble que tu puisses faire une recherche avant d'ajouter spécifiquement dans un array

Ok, merci. Mais, ceci concerne beaucoup plus la manipulation des tableaux que des enregistrements dans un fichier...

 
Excuse moi, je pensais que nous étions tombé d'accord pour dire que cette recherche sur un fichier txt serait très mou et qu'il fallait le mieux le faire sur l'array qui allait générer le txt
 
William210 #:
Excuse moi, je pensais que nous étions tombé d'accord pour dire que cette recherche sur un fichier txt serait très mou et qu'il fallait le mieux le faire sur l'array qui allait générer le txt

Je t'en prie. D'ailleurs, je suis bien favorable à la méthode que tu proposes là, seulement, je ne comprends pas vraiment comment l'implémenter... Donc, je n'arrive pas vraiment à stocker un tableau dans un fichier Txt... Voilà donc ma difficulté pour pouvoir implémenter la solution que tu me proposes... Sinon, je pense qu'elle peut vraiment être la solution à mon problème...

 
Je n'ai pas tes codes et réflexions de ton projet.
Il me sera difficile de pouvoir t'aider sans
Partage un peu plus si tu peux
 
William210 #:
Je n'ai pas tes codes et réflexions de ton projet.
Il me sera difficile de pouvoir t'aider sans
Partage un peu plus si tu peux

Oui, tu as raison.

En fait, pour ce qui est de mon projet, il est assez simple. J'ai un certain nombre d'informations (notamment sur les volumes, la position des moyennes mobiles par rapport aux prix, etc...) que je collecte à chaque "premier tick" de chaque nouvelle bougie d'une unité de temps donnée (M15, par exemple). Et je les stocke dans un fichier de façon à y accéder n'importe quand plus tard. Jusque-là, cette collecte et stockage se faisaient sans aucun problème. Seulement, lors de l'analyse de ces informations, je me rendais compte que certaines de ces données s'enregistraient deux fois dans le fichier, voire même plus. Et ces dédoublements ne m'intéressaient pas vraiment. Voilà pourquoi je devais chercher à les éviter.

Et pour l'instant, je t'assure que tout est résolu. Je me suis inspiré de la fonction "arraybsearch" que tu m'as suggéré ci-dessus et j'ai réussi à implémenter une fonction qui vérifie d'abord que les données qui doivent être enregistrées dans le fichier y existent déjà ou non. Après donc ajout de cette fonction, tout marche maintenant comme souhaité. Plus un seul cas de dédoublements. Merci donc à toi !

Documentation sur MQL5: Fonctions sur les Tableaux / ArrayBsearch
Documentation sur MQL5: Fonctions sur les Tableaux / ArrayBsearch
  • www.mql5.com
ArrayBsearch - Fonctions sur les Tableaux - Référence MQL5 - Référence sur le langage de trading algorithmique/automatisé pour MetaTrader 5
 
Documentation sur MQL5: Accès aux Séries de Données et aux Indicateurs / CopyRates
Documentation sur MQL5: Accès aux Séries de Données et aux Indicateurs / CopyRates
  • www.mql5.com
CopyRates - Accès aux Séries de Données et aux Indicateurs - Référence MQL5 - Référence sur le langage de trading algorithmique/automatisé pour MetaTrader 5