Modifier un stop achat/vente
6 réponses
huangwh88
Il y a 7 ans #116411
Bonjour,
Disons que j'ai un ordre d'achat stop au plus haut des 10 dernières périodes. Si l'ordre n'est pas déclenché après la dernière période, comment puis-je modifier le stop d'achat pour tenir compte du changement dans la fenêtre de 10 périodes ?
tomas262
Il y a 7 ans #141822
Bonjour,
pour modifier un ordre stop, il faut l'annuler à l'aide de la fonction "close position", puis rouvrir un nouvel ordre.
huangwh88
Il y a 7 ans #141834
Bonjour,
pour modifier un ordre stop, il faut l'annuler à l'aide de la fonction "close position", puis rouvrir un nouvel ordre.
Bonjour Tomas,
Chaque fois que le buy stop de highest(10) n'est pas déclenché, je veux ajuster le prix d'entrée de façon à ce que le high le plus élevé soit mis à jour. J'ai essayé ceci :
IF :
l'ordre en attente existe(1000) est Vrai
ALORS :
position rapprochée, nombre magique 1000
Entrer à l'arrêt, le plus élevé (10), le nombre magique 1000
Il y a une erreur parce qu'il y a 2 ordres avec le nombre magique 1000. La règle qui a créé l'ordre d'achat initial utilise également le nombre magique 1000. Ai-je besoin d'un numéro magique différent chaque fois que je modifie un stop d'achat, même si les ordres sont en fait les mêmes ?
tomas262
Il y a 7 ans #141849
Bonjour,
ok, nous avons besoin d'utiliser une fonction pour modifier le prix de la commande. Je vais faire un exemple pour cela et le joindre
tomas262
Il y a 7 ans #141870
Vous pouvez ajouter cette fonction dans EA Wizard CustomFunctions.mq4 placé dans Wizard \ Code
void modifyPendingOrder(int orderMagicNumber, double newPO) { bool found = false ; for (int cc = OrdersTotal() - 1 ; cc >= 0 ; cc--) { if (!OrderSelect(cc, SELECT_BY_POS) ) continue ; if(OrderMagicNumber() == orderMagicNumber && OrderSymbol() == Symbol()) { found = true ; Verbose("Moving PO for order with Magic Number : ", orderMagicNumber,", ticket : ", OrderTicket(), ", new PO : ", newPO) ; tmpRet = OrderModify(OrderTicket(), newPO, 0, 0, 0) ; } } if(!found) { Verbose("Moving PO - order with Magic Number : ", orderMagicNumber, " was not found") ; } }
Le prix de la commande peut ensuite être modifié comme indiqué dans l'exemple ci-joint.
huangwh88
Il y a 7 ans #141966
Vous pouvez ajouter cette fonction dans EA Wizard CustomFunctions.mq4 placé dans Wizard \ Code
void modifyPendingOrder(int orderMagicNumber, double newPO) { bool found = false ; for (int cc = OrdersTotal() - 1 ; cc >= 0 ; cc--) { if (!OrderSelect(cc, SELECT_BY_POS) ) continue ; if(OrderMagicNumber() == orderMagicNumber && OrderSymbol() == Symbol()) { found = true ; Verbose("Moving PO for order with Magic Number : ", orderMagicNumber,", ticket : ", OrderTicket(), ", new PO : ", newPO) ; tmpRet = OrderModify(OrderTicket(), newPO, 0, 0, 0) ; } } if(!found) { Verbose("Moving PO - order with Magic Number : ", orderMagicNumber, " was not found") ; } }Le prix de la commande peut ensuite être modifié comme indiqué dans l'exemple ci-joint.
Bonjour Tomas, merci pour votre aide précieuse.
Je souhaite ajouter une condition IF qui doit être satisfaite avant que l'ordre en attente puisse être déplacé selon le code ci-dessus. Si cette condition n'est pas remplie, l'ordre en attente est supprimé. Existe-t-il un moyen d'ajouter cette suppression d'ordre sans créer une autre règle IF/THEN ?
tomas262
Il y a 7 ans #141990
Bonjour,
oui, vous pouvez ajouter des conditions supplémentaires dans l'onglet modifier et créer un autre onglet pour supprimer l'ordre en attente (en utilisant la fonction "Fermer la position" pour le supprimer)
Affichage de 6 réponses de 1 à 6 (sur un total de 6)