Voici la fonction que j'utilise, elle contient le code provenant des guides MetaTrader de Trader forex.
Code:
int closeorder()
{
for(int i= OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
switch(type)
{
//Fermeture des positions d’achat
case OP_BUY :
result = OrderClose( OrderTicket(), OrderLots(),MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
break;
// Fermeture des positions de vente
case OP_SELL :
result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
break;
//Fermeture des ordres en attente
case OP_BUYLIMIT :
case OP_BUYSTOP :
case OP_SELLLIMIT :
case OP_SELLSTOP :
result = OrderDelete( OrderTicket() );
}
if(result == false)
{
Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
Sleep(3000);
}
}
return(0);
}
cette fonction mise à part dans ton code permet de fermer tout les ordres.
Il suffit de l'appeler en tappant closeorder();