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
Un simple script comme celui-ci me donne des résultats étranges
Peut-être que quelqu'un peut expliquer la raison ? Lorsque le nombre 254 est explicitement converti en uchar, cela fonctionne comme prévu.
Merci pour le message, nous allons régler le problème.
Même histoire avec ushort :
Comment faire en sorte que lorsqu'une condition se produit, la musique s'allume ? Heh-heh, c'est une application un peu étrange de mql)) Mais regarder l'image en attendant le bon moment est ennuyeux, et laisser tout le travail au robot n'est pas très judicieux. J'ai donc décidé de laisser la musique jouer quand je le veux, et ensuite je le ferai moi-même ;))
J'ai regardé dans le livre de référence, ou peut-être que je cherchais trop fort ou quelque chose, mais je ne l'ai pas trouvé).
Vérifiez la fonction PlaySound()
Question sur le suivi des requêtes.
La description de la fonction OrderSend() indique que "Lors du passage d'un ordre au marché, la réussite de la méthode OrderSend() ne signifie pas toujours l'exécution réussie de la transaction. Vous devez vérifier le ... la valeur du retcode". C'est-à-dire qu'on peut en déduire que si OrderSend()==true, on peut toujours obtenir une requote. Ok.
Mais dans l'exemple ("Envoi d'une demande de transaction avec traitement du résultat") à la section"Structure du résultat de la demande de transaction", le message concernant une requote n'est vérifié que si OrderSend() ==false.
Dans quels cas vérifions-nous les requêtes : à toute valeur renvoyée par OrderSend(), ou seulement si OrderSend() ==false ?
Question sur le suivi des requêtes.
La description de la fonction OrderSend() indique que "lors du passage d'un ordre au marché, la réussite de la méthode OrderSend() ne signifie pas toujours que la transaction est réussie.
L'exécution réussie de la commande OrderSend() signifie uniquement que la demande est vérifiée et placée dans la file d'attente pour être exécutée. Mais son sort ultérieur n'est pas garanti - la commande peut être annulée pendant son traitement, par exemple en raison d'une politique de remplissage.
Mais en général, s'il y a eu une requote, OrderSend() a clairement échoué.
L'exécution réussie de OrderSend() signifie seulement que l'exactitude de la demande a été vérifiée et que celle-ci a été mise en file d'attente pour être exécutée. Mais son sort ultérieur n'est pas garanti - la commande peut être annulée pendant son traitement, par exemple, en raison de la politique de remplissage.
Mais en général, s'il y a eu une requote, OrderSend() a clairement échoué.
En d'autres termes, une requote signifie que la demande initiale n'a pas passé le contrôle d'exactitude ?
Eh bien, oui, le prix indiqué dans la requête ne correspondait pas et vous êtes invité à prendre en compte les nouveaux prix qui peuvent être obtenus à partir de la structure de réponse du serveur MqlTradeResult:
Eh bien oui, le prix indiqué dans la requête ne correspondait pas et il vous est demandé de prendre en compte les nouveaux prix, qui peuvent être obtenus à partir de la structure de réponse du serveur MqlTradeResult:
OK !
J'en fais probablement un peu trop, mais voici une autre question. Avant d'envoyer une requête pour placer un ordre au marché (pour ouvrir une position), je remets le ticket de transaction à zéro, c'est-à-dire que je fais en sorte que result.deal=0. Peut-on s'attendre à ce que le serveur renvoie un ticket de transaction nul dans la structure de réponse MqlTradeResult, mais qu'un peu plus tard, la transaction soit exécutée et que la position soit ouverte ? Ou bien le retour d'un ticket de transaction nul par le serveur garantit-il que la position n'a pas pu être ouverte et qu'elle ne sera plus ouverte sur la base de cette demande ?