Caractéristiques du langage mql4, subtilités et techniques - page 16
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
J'espère que vous êtes amis)
"La guerre des Titans" n'aura pas lieu.
Existe-t-il un moyen de savoir directement à partir du programme quelle police est actuellement dans les fenêtres (agrandie ou non) et d'effectuer cette correction dans le code, sans toucher aux utilisateurs ? Certaines personnes peuvent avoir un moniteur 4k avec du texte à l'échelle et la plupart des indicateurs (où le texte est utilisé) du marché ont l'air laid et laid.
J'espère que ce fil n'est pas mort. J'ai le problème suivant : j'ai un écran 4k, donc dans Windows j'ai une police agrandie (taille 200%). Lorsque vous créez des objets texte pour les indicateurs, la taille du texte est tirée des paramètres de Windows et est également mise à l'échelle. Par conséquent, si vous créez quelque chose qui semble normal sur un système normal, sur mon ordinateur le texte se chevauche, et si vous le rendez normal pour moi, alors sur des paramètres normaux le texte est trop petit. J'ai fait un réglage dans l'indicateur pour laisser l'utilisateur choisir s'il est mis à l'échelle ou non, mais je n'aime pas vraiment cela.
Existe-t-il un moyen de savoir directement à partir du programme quelle police est actuellement dans les fenêtres (agrandie ou non) et d'effectuer cette correction dans le code, sans toucher aux utilisateurs ? Certaines personnes peuvent avoir un écran 4k avec du texte à l'échelle et la plupart des indicateurs (où le texte est utilisé) du marché ont l'air laid.
Vous devriez peut-être vous mettre à travailler avec des ressources, ou avec CCanvas ?
Vous pouvez ensuite y régler la taille de la police en fonction des paramètres du système d'exploitation.
Lire à propos de TextOut(), TextSetFont()
Ça y est, la solution est trouvée. Pour ceux qui se demandent ce que c'est : Utilisez la fonction TerminalInfoInteger(TERMINAL_SCREEN_DPI) ; Avec une mise à l'échelle standard, ce sera 96. Si elle est 2 fois plus grande, l'échelle sera 2 fois plus grande.
La solution est dans l'aide
Exemple de calcul du facteur d'échelle :
//--- nous créons un bouton avec une largeur de 1.5" sur l'écran
int screen_dpi =TerminalInfoInteger(TERMINAL_SCREEN_DPI) ;//--- obtenir le DPI du moniteur de l'utilisateur
int base_width =144 ;//largeur de base en points d'écran pour les moniteurs standard avec DPI=96
int width = (button_width *screen_dpi) / 96 ;//calculer la largeur du bouton pour le moniteur de l'utilisateur (avec DPI)
...
//--- calculer le facteur d'échelle en pourcentage
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI)* 100) / 96 ;
//--- en utilisant le facteur d'échelle
width=(base_width * scale_factor) / 100;
La solution se trouve dans l'aide
Oui, mais ce n'est pas pour les polices.
Ça y est, la solution est trouvée.
Vraiment ? La mise à l'échelle affecte-t-elle les ppp du moniteur ?
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Particularités du langage mql5, trucs et astuces
fxsaber, 2019.02.19 22:28
Vous voyez que la position a été ouverte et fermée au même prix. Mais leurs prix ne sont pas égaux lorsqu'ils sont comparés sans normalisation !