Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1847

 
EVGENII SHELIPOV #:

La question est de savoir si quelqu'un a rencontré une telle situation dans ce qui est la question du code incorrect ou dans la cuisine du courtier ????.

Gardez la trace non seulement de l'erreur de clôture, mais aussi des ordres qui ont été sélectionnés pour la clôture, il deviendra plus clair où se trouve le bug.

 
EVGENII SHELIPOV #:

Bonjour !!!!


Affichez le code pour OnTick()
 
EVGENII SHELIPOV réel, mais sur le compte réel, des miracles se produisent : seuls les ordres avec profit sont fermés sur l'ensemble de la grille.
//+----------------------------------------------------------------------------+
//| Закрытие сетки ордеров при заданной команде                                |
//+----------------------------------------------------------------------------+
void ClosseAll()
  {
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
            if(OrderType() == OP_BUY)
              {
               if(!OrderClose(OrderTicket(), OrderLots(), Bid, slip))
                  Print("Не удалось закрыть ордера на покупку!");
              }
            if(OrderType() == OP_SELL)
              {
               if(!OrderClose(OrderTicket(), OrderLots(), Ask, slip))
                  Print("Не удалось закрыть ордер на продажу!");
              }
           }
        }
     }
  }

Nous pouvons voir dans le code que les ordres sont fermés par le symbole et par un pont. Mais nous ne voyons pas de bénéfice pris en compte. Qu'est-ce qui empêche la fermeture des positions perdantes ? Il est probablement préférable de demander au courtier.

 
Mihail Matkovskij #:

Dans le code, vous pouvez voir que les ordres sont fermés par le symbole et par le meigic. Mais aucun bénéfice n'est pris en compte. Qu'est-ce qui empêche la fermeture des positions non rentables... ? Il est probablement préférable de demander au courtier.

Que pensez-vous, si j'ajoute la condition de calcul du profit > 0 à la fonction de fermeture de tous les ordres, cela changera-t-il ?

J'ai cette condition dans ma commande pour fermer les ordres

 
EVGENII SHELIPOV #:

Que pensez-vous, si j'ajoute la condition de calcul du profit > 0 à la fonction de fermeture de tous les ordres, cela changera-t-il ?

J'ai cette condition dans la commande pour fermer les ordres

Nous devons ajouter un contrôle
 
EVGENII SHELIPOV #:

Que pensez-vous, si j'ajoute la condition de calcul du profit > 0 à la fonction de fermeture de tous les ordres, cela changera-t-il ?

J'ai cette condition dans ma commande pour fermer les ordres

A en juger par votre question, les ordres ne sont pas fermés par le courtier. Si vous envoyez une demande au serveur pour clôturer un ordre (OrderClose) et que celui-ci n'est pas clôturé à la suite de cette demande, vous ne pouvez rien changer ici en utilisant le code.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.01.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
EVGENII SHELIPOV #:

Que pensez-vous, si j'ajoute la condition de calcul du profit > 0 à la fonction de fermeture de tous les ordres, cela changera-t-il ?

J'ai cette condition dans la commande pour fermer les commandes

Ajoutez un drapeau pour fermer jusqu'à ce qu'il soit fermé et n'importe quel courtier fonctionnera.
 
Tretyakov Rostyslav #:
Ajoutez le drapeau de fermeture jusqu'à la fermeture et n'importe quel courtier fonctionnera.

Maintenant, nous avons une conversation constructive.

Rostislav, si vous pouvez élaborer sur le drapeau.

Ou pas, pour les idiots, épelle-le.

 
EVGENII SHELIPOV #:

Maintenant, nous avons une conversation constructive.

Rostislav, si vous pouviez développer sur le drapeau.

Ou pas, alors épelle-le pour les idiots.

Pourriez-vous poster le code OnTick() ...

Pas tout le code, juste les parties où CountTrade() est vérifié.

 
Tretyakov Rostyslav #:

Affichez le code OnTick() ...

Pas tout, juste les parties où CountTrade() est vérifié.

Boîte de réception