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'ai mis un ordre en attente "OP_BUYSTOP" mais j'avais l'impression qu'il se transformerait en "OP_BUY" lorsqu'il serait déclenché ?
Je pensais que le type d'ordre serait "OP_BUY" s'il avait été déclenché ?
Après tout, je ne suis intéressé qu'UNE FOIS que l'ordre a été déclenché ?
Pourquoi ces accolades sont-elles déroutantes ? Voulez-vous dire en termes d'emplacement de la parenthèse gauche ? Si c'est le cas, il semble que ce soit une question individuelle, car j'ai été corrigé plusieurs fois à ce sujet ?
Les accolades ne sont pas nécessaires, donc le fait qu'elles soient là peut créer une confusion pour les autres personnes qui essaient de lire votre code (moi).
Si vous avez seulement un BUYSTOP, votre code ne fera rien parce que ce n'est pas un OP_BUY....
Hmmm, il ne veut toujours pas fermer @ "Close_Half_Order" ? Je ne reçois pas non plus de message d'erreur ?
Cela a donc un sens alors que la commande est toujours en attente...
Votre ordre a-t-il le bon numéro magique ?
J'ai supprimé la ligne "if(OrderType()==OP_BUY)" - Voici les nouvelles impressions dans le journal après le test ? Ticket invalide... (désolé de poser 101 questions à ce sujet !)
RaptorUK:
Vous ne fermez pas un ordre en attente, que vous a dit votre rapport d'erreur ?
Vous ne pouvez pas fermer un ordre en attente, il est supprimé.
Mais je n'essaie pas de clôturer un ordre en attente ? J'essaie de fermer la moitié des lots sur un "OP_BUY" qui n'est pas en attente... ? Il y a manifestement quelque chose qui m'échappe...
J'ai placé un ordre en attente "OP_BUYSTOP" mais j'avais l'impression qu'il se transformerait en "OP_BUY" lorsqu'il serait déclenché ?
Si je retire "OpenOrdersThisPair(Symbol()) == 1" du code, les messages sont exactement les mêmes dans le journal... Je suis perplexe... ?
Il est temps d'ajouter d'autres instructions Print(), de vérifier tout ce que vous n'avez pas déjà vérifié... vous êtes seulement déconcerté parce que vous ne savez pas pourquoi, trouvez pourquoi et vous ne serez plus déconcerté.
Lorsque vous avez trouvé pourquoi et que vous avez toutes ces instructions Print() que vous ne voulez plus imprimer dans l'onglet Journal/Experts, jetez un coup d'oeil à ceci qui vous permettra de les activer et de les désactiver : https://www.mql5.com/en/forum/135168/page2.
Ah, au fait, vous ne pouvez pas faire ça . . .
... sauf si FirstTarget_Buy == Bid Pour éliminer la possibilité que ce ne soit pas le cas, utilisez simplement Bid. Un achat est fermé avec une vente, une vente est exécutée à l'offre.
Comment suis-je censé clôturer la position au "FirstTarget_Buy " ?
Ok, donc si je mets "Bid" ici, les lots sont maintenant fermés, mais pas au bon prix, et il semble fermer plusieurs moitiés pendant une position. (plutôt vers les 2/3 supérieurs de la zone de prix cible de 100%... pas tous au même prix qu'ils clôturent...)
Comment suis-je censé clôturer la position au "FirstTarget_Buy " ?
Vous ne pouvez pas utiliser OrderClose() à un prix autre que Bid et Ask (Buy et Sell) ... c'est aussi simple que cela, vous ne pouvez pas.
Ce que vous pouvez faire :
ouvrir deux transactions pour la moitié de la position chacune et donner à chacune un TP différent
ou
surveiller le prix Bid/Ask et lorsqu'il a atteint ou dépassé "FirstTarget_Buy ", fermer la moitié de la transaction au prix Bid/Ask.