Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1645

 
EVGENII SHELIPOV #:

Makar, können Sie erklären, an welcher Stelle des Codes auf die Funktion verwiesen wird?

Wenn es mehr als 1 Auftrag gibt

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

Entschuldigung, ich schrieb für 4...

Eingecheckt in 5! Es klappt.

Danke. Sehr seltsam, dass meine Version nicht funktioniert hat. Ich habe mir das Gehirn gebrochen)))

 
Andrey Sokolov #:

Ich danke Ihnen. Es ist sehr seltsam, dass meine Option nicht funktioniert hat.

Es ist nicht seltsam...

Sie haben die Pfade nicht geschrieben, hier ist Ihr 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)){

und was bedeuten "src_path" und "dst_path"?

 
MakarFX #:

Wenn es mehr als 1 Auftrag gibt

Nein, Makar, das funktioniert nicht.

 
MakarFX #:

Es ist nicht seltsam...

Sie haben die Pfade nicht geschrieben, hier ist Ihr Code

und was bedeuten "src_path" und "dst_path"?

sie stehen in den nächsten beiden Zeilen, die ich der Hilfe entnommen habehttps://www.mql5.com/ru/docs/files/filemove

Das ist nicht der Punkt, dieser Code funktionierte in mt4, und ich verschob den ersten Screenshot in mt5.

 
EVGENII SHELIPOV #:

Nein, Makar, das funktioniert nicht.

Das kann nicht sein... Geben Sie mir den gesamten Code in einer privaten Nachricht.
 
MakarFX #:
Das gibt's doch nicht... Geben Sie mir den gesamten Code in Ihrem Posteingang.

Ich habe Ihnen geschickt

 
EVGENII SHELIPOV #:

Ich habe Ihnen geschickt

Antwort
 
MakarFX #:
antwortete

Makar, danke, ich werde weiter nachdenken.

 
MakarFX #:
antwortete

Guten Tag Makar !!!

Ihrem Rat folgend habe ich eine Stelle in der ungültigen OnTick()-Funktion gefunden, an der ich die TrailingGroupOrder()-Funktion anhängen kann, um einen Befehl zum Ändern einer Spur von Gruppenaufträgen zu senden, und oh mein Gott, die Spur von Gruppenaufträgen hat angefangen zu funktionieren. Meine Freude währte jedoch nicht lange. Bei näherer Betrachtung habe ich gesehen, dass nur die Bestellung mit einem Mindestticket ausgelöst wird.

//+----------------------------------------------------------------------------+
//| Трейлинг стоп групповых ордеров                                            |
//+----------------------------------------------------------------------------+
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("Ошибка модификации групповых ордеров на продажу!");
              }
           }
         }
      } 
    }
}

Ich kann mit großer Wahrscheinlichkeit davon ausgehen, dass das Problem nur in der Änderung der ersten (minimalen) Bestellung liegt und nicht in der Änderung aller Bestellungen auf einmal.

Makar rät, wie man alle Aufträge im Raster auf einmal ändern kann????

Grund der Beschwerde: