Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 133
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bonjour à tous. Pouvez-vous me dire comment modifier ce code for(int i=OrdersTotal()-1;i>=0;i--){
Bonjour à tous. Veuillez me dire comment modifier ce code for(int i=OrdersTotal()-1;i>=0;i--){
{
if( /*Функция закрытия. Если вернула истину*/ )
i--;
}
Essayez de cette façon. Au lieu des commentaires, vous devez utiliser la fonction pour clôturer l'ordre. Je n'ai pas vérifié sa fonctionnalité. Et là, je pense que nous devrons appeler la fonction qui calcule le montant des commandes à chaque fois, puisque le nombre de commandes va diminuer.
Nous pouvons également essayer une telle variante :
/*Функция закрытия ордера*/
il se ferme de manière maladroite)
n'est pas correcte, mais pour l'instant (jusqu'à un certain build) elle fonctionne : à la fermeture réussie de i--
Bonjour à tous. Pouvez-vous me dire comment modifier ce code for(int i=OrdersTotal()-1;i>=0;i--){
//| Закрыть все позиции начиная с первых |
//+------------------------------------------------------------------+
double CloseOrders()
{
for(int i=0; i<OrdersTotal(); )
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
break;
if (OrderMagicNumber() != mn)
break;
int type = OrderType();
bool result = false;
switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage, CloseColor );
break;
//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, CloseColor );
break;
}
if(result == false)
{
Print("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
i++;
}
}
return (True);
}
// End
Il se ferme de manière maladroite).