Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 976

 
Comment effacer une ligne dans un fichier ? Par exemple, j'ai écrit quelque chose avecFileWriteString(), et maintenant j'ai besoin d'un espace vide dans cet espace, comment faire ?
 
Alexandr Sokolov:
Comment supprimer une ligne dans un fichier ? Par exemple, j'ai écrit quelque chose avec FileWriteString(), et maintenant j'ai besoin d'un espace vide à cet endroit, comment faire ?

L'accès aux données d'un fichier est séquentiel, vous ne pouvez pas supprimer des données n'importe où dans le fichier.

 
Igor Makanu:

L'accès aux données d'un fichier est séquentiel, vous ne pouvez pas supprimer des données n'importe où dans le fichier.

OK. Et comment puis-je le supprimer ? Parce que je n'ai pas vu les fonctions correspondantes dans l'aide, par exemple, il y en a une pour l'écriture mais pas pour la suppression.

* sauf pour le remplacement par "blanc" - " " ?

 
Alexandr Sokolov:

Ok. Et comment on efface ? Parce que je n'ai pas vu de fonctions correspondantes dans l'aide, par exemple, il y en a une pour l'écriture mais pas pour la suppression.

* sauf pour le remplacement par "blanc" - " " ?

une fois de plus... il existe un accès aléatoire aux données et un accès séquentiel aux données

s'il est séquentiel, vous lisez/écrivez dans un seul sens en ce qui concerne le fichier :

1. ouverture et lecture - déplacement du pointeur de fichier

2. ouvrir et écrire - le pointeur de fichier est déplacé, puis écrire à nouveau - le pointeur de fichier est déplacé.....


Vous pouvez déplacer le pointeur de fichier vous-même FileSeek() et continuer à écrire à partir de cet emplacement.

Vous pouvez ouvrir un fichier en lecture, lire autant d'octets que nécessaire en mémoire, puis fermer à nouveau le fichier, le rouvrir uniquement en écriture et vider ce que vous avez lu dans le fichier, supprimant ainsi ce dont vous n'avez pas besoin et... et n'oubliez pas d'ajouter les données qui viennent après le fragment supprimé.


c'est en gros à quoi ressemble la gestion des fichiers. Cherchez un article sur le forum, je pense qu'il devrait y en avoir un sur la gestion des fichiers.

 
Igor Makanu:

une fois de plus... il existe un accès aléatoire aux données et un accès séquentiel aux données

s'il est séquentiel, vous lisez/écrivez dans un seul sens en ce qui concerne le fichier :

1. ouverture et lecture - déplacement du pointeur de fichier

2. ouvrir et écrire - le pointeur de fichier est déplacé, puis écrire à nouveau - le pointeur de fichier est déplacé.....


Vous pouvez déplacer le pointeur de fichier vous-même FileSeek() et continuer à écrire à partir de cet emplacement.

Vous pouvez ouvrir un fichier en lecture, lire autant d'octets que nécessaire en mémoire, puis fermer à nouveau le fichier, le rouvrir uniquement en écriture et vider ce que vous avez lu dans le fichier, supprimant ainsi ce dont vous n'avez pas besoin et... et n'oubliez pas d'ajouter les données qui viennent après le fragment supprimé.


C'est en gros ce à quoi ressemble le travail avec un fichier. Cherchez un article sur le forum, je pense qu'il devrait y en avoir un sur le travail avec les fichiers.

Je vais m'en occuper. Je me pencherai sur la question.

 

Les gars, des idées ?

 
Salut. J'ai un problème pour obtenir les données de l'indicateur iMFI.
double ifmi_indicator = iMFI(symb_pair_with_suffix, StringToInteger(duration), 10, 1);

Ce code est appelé sur un timer, depuis un autre graphique. Un sur lequel l'EA se tient, je récupère le reste des données dans le code. Les données de ifmi_indicator ne coïncident pas avec ce que j'obtiens dans le terminal lorsque je consulte l'indicateur sur ce symbole sur la barre actuelle ou sur la barre précédente. Quel est le problème ? Parfois, les données que j'obtiens sont encore plus étranges que celles que j'obtiens en examinant le graphique manuellement. Par exemple, je regarde la valeur 20 mais le code affiche 70. Quel peut être le problème ?

La langue est mql4.
 
Comment ajouter des minutes à l'indicateur, seulement des heures maintenant.
Dossiers :
 

Bonjour !

Je suis intéressé par l'indicateur Gator. D'après le manuel, j'ai compris qu'il est possible d'extraire les valeurs des lignes supérieures et inférieures de l'histogramme. Mais je m'intéresse davantage à la couleur de la ligne et à sa valeur en second lieu, uniquement si les lignes supérieure et inférieure sont de couleurs différentes. Comment extraire la couleur afin de pouvoir ensuite comparer les valeurs de la ligne verte et de la ligne rouge ?

 
novichok2018:

Bonjour !

Je suis intéressé par l'indicateur Gator. D'après le manuel, j'ai compris qu'il est possible d'extraire les valeurs des lignes supérieures et inférieures de l'histogramme. Mais je m'intéresse davantage à la couleur de la ligne et à sa valeur en second lieu, uniquement si les lignes supérieure et inférieure sont de couleurs différentes. Comment extraire la couleur afin de pouvoir ensuite comparer les valeurs de la ligne verte et de la ligne rouge ?

Si la valeur actuelle est supérieure à la valeur précédente, alors elle est verte et le tampon est différent, en mql4, et si le contraire est vrai, alors ... et vice versa. ))))