Erreurs, bugs, questions - page 1168
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
OK, vous l'avez ;)
Je ne comprends pas ce qui n'est pas clair.
Double tronque les données, vous ne pouvez donc pas transférer directement les données longues vers double. Mais les deux sont de 8 octets chacun, donc vous pouvez transférer sans perte en utilisant simplement double comme conteneur, ce que j'ai fait dans l'exemple.
Je ne comprends pas ce qui n'est pas clair.
Double tronque les données, vous ne pouvez donc pas transférer directement les données longues vers double. Mais les deux sont de 8 octets chacun, donc vous pouvez transférer sans perte en utilisant simplement double comme conteneur, ce que j'ai fait dans l'exemple.
Andrey, je n'ai pas compris le format de stockage et d'affichage dans le GV du terminal. Il semblait montrer l'ID du graphique, mais il affiche 0.
GV montrera quelque chose ressemblant à des déchets en apparence, ces "déchets" se transformeront en ID de carte après la conversion inverse.
Le duble a son propre format de données, lorsque l'on rentre le long, on met le format duble et on l'utilise comme 8 octets de mémoire.
GV montrera quelque chose ressemblant à un déchet en apparence, ce "déchet" se transformera en graphique ID après la conversion inverse.
Le double a son propre format de données, lorsque nous rentrons le double, nous mettons le format du double et l'utilisons simplement comme 8 octets de mémoire.
C'est plutôt une question :
Recherche d'un GV existant du terminal par son nom. Grâce à lui, l'ID du graphique sur lequel l'EA fonctionne est transmis à l'indicateur. L'indicateur est suspendu à un autre symbole. C'est-à-dire que je veux passer à l'indicateur l'ID du graphique sur lequel le conseiller expert est exécuté. Je le cherche comme ça :
C'est ce que dit le terminal :
J'ai essayé de lire la variable. Je l'ai mis directement dans la chaîne et je l'ai mis dans le journal, ainsi que dans des variables de différents types - tout cela est identique. Il y a deux différences.
Qu'est-ce qu'il y a de mal à ça ?
Lisez ici le paragraphe "Conversion de données de structures simples" de https://www.mql5.com/ru/docs/basis/types/casting.
Exactement votre cas. Les doublets ont une précision beaucoup plus faible en _nombre_ de caractères que les longs. C'est pourquoi vous obtenez ce résultat avec une simple affectation.
Mais vous pouvez utiliser pleinement les 64 bits d'une variable globale pour stocker _n'importe quelle information de 64 bits de long (comme les chaînes courtes de 8 octets de long, sans parler des longues).
Le Conseiller Expert est sur M2, les données de l'indicateur sont prises sur M3.
1) Il y a un redémarrage du terminal à 14h40 :
MD 0 14:40:06.009 Terminal MetaTrader 5 Alfa-Forex x64 build 930 démarré
II 0 14:40:06.586 Terminal OpenCL non trouvé, installer le dernier pilote OpenCL pour de meilleures performances
JO 0 14:40:07.257 Experts expert FX_Money_Flow_v1_06 (EURUSD,M2) chargé avec succès
RO 0 19:55:28.399 Terminal MetaTrader 5 Alfa-Forex x64 build 930 démarré
OP 0 19:55:28.992 Terminal OpenCL non trouvé, installer le dernier pilote OpenCL pour de meilleures performances
RD 0 19:55:29.507 experts expert FX_Money_Flow_v1_07 (EURUSD,M2) chargé avec succès
Mais il ne fonctionne pas toujours correctement :
KF 0 23:59:51.987 FX_Money_Flow_v1_07 (EURUSD,M2) Valeur du facteur Indicateur TF1 : -1.#QNAN -1.#QNAN
Le graphique M3 est ouvert à ce moment-là et il y a un indicateur qui montre tout correctement :
(la différence de temps entre le terminal et les journaux est de 5 heures, la capture d'écran fait référence au deuxième redémarrage)
Lisez ici le paragraphe "Conversion des données des types de structures simples" de https://www.mql5.com/ru/docs/basis/types/casting.
C'est exactement votre cas. Les doublets ont une précision beaucoup plus faible en _nombre_ de caractères que les longs. C'est pourquoi vous obtenez ce résultat avec une simple affectation.
Mais vous pouvez utiliser pleinement les 64 bits de la variable globale pour stocker _n'importe quelle information de 64 bits de long (comme des chaînes courtes de 8 octets de long, sans parler des longues).