J'ai mis à jour le post.
Pour commencer, essayez d'utiliser les représentations des nombres entiers et recommencez le test. Voyez si cela résout votre problème et nous en reparlerons. Edit : Je pense que cela a quelque chose à voir avec le fait que ordertype commencera à 0. Et orderselect gardera la dernière commande sélectionnée en place.
Pour commencer, essayez d'utiliser les représentations des nombres entiers et recommencez le test. Voyez si cela résout votre problème et nous en reparlerons.
Edit : Je pense que cela a quelque chose à voir avec le fait que ordertype commencera à 0. Et orderselect gardera la dernière commande sélectionnée en place.
Cela pourrait être...
Essayez de déclarer orderType comme quelque chose qu'il ne peut pas être... par ex.
int orderType = 10;
... et voyez ce qui se passe. Si vous n'obtenez aucun message, c'est que la sélection des ordres ne fonctionne pas.
Cela pourrait être...
Essayez de déclarer orderType comme quelque chose qu'il ne peut pas être ... par ex.
... et voyez ce qui se passe, si vous n'obtenez aucun message, c'est que votre sélection de commandes ne fonctionne pas.
Cela fonctionne exactement de la même manière si je déclare d'abord : int orderType = 10 ;
J'ai également essayé d'utiliser OrderType() toujours au lieu de déclarer une variable, mais il y a le même problème.
J'ai également essayé d'appeler OrderSelect(...) juste avant de modifier la commande, mais aucun changement.
Ajoutez quelques instructions Print() ; pour voir ce qui ne va pas, par exemple.
if(/*OrderMagicNumber()==Magic &&*/ OrderSymbol()==Symbol()) { Print("orderType = ",orderType); if ((orderType == OP_BUY || orderType == OP_BUYSTOP)) {
... puis jetez un coup d'œil à l'onglet Experts.

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
J'essaie de coder un EA et à un certain endroit dans mon code je dois mettre à jour le stoploss des ordres ouverts et en attente. J'affiche une alerte avec les informations sur l'ordre.
Quand je l'exécute, je reçois un message comme : "Count : 2 Stoploss 1.44705 pour ordre d'achat : 46450421 orderType : 1".
Le type d'ordre : 1 signifie que l'ordre 46450421 est un ordre OP_SELL, ce qu'il est, mais pourquoi déclenche-t-il le test "if ((orderType == OP_BUY || orderType == OP_BUYSTOP))" au lieu de "if ((orderType == OP_SELL || orderType == OP_SELLSTOP))" ?
Veuillez m'aider :-)
Daniel