Fermeture de tous les Longs/Courts pour un symbole
0 réponses
tomas262
il y a 6 ans #117105
Bonjour,
pour clôturer une position longue ou courte uniquement pour un symbole donné, vous pouvez procéder de la manière suivante :
1) ajouter le code personnalisé dans le fichier CustomFunction.mq4 placé dans le dossier Wizard
void closeAllOrders(string direction, string symbolStr) { int total = OrdersTotal() ; for(int i=total-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS) ; int type = OrderType() ; bool result = false ; if (direction == "LONG" && type == OP_BUY && OrderSymbol() == symbolStr) { result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ) ; } else if (direction == "SHORT" && type == OP_SELL && OrderSymbol() == symbolStr) { result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ) ; } if(result == false) { Alert("Order " , OrderTicket() , " failed to close. Error :" , GetLastError() ) ; Sleep(3000) ; } } return(0) ; }
2) ajouter Action personnalisée comme ceci dans Wizard
closeAllOrders("LONG", "EURUSD") ;
Ceci, par exemple, clôturera toutes les positions longues sur l'EURUSD.
Si vous avez des questions, n'hésitez pas à m'en faire part.