Une variable, pas une citation. Il y a un compte dans une variable chaîne, et le double est converti en une variable chaîne avec la précision spécifiée. C'est bien sûr fort.
Soit dit en passant, il s'agit d'une citation en cinq chiffres qui arrive avec plus de cinq décimales. Je voulais faire une vérification automatique, il s'avère que ce n'est pas si facile dans ce langage. En attendant, je l'ai vérifié manuellement avec une imprimante. Il n'y a pas plus de cinq décimales, combien de fois cela arrive-t-il ? Peut-être que c'était au terminal 4 ?
pribludilsa #: Ok, il y a une ignorance systématique des messages. Nous devrions recommencer un fil de discussion.
il y a déjà eu des sujets sur ce thème. dans une chaîne et le nombre de chaînes à compter. Il faut d'abord compter le nombre de chiffres avant la virgule. Vous pouvez le convertir en un nombre entier. Et c'est tout aussi gênant de string)))).
Vérifiez la disponibilité des cotations sur AUDUSD, sur la bonne TF.
C'était exactement le problème. Le problème est que je testais un jour de congé (dimanche) et que j'ai "téléchargé" une archive de cotation pour le symbole requis (AUDUSD), mais il s'est avéré qu'elles ne pouvaient pas être téléchargées le jour de congé, car les serveurs de mon courtier en devises étaient indisponibles ce jour-là. Et aujourd'hui lundi, le téléchargement de l'archive des citations et le test ont réussi.
MakarFX #: Je suis désolé, j'avais tort, je ne le savais pas moi-même.
Ce n'est pas grave, vos réponses dans les messages privés étaient beaucoup plus précieuses.
C'est vraiment bien que les gens répondent et s'entraident ici. Toutes les réponses ne se trouvent pas dans la documentation)
il y a déjà eu des sujets sur ce thème. dans une chaîne et le nombre de chaînes à compter. Il faut d'abord compter le nombre de chiffres avant la virgule. Vous pouvez le convertir en un nombre entier. Et il est un peu délicat d'apporter)))) à une chaîne de caractères, aussi.
Oui, je voulais faire cela aussi, seulement la conversion de double en chaîne est faite avec la précision spécifiée, si la précision n'est pas spécifiée, 8 chiffres par défaut.
il y a déjà eu des sujets sur ce thème. dans une chaîne et le nombre de chaînes à compter. Il faut d'abord compter le nombre de chiffres avant la virgule. Vous pouvez le convertir en un nombre entier. Et c'est tout aussi gênant de string)))).
La conversion des entiers, oui, c'est probablement la seule. J'y ai pensé aussi, mais ça me semblait trop compliqué de faire une sorte de cycle de multiplication ou de division par 10. Je n'y ai pas encore réfléchi.
Y a-t-il quelque chose que je ne sais pas ? De même, il n'est pas possible d'obtenir les données de barre des autres instruments en fonction de l'heure du testeur, elles seront reçues en fonction de l'heure actuelle. C'est pourquoi je ne peux pas tester la multidevise même juste dans la partie calcul dans 4ka.
J'ai toujours pensé que le testeur MT4 émule entièrement l'environnement d'un seul instrument, et MT5 l'environnement entier disponible.
Ou bien est-ce que ce n'est pas le cas ?
Valery, faites attention à la ligne
sd = (int)MarketInfo("EURJPY", MODE_DIGITS);
dans mon code... J'utilise les fonctions hexa depuis longtemps, mais voici une fonction similaire
SymbolInfoInteger("EURJPY", SYMBOL_DIGITS);
a donné un stackey 0.
Donc, pensez à l'endroit où se trouve le bug... Et puisque mt4 refuse de le supporter, vous pouvez supposer qu'il ne sera jamais corrigé...
Tout le reste doit être vérifié. Je ne m'en suis pas occupé depuis si longtemps que je ne veux même pas m'en souvenir.
https://www.mql5.com/ru/docs/predefined/_digits
https://www.mql5.com/ru/docs/predefined/_digits
Ok, il y a une ignorance systématique des messages. Nous devrions recommencer un fil de discussion.
il y a déjà eu des sujets sur ce thème. dans une chaîne et le nombre de chaînes à compter. Il faut d'abord compter le nombre de chiffres avant la virgule. Vous pouvez le convertir en un nombre entier. Et c'est tout aussi gênant de string)))).
Dans le testeur mt4 il n'est pas possible d'ouvrir des ordres sur d'autres paires, tout le reste est disponible sans problèmes.
Vérifiez la disponibilité des cotations sur AUDUSD, sur la bonne TF.
Je suis désolé, j'avais tort, je ne le savais pas moi-même.
C'est vraiment bien que les gens répondent et s'entraident ici. Toutes les réponses ne se trouvent pas dans la documentation)
il y a déjà eu des sujets sur ce thème. dans une chaîne et le nombre de chaînes à compter. Il faut d'abord compter le nombre de chiffres avant la virgule. Vous pouvez le convertir en un nombre entier. Et il est un peu délicat d'apporter)))) à une chaîne de caractères, aussi.
Oui, je voulais faire cela aussi, seulement la conversion de double en chaîne est faite avec la précision spécifiée, si la précision n'est pas spécifiée, 8 chiffres par défaut.
il y a déjà eu des sujets sur ce thème. dans une chaîne et le nombre de chaînes à compter. Il faut d'abord compter le nombre de chiffres avant la virgule. Vous pouvez le convertir en un nombre entier. Et c'est tout aussi gênant de string)))).
Y a-t-il quelque chose que je ne sais pas ? De même, il n'est pas possible d'obtenir les données de barre des autres instruments en fonction de l'heure du testeur, elles seront reçues en fonction de l'heure actuelle. C'est pourquoi je ne peux pas tester la multidevise même juste dans la partie calcul dans 4ka.
J'ai toujours pensé que le testeur MT4 émule entièrement l'environnement d'un seul instrument, et MT5 l'environnement entier disponible.
Ou bien est-ce que ce n'est pas le cas ?
Valery, faites attention à la ligne
dans mon code... J'utilise les fonctions hexa depuis longtemps, mais voici une fonction similaire
a donné un stackey 0.
Donc, pensez à l'endroit où se trouve le bug... Et puisque mt4 refuse de le supporter, vous pouvez supposer qu'il ne sera jamais corrigé...
Tout le reste doit être vérifié. Je ne m'en suis pas occupé depuis si longtemps que je ne veux même pas m'en souvenir.
Alexey Viktorov #:
J'utilise les fonctions du vendredi depuis longtemps.
Pouvez-vous me suggérer où je peux apprendre MQL5 (en russe) ?