Erreurs, bugs, questions - page 2741
![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
MT 4 BILD 1262 Crashs terminaux
2020.05.13 18:05:09.335 Violation d'accès en écriture à 0x0335346E
2020.05.13 18:05:09.276 VR EURUSD,H4 : il reste 1 chaîne fuyante
2020.05.13 18:37:13.585 Violation d'accès en écriture à 0x03093648
J'ai fait un mini code source pour reproduire le problème.
Envoyez-moi le code source par message privé et je le vérifierai.
Le débogueur dans MT4 ne changera pas.
Nous sommes en train de revoir complètement le système de débogage et de profilage du code MQL, le nouveau système n'est pas compatible avec MT4.
Cool. Vous pouvez oublier le développement d'indicateurs sérieux pour MT4.
Merci, nous le saurons.
Indicateurs dans le flux de l'interface, tant qu'ils ne sont pas comptés, le terminal ne dessine rien. C'est pour ça que ça raccroche.
Quatre ne seront pas corrigés, très probablement.
Dans cinq indicateurs similaires fonctionnent, mais tout est normal, sans freeze.
- pas de fenêtres, pas de panneaux, pas d'outils, rien...
Je crée un panneau, j'attrape programmatiquement Ctrl + Molette de la souris et je mets à l'échelle les éléments du panneau.
Cependant, le même événement déclenche la mise à l'échelle des prix et charge la légende "Waiting For Update", qui remplace complètement le panneau de manière indéfinie.
Exemple de code, ce qui est commenté est également utilisé dans le projet, mais n'affecte pas le problème décrit ci-dessus :
.
semble être un bogue ? la documentation dit qu'il est lisible, mais
distribue
il y a du texte sur le graphique :
code complet joint
Il semble qu'il s'agisse d'un bogue. La largeur de l'étiquette dans la documentation indique qu'elle est lisible, mais
La largeur n'est disponible qu'après le rendu complet de l'objet.
J'ai été confronté à ce problème récemment aussi.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
bugs, erreurs, questions
Sergey Dzyublik, 2020.05.12 19:32
Lors de l'utilisation de OBJ_EDIT, un problème s'est posé : la nécessité de définir la taille de OBJPROP_XSIZE et OBJPROP_YSIZE de manière à ce que tout le texte tienne dans les dimensions de l'objet correspondant.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 %.
Merci àGeess pour la solution.
Je devrais multiplier par -10 la taille du shuffle lorsque je le passe à TextSetFont.
La largeur n'est disponible qu'après le rendu complet de l'objet.
J'ai été confronté à ce problème récemment aussi.
Merci ! La solution est jointe.
Quels sont les drapeaux et les pièges qui peuvent exister si un programme MQL doit ajouter quelque chose au fichier (disque RAM) en permanence, et si les autres (et un autre terminal) doivent lire toutes ces données ajoutées ?
La sécurité des données doit être assurée, mais je pense qu'il y a au moins deux problèmes :
- pas de synchronisation garantie pendant l'accès simultané, c'est-à-dire qu'il est possible de relire des données déjà lues et d'empêcher en même temps l'écriture de nouvelles données - collisions
- il n'existe aucun moyen de détecter et de contrôler une telle situation
Les solutions habituelles - sémaphores ou écrire son propre gestionnaire d'écriture.
ZS : il semble qu'il y ait une possibilité de mettre en mémoire SQLite intégré, au moins là pour contrôler l'état de la base de données peut