Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 522

 
toni_stark:
Können Sie mir bitte sagen, den Code: EA öffnet eine Bestellung pro Tag, wie man diese Aufträge am Ende des Tages zu schließen, zB 23:50?
if(TimeCurrent()>=D'23:50') close_all();
 
Vasyl Nosal:
if(TimeCurrent()>=D'23:50') close_all();
Werden in diesem Fall alle Aufträge geschlossen oder nur die vom Expert Advisor eröffneten?
 
toni_stark:
Werden mit dieser Option alle Aufträge geschlossen oder nur die, die vom EA geöffnet wurden?
Das hängt von der Schließfunktion ab.
 
toni_stark:
Werden in diesem Fall alle Aufträge geschlossen oder nur die vom Expert Advisor eröffneten?

:)))

Was Sie in die Funktion close_all() schreiben

 
Mit welchem Parameter oder welcher Funktion lässt sich der Indikator um n Punkte nach oben oder unten verschieben?
Dateien:
 
Vasyl Nosal:

:)))

Was Sie in close_all() schreiben

Bei der Funktion close_all() ist es nicht ganz klar, sie steht nicht im Metaditor. Vielleicht ist die Funktion OrderClose() gemeint?
 
toni_stark:
Es ist nicht ganz klar, was die Funktion close_all() ist, sie steht nicht im Metadatenbankberater. Vielleicht ist die Funktion OrderClose() gemeint?

meint er etwa Folgendes

//+------------------------------------------------------------------+
void сlose_all()
  {
   double price=0;
   bool error;
   int total=OrdersTotal();

   for(int i=total-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS))
        {
         //Print(__FUNCTION__);

         if(OrderType()==OP_BUY)
           {
            RefreshRates();
            price=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),(int)MarketInfo(OrderSymbol(),MODE_DIGITS));
            error=OrderClose(OrderTicket(),OrderLots(),price,10000,clrBlue);
            if(!error) PrintFormat("Error № %d closing the order. Ticket: %d",GetLastError(),OrderTicket());
           }
         if(OrderType()==OP_SELL)
           {
            RefreshRates();
            price=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),(int)MarketInfo(OrderSymbol(),MODE_DIGITS));
            error=OrderClose(OrderTicket(),OrderLots(),price,10000,clrBlue);
            if(!error) PrintFormat("Error № %d closing the order. Ticket: %d",GetLastError(),OrderTicket());

           }
         if(OrderType()>1)
           {
            error=OrderDelete(OrderTicket());
            if(!error) PrintFormat("Error № %d delete the order. Ticket: %d",GetLastError(),OrderTicket());
           }

        }

     }
  }
//+------------------------------------------------------------------+
 
Sergey Gritsay:

meint er etwa Folgendes

Ich hab's, eine benutzerdefinierte Funktion.
 
Liebe Programmierer. Können Sie helfen? Ich muss einen EA "straffen" (ich lege ihn aus), um die Anzahl der offenen Aufträge festzulegen. Ich weiß nicht, ob es helfen wird. Ich habe diese Eulen auf mehrere Paare angesetzt und nur eine Bestellung ist geöffnet. Wenn ich einen Auftrag für eines der Paare eröffne, werden die Signale für das andere Paar nicht ignoriert. Ich weiß nicht, was ich damit anfangen soll.
Dateien:
 
Entschuldigung...mein Fehler(Und wenn ein Auftrag für ein Paar offen ist, werden die Signale für das andere Paar INVOIDED)
Grund der Beschwerde: