Erreurs, bugs, questions - page 2737
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
Le résultat de la recherche supprime une partie du texte.
Voici l'original.
Forum sur le trading, les systèmes de trading automatisés et le testeur de stratégie
Testeur de stratégie MetaTrader 5 : bugs, anomalies, suggestions d'amélioration
fxsaber, 2020.05.11 20:31
Il n'est probablement pas judicieux pour Tester de créer des fichiers opt-files qui ont Header.passes_passed== 0.Il s'est avéré que le réglage de la couleur de fond n'est pas possible pour un objet de type OBJ_LABLE, il est nécessaire d'utiliser OBJ_EDIT.
Lors de l'utilisation de OBJ_EDIT, un nouveau problème est apparu : la nécessité de définir la taille de OBJPROP_XSIZE et OBJPROP_YSIZE de manière à ce que tout le texte s'inscrive dans les dimensions correspondantes de l'objet.
Question : comment déterminer les tailles OBJPROP_XSIZE et OBJPROP_YSIZE pour adapter le texte entier ?
J'ai envisagé deux options :
1. Création de l'objet OBJ_LABLE, lecture de ses dimensions, suppression de l'objet OBJ_LABLE.
Ne convient pas car la cotation n'est possible qu'après la création effective de l'objet et n'est pas possible lorsque l'objet se trouve dans la file d'attente ChartRedraw.
2. en utilisant TextSetFont suivi de TextGetSize.
Ne convient pas, car le résultat est radicalement différent de celui de la méthode n°1, la différence étant de 2,5 à 2,9 fois, selon la taille de la police.
La raison en est probablement un écran 4K et un DPI de 175 %.
Merci àGeess pour lasolution.
Il est nécessaire de multiplier par -10 la taille du mélange lorsqu'on le passe à TextSetFont.
Je travaille rarement avec des objets graphiques, j'ai besoin de peindre la couleur de fond pour OBJ_LABLE (set OBJPROP_BGCOLOR).
Il s'est avéré que le réglage de la couleur de fond n'est pas possible pour un objet de type OBJ_LABLE, il est nécessaire d'utiliser OBJ_EDIT.
Lors de l'utilisation de OBJ_EDIT, un nouveau problème est apparu : la nécessité de définir la taille de OBJPROP_XSIZE et OBJPROP_YSIZE de manière à ce que tout le texte s'inscrive dans les dimensions correspondantes de l'objet.
Question : comment déterminer les tailles OBJPROP_XSIZE et OBJPROP_YSIZE pour adapter le texte entier ?
J'ai envisagé deux options :
1. créer l'objet OBJ_LABLE, lire les dimensions, supprimer l'objet OBJ_LABLE.
Ne convient pas car la cotation n'est possible qu'après la création effective de l'objet et n'est pas possible lorsque l'objet se trouve dans la file d'attente ChartRedraw.
2. en utilisant TextSetFont suivi de TextGetSize.
Ne convient pas, car le résultat est radicalement différent de celui de la méthode n° 1, la différence étant de 2,5 à 2,9 fois, selon la taille de la police.
La raison en est probablement un écran 4K et un DPI de 175 %.
Tout d'abord, la taille du texte et la taille de l'objet ne sont pas la même chose. Il faut au moins qu'il y ait une frontière. Et donc ces valeurs ne peuvent pas coïncider.
Deuxièmement, il est préférable d'utiliser OBJ_BITMAP_LABEL qui n'a aucune limitation.
Et si vous l'utilisez, il est préférable d'utiliser la classe CCanvas.
Le résultat est le même objet, mais avec plus de possibilités. Par exemple, en ajoutant de la transparence à l'étiquette de texte.
Tout d'abord, la taille du texte et la taille de l'objet ne sont pas la même chose. Au minimum, il doit y avoir une frontière. Et donc ces valeurs ne peuvent pas coïncider.
Merci beaucoup pour votre aide.
Vous adaptez une solution toute faite à vos propres besoins, je ne vois donc pas la nécessité d'implémenter des bibliothèques.
La solution que vous avez proposée à l'origine peut être représentée comme suit :
Malheureusement, en raison d'un défaut dans MT5 - la solution proposée ne peut pas être utilisée normalement.
La taille du texte s'avère être 3 fois plus petite que nécessaire sur un moniteur 4K avec 175% de DPI Windows.
Je dois multiplier la taille de la police par DPI / 100% * [1,6 ... 1,8].
MerciGeesspour lasolution.
Vous devez multiplier la taille de la police par -10 lorsque vous la transmettez àTextSetFont.
Merci beaucoup pour votre aide.
Vous adaptez une solution toute faite à vos propres besoins, je ne vois donc pas la nécessité d'implémenter des bibliothèques.
La solution que vous avez proposée à l'origine peut être représentée comme suit :
Malheureusement, en raison d'un défaut dans MT5 - la solution proposée ne peut pas être utilisée normalement.
La taille du texte s'avère être 3 fois plus petite que nécessaire sur un moniteur 4K avec 175% de DPI Windows.
Je dois multiplier la taille de la police par DPI / 100% * [1.6 ... 1.8].
https://www.mql5.com/ru/docs/objects/textsetfont
tu dois le faire comme ça :
Je ne comprends pas pourquoi vous avez tant besoin de OBJ_LABEL ? Vous avez implémenté une variante sans bibliothèques avec OBJ_BITMAP_LABEL. Quel est son avantage ? Je ne vois qu'une limitation.
https://www.mql5.com/ru/docs/objects/textsetfont
Je ne comprends pas pourquoi vous avez tant besoin de OBJ_LABEL ? Vous avez implémenté une variante sans bibliothèques avec OBJ_BITMAP_LABEL. Quel est son avantage ? Je ne vois qu'une limitation.
Encore une fois, merci beaucoup.
Je ne savais pas, je n'ai pas vu, je n'ai pas lu, à propos de la multiplication par -10. Problème résolu.
OBJ_LABEL a été utilisé pour illustrer le problème et pouvoir le reproduire.
Veuillez me dire quel est le problème.
Différents indicateurs, qui fonctionnent correctement et se mettent à jour, commencent à montrer quelque chose de différent en synchronisation, non basé sur le graphique des prix affiché dans la fenêtre principale. Cela arrive occasionnellement, pas tous les jours.
Au début, j'ai blâmé les indicateurs, mais après en avoir essayé différents, y compris les indicateurs natifs de MT5, je me méfie du terminal. J'observe le problème depuis longtemps, depuis l'année dernière, sur différentes versions du terminal. D'abord c'était sur la version personnalisée d'Alpari, maintenant c'est la même chose sur la version originale. Tant sur le compte de démonstration que sur le compte réel .
Courtier Alpari. MT5 build 2363 du 13.03.2020. Je ne m'en souviens pas pour les autres périodes, mais cela se produit certainement sur le M1.
Captures d'écran :
Variante "glissé". À l'exception du zigzag, tous les indicateurs sont intégrés. Le zigzag avec le travail correct avec l'histoire. Les lectures des indicateurs sont convergentes entre elles. Ils ne correspondent pas aux prix.
Après la mise à jour.
Version MT5
Après-midi.
Je suis tombé sur une chose incompréhensible et je ne comprends pas ce que c'est.
Il existe deux fonctions qui sont utilisées dans différentes stratégies. Logiquement, le code dans les contrôles comme
Il ne doit pas être exécuté si l'une des conditions est fausse. Mais pour une raison quelconque, elle est exécutée si le nombre magique et le nombre magique passé dans la fonction ne sont PAS EGAUX.
Il semble s'agir d'une comparaison de type entier. Je ne comprends pas pourquoi. Vous pouvez le voir dans la capture d'écran ci-dessous.
Après-midi.
Je suis tombé sur une chose incompréhensible et je ne comprends pas ce que c'est.
Il existe deux fonctions qui sont utilisées dans différentes stratégies. Logiquement, le code dans les contrôles comme
Il ne doit pas être exécuté si l'une des conditions est fausse. Mais pour une raison quelconque, elle est exécutée si le nombre magique et le nombre magique passé dans la fonction ne sont PAS EGAUX.
Il semble s'agir d'une comparaison de type entier. Je ne comprends pas pourquoi. Vous pouvez le voir dans la capture d'écran ci-dessous.