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

 
EVGENII SHELIPOV #:

Makar, pouvez-vous expliquer à partir de quel endroit du code la fonction sera référencée ?

S'il y a plus d'une commande

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
   {
//---
   if(CountTrade()>1) TrailingGroupOrder();
   }
 
MakarFX #:

Désolé, j'ai écrit pour 4...

Vérifié dans 5 ! Ça marche.

Merci. Très étrange que ma version n'ait pas fonctionné. Je me suis cassé le cerveau)))

 
Andrey Sokolov #:

Merci. C'est très étrange que mon option n'ait pas fonctionné.

Ce n'est pas bizarre...

vous n'avez pas écrit les chemins, voici votre code

   string src_path; 
   string dst_path; 
   StringConcatenate(src_path,"","//",name_file); 
   StringConcatenate(dst_path,name_folder,"//",name_file); 
   ResetLastError();
   if(FileMove(src_path,0,dst_path,0)){

et à quoi correspondent "src_path" et "dst_path" ?

 
MakarFX #:

S'il y a plus d'une commande

Non Makar, ça ne marche pas.

 
MakarFX #:

Ce n'est pas étrange...

vous n'avez pas écrit les chemins, voici votre code

et que signifient "src_path" et "dst_path" ?

ils sont écrits dans les deux lignes suivantes, je l'ai pris de l'aidehttps://www.mql5.com/ru/docs/files/filemove

Ce n'est pas le sujet, ce code a fonctionné dans mt4, et j'ai déplacé la première capture d'écran dans mt5.

 
EVGENII SHELIPOV #:

Non Makar, ça ne marche pas.

Ce n'est pas possible... Donnez-moi tout le code dans le message privé.
 
MakarFX #:
Pas moyen... Donnez-moi le code complet dans votre boîte de réception.

Je vous ai envoyé

 
EVGENII SHELIPOV #:

Je vous ai envoyé

Réponse
 
MakarFX #:
a répondu

Makar, merci, je vais continuer à réfléchir.

 
MakarFX #:
a répondu

Bonne journée Makar ! !!

En suivant vos conseils, j'ai trouvé un endroit dans la fonction void OnTick() où je peux attacher la fonction TrailingGroupOrder() pour envoyer une commande pour modifier une traînée d'ordres groupés, et oh mon dieu la traînée d'ordres groupés a commencé à fonctionner. Cependant, ma joie n'a pas duré longtemps. En regardant de plus près, j'ai vu que seule la commande avec un ticket minimum est trilled.

//+----------------------------------------------------------------------------+
//| Трейлинг стоп групповых ордеров                                            |
//+----------------------------------------------------------------------------+
void TrailingGroupOrder()
{
    for(int i = OrdersTotal()-1; i>=0; i--)
    {
     if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
       if(OrderType() == OP_BUY && Bid - GetAveragePrice() > TrailingStopGroupOrder*Point)
        {
        if(Bid - GetAveragePrice() > TrailingStopGroupOrder*Point || OrderStopLoss() == 0)
         {
         if(OrderStopLoss() < Bid - (TrailingStep + TrailingStopGroupOrder )*Point || OrderStopLoss() == 0)
          {
          if(!OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Bid - TrailingStopGroupOrder*Point, Digits), tp, 0))
                    Print("Ошибка модификации групповых ордеров на покупку!");
          }
         }
        }
        if(OrderType() == OP_SELL && GetAveragePrice() - Ask > TrailingStopGroupOrder*Point)
         {
         if(GetAveragePrice() - Ask > TrailingStopGroupOrder*Point || OrderStopLoss() == 0)
           {
            if(OrderStopLoss() > Ask + (TrailingStep + TrailingStopGroupOrder)*Point || OrderStopLoss() == 0)
              {
              if(!OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ask + TrailingStopGroupOrder*Point, Digits), tp, 0))
                    Print("Ошибка модификации групповых ордеров на продажу!");
              }
           }
         }
      } 
    }
}

Je peux très probablement supposer que le problème réside dans la modification de la première commande (minimale) uniquement et non de toutes les commandes en même temps.

Makar conseille comment modifier tous les ordres dans la grille ????