Fermer toutes les positions uniquement pour le graphique sélectionné
3 réponses
tomas262
Il y a 8 ans #114928
Pour fermer toutes les positions ouvertes et tous les ordres uniquement pour l'EURUSD par exemple (et non pour tous les graphiques actifs dans MT), vous aurez besoin d'une fonction personnalisée qui contient le contrôle des symboles.
void sqCloseAllOrdersForChart() { for(int i=OrdersTotal()-1 ; i>=0 ; i--) { if (OrderSelect(i,SELECT_BY_POS)==true) { if((OrderType() == OP_BUY || OrderType() == OP_SELL) && Symbol() == OrderSymbol()) { sqClosePositionAtMarket(-1) ; } else if (Symbol() == OrderSymbol()) { tmpRet = OrderDelete(OrderTicket()) ; } } } }
Ajoutez ceci dans le fichier EA Wizard / code / CustomFunctions.mq4. Vous pouvez ensuite l'utiliser dans l'assistant comme indiqué dans l'exemple ci-joint.
Jojo
Il y a 8 ans #136035
Pour fermer toutes les positions ouvertes et tous les ordres uniquement pour l'EURUSD par exemple (et non pour tous les graphiques actifs dans MT), vous aurez besoin d'une fonction personnalisée qui contient le contrôle des symboles.
void sqCloseAllOrdersForChart() { for(int i=OrdersTotal()-1 ; i>=0 ; i--) { if (OrderSelect(i,SELECT_BY_POS)==true) { if((OrderType() == OP_BUY || OrderType() == OP_SELL) && Symbol() == OrderSymbol()) { sqClosePositionAtMarket(-1) ; } else if (Symbol() == OrderSymbol()) { tmpRet = OrderDelete(OrderTicket()) ; } } } }Ajoutez ceci dans le fichier EA Wizard / code / CustomFunctions.mq4. Vous pouvez ensuite l'utiliser dans l'assistant comme indiqué dans l'exemple ci-joint.
Merci Tomas, cela répond à beaucoup de mes prières !
Jojo
Il y a 8 ans #136037
Petite question : Faut-il créer un autre dossier dans lequel placer ce fichier (.../code/CustomFunctions) ? ou le placer dans le dossier Code ?
tomas262
Il y a 8 ans #136139
Ouvrez le fichier EAW / code / CustomFunctions.mq4 existant et ajoutez-y cette nouvelle fonction
Affichage de 3 réponses de 1 à 3 (sur un total de 3)