[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 470
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Разные приёмы? Какие, например?si (NormalizeDouble(a, 4)==NormalizeDouble(b, 4)) { ... }
if (NormalizeDouble(a, 4)==NormalizeDouble(b, 4)) { ... }
J'ai essayé aussi, et juste au cas où, au lieu de Chiffres, j'ai écrit 4, puis 5, puis 6... Ça ne marche pas !
https://www.mql5.com/ru/articles/1561
Merci ! En effet, l'article est très instructif. Mais je n'ai pas trouvé la fonction bool CompareDoubles dans MetaEditor...
https://www.mql5.com/ru/articles/1561
Ou peut-être ne comprends-je pas bien, ou plutôt ne comprends-je pas du tout ce qu'est une bibliothèque ?
Ou peut-être ne comprends-je pas bien, ou plutôt ne comprends-je pas du tout ce qu'est une bibliothèque ?
Une fonction pour comparer des nombres réelsPouvez-vous me dire ce qu'il faut faire ici ?
Je veux lire les nombres d'un fichier dans les tableaux correspondants.
Les numéros du fichier sont les suivants : 1.2121;1.2323;1.3434;1.4545
Je leur prépare les tableaux suivants : double s1[], s2[], r1[], r2[]
à l'étape de l'initialisation je lis comme suit
mais, malheureusement, les tableaux ne sont pas remplis...
Conseiller comment être ici....
Посоветуйте, как тут быть....
Premièrement, dans les fichiers csv, les éléments sont séparés par des "," et non des " ;"
Deuxièmement, vous devez remplir les tableaux avec le premier élément de chaque ligne de fichier, car vous récupérez d'abord la ligne entière avec FileReadString, puis vous la convertissez en un seul nombre réel, et la commande FileRead suivante fonctionne déjà avec la ligne suivante du fichier.
Vous pouvez organiser la lecture de la manière suivante :
for(;;) {
str=FileReadString(Handle);
s1[k] =StrToDouble(StringSubstr(str,0,6));
s2[k] =StrToDouble(StringSubstr(str,7,6));
r1[k] =StrToDouble(StringSubstr(str,14,6));
r2[k] =StrToDouble(StringSubstr(str,21,6));
k++;
if(FileIsEnding(Handle)) break;
}
Ça devrait marcher... mais pas nécessairement :)
Premièrement, dans les fichiers csv, les éléments sont séparés par "," et non par " ;".
Deuxièmement, vous devez remplir les tableaux avec le premier élément de chaque chaîne de caractères du fichier, car vous récupérez d'abord la chaîne entière avec la commande FileReadString, puis vous convertissez la chaîne entière en un nombre réel, et la commande suivante FileRead travaille déjà avec la ligne suivante du fichier.
Vous pouvez organiser la lecture de cette manière :
for(;;) {
str=FileReadString(Handle);
s1[k] =StrToDouble(StringSubstr(str,0,6));
s2[k] =StrToDouble(StringSubstr(str,7,6));
r1[k] =StrToDouble(StringSubstr(str,14,6));
r2[k] =StrToDouble(StringSubstr(str,21,6));
k++;
if(FileIsEnding(Handle)) break;
}
Ça devrait marcher... mais pas sûr :)
Le délimiteur par défaut est " ;", mais vous pouvez utiliser n'importe quel délimiteur.Tu écris quelque chose de mal...
Le délimiteur par défaut est " ;", mais vous pouvez utiliser n'importe quel délimiteur.CSV - Comma Separated Values (valeurs séparées par des virgules ). Le "," est le délimiteur par défaut. La séparation avec " ;" est beaucoup moins courante, et je ne suis pas sûr qu'elle soit supportée du tout dans MQL4.
Tu écris quelque chose de mal...
Qu'est-ce que tu n'aimes pas exactement dans ce que j'écris... ?