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 code ne vérifie que les langues russe et anglaise
Si quelqu'un donne le nom du bouton Start dans d'autres langues, je l'inclurai dans la source.
En chinois, le texte des boutons "Start" et "Stop" est le suivant : "开始" et "停止".
Mise à jour.
Ne serait-il pas plus simple de lire une chaîne de caractères à partir du bouton et de comparer ensuite si elle est restée la même ou si elle a changé ?
Après tout, la fonction ne devrait pas dépendre d'états antérieurs. Il serait plus facile d'utiliser la couleur : vert - démarrage, sinon - arrêt. Mais je fais tout dans WinAPI par la méthode poke, donc je ne sais pas comment lire la couleur (composante verte) du bouton. S'il existe une variante qui fonctionne, je la remplacerai bien sûr.
Toutefois, la fonction ne devrait pas dépendre des états précédents. Il serait plus facile d'utiliser la couleur : vert - démarrage, sinon - arrêt. Mais je fais tout dans WinAPI par la méthode poke, donc je ne sais pas comment lire la couleur (composante verte) du bouton. S'il existe une variante qui fonctionne, je la remplacerai bien sûr.
Ce code a été testé par mes soins et il est confirmé qu'il fonctionne.
(Je recommande de garder les deux méthodes, peut-être qu'à l'avenir les développeurs de MT5 changeront les couleurs).
Toutefois, la fonction ne devrait pas dépendre des états précédents. Il serait plus facile d'utiliser la couleur : vert - démarrage, sinon - arrêt. Mais je fais tout dans WinAPI par la méthode poke, donc je ne sais pas comment lire la couleur (composante verte) du bouton. S'il existe une variante qui fonctionne, je la remplacerai bien sûr.
Ce n'est probablement pas la couleur du bouton qui facilite les choses, mais l'état de la liste des entrées - activées/désactivées.
Où obtenir l'état des entrées ? Il n'y a pas d'API officielle, nous devons le déterminer par des couleurs et du texte.
En fait, il n'y a pas d'API officielle pour tous les éléments internes de MT5 - vous devez les inspecter à l'aide d'utilitaires comme MS Spy - c'est ainsi que les identificateurs de contrôle ont été trouvés, qui sont maintenant utilisés dans le multitester.
Si vous ne vous aventurez pas dans les méandres des Inputs et que vous utilisez simplement le bouton de démarrage déjà testé, il semble que l'appel GetWindowLongW(hwnd, 0) devrait renvoyer la couleur actuelle du bouton. Le mien renvoie 0xD0B1DF10 pour le bouton vert. Ce n'est que si MQ décide de corriger le style que ce paramètre pourrait disparaître. Il est donc plus fiable de vérifier l'activité des entrées.
il semble que l'appel GetWindowLongW(hwnd, 0) devrait renvoyer la couleur actuelle du bouton. J'obtiens 0xD0B1DF10 pour le bouton vert.