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
Quelles fonctions, classes/méthodes utilisez-vous pour envoyer/modifier vos ordres ?
OrderSend() après la configuration deMqlTradeRequest
Avez-vous vu ceci (de la doc OrderSend) ?
Il convient de noter que la réussite de l'opération de la méthode OrderSend() ne signifie pas toujours la réussite de la transaction lors du placement d'un ordre de marché. Vérifiez la valeur retcode contenant le code de retour du serveur de négociation , et les valeurs du champ deal ou order selon le type d'opération dans lerésultat renvoyé .
Ilserait plus facile de vous aider en voyant le code.
Avez-vous vu cela (dans le document OrderSend) ?
Ilserait plus facile de vous aider en voyant le code.
Je vérifie le résultat retourné et n'essaie de placer le SL & TP que s'il retourne TRADE_RETCODE_PLACED ou TRADE_RETCODE_DONE.
Je vérifie le résultat retourné et n'essaie de placer le SL & TP que s'il retourne TRADE_RETCODE_PLACED ou TRADE_RETCODE_DONE.
Il convient de noter que la réussite de l'opération de la méthode OrderSend() ne signifie pas toujours la réussite de l'opération lors du placement d'un ordre au marché. Vérifiez la valeurretcode contenant le code de retour du serveur de négociation, et les valeurs du champ deal ou order selon le type d'opération dans lerésultat renvoyé .
Vous devez vérifier le numéro du ticket de transaction :
Ce n'est pas le dernier mot, si votre deal ticket est 0, votre modification de SL/TP ne s'exécutera pas de toute façon. Je cherche encore...
Vous devez vérifier le numéro du ticket de transaction :
Ce n'est pas le dernier mot, si votre deal ticket est à 0, votre modification de SL/TP ne sera pas exécutée de toute façon. Je cherche encore...
Je peux le faire, mais le problème est que la transaction a réussi et que la position a été ouverte ... pourtant, lorsque j'ai essayé d'ajouter le SL & TP, il a échoué avec des Stops invalides, même s'ils n'étaient pas invalides. Il semble que je doive attendre que quelque chose se passe avant de pouvoir envoyer la demande pour définir le TP & SL ... mais je ne sais pas vraiment quelle est la chose officielle et documentée que je devrais attendre.
Merci pour votre réponse :-)
Je peux le faire, mais le problème est que la transaction a réussi et que la position a été ouverte... pourtant, lorsque j'ai essayé d'ajouter le SL et le TP, cela a échoué avec des Stops invalides, même s'ils n'étaient pas invalides. Il semble que je doive attendre que quelque chose se passe avant de pouvoir envoyer la requête pour définir le TP et le SL... mais je ne sais pas vraiment quelle est la chose officielle et documentée que je devrais attendre.
Merci pour la réponse :-)
Je sais. Je vérifie tous les sites mql5 pour trouver une réponse :-D
Edit :
Il n' y a absolument rien sur ce site qui montre comment mettre un sl / tp avec un type d'exécution de transaction dumarché.
En fait j'ai le même problème mais en utilisant PositionOpen à la place de OrderSend, je peux aussi le faire manuellement.
Je sais. Je vérifie tous les sites mql5 pour trouver une réponse :-D
Modifier :
Il n' y a absolument rien sur ce site qui montre comment mettre un sl / tp avec un type d'exécution de transaction demarché.
En fait, j'ai le même problème mais en utilisant PositionOpen à la place de OrderSend, je peux aussi le faire manuellement.
J'ai trouvé. Il s'agit d'un problème de synchronisation entre votre EA et le serveur commercial. Vous devez utiliser le gestionnaire d'événements OnTradeTransaction().
Le résultat de l'exécution de la demande de transaction sur un serveur envoyée par la fonction OrderSend() peut être suivi par le handler OnTradeTransaction. Il convient de noter que le gestionnaire OnTradeTransaction sera appelé plusieurs fois lors de l'exécution d'une demande de transaction.
Par exemple, lors de l'envoi d'un ordre d'achat sur le marché, celui-ci est traité, un ordre d'achat approprié est créé pour le compte, l'ordre est ensuite exécuté et retiré de la liste des ordres ouverts, puis il est ajouté à l'historique des ordres, une transaction appropriée est ajoutée à l'historique et une nouvelle position est créée. La fonction OnTradeTransaction sera appelée pour chacun de ces événements.
J'ai trouvé. Il s'agit d'un problème de synchronisation entre votre EA et le serveur de commerce. Vous devez utiliser le gestionnaire d'événements OnTradeTransaction().
RTFM ;-) Essayez-le... demain pour moi.Ahhhh, merci, je vais regarder :-)
Mon EA apporte des erreurs étranges avec le build 778. Le volume de 0.1 est normalisé et clairement non invalide.
2013.03.12 07:29:57 pivots (SILVER,M5) SILVER a échoué ORDER_TYPE_SELL_STOP avec le volume 0.10 ; err# 4756 check code : 10014 commentaires : Volume invalide
2013.03.12 07:20:00 pivots (SILVER,M5) SILVER a échoué ORDER_TYPE_SELL_STOP avec le volume 0.10 ; err# 4756 code de retour : 10014, commentaires du courtier : Volume invalide
Voici le code qui le fait apparaître