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

 

Hallo zusammen. Können Sie mir sagen, wo ich über den Fehler im MT5 nach dem Update vor zwei Wochen schreiben soll?


Der Punkt ist folgender. Wenn ich Positionen geöffnet habe und mit dem Mauszeiger über SL und TP fahre, wird das Datenfenster (das Fenster, das die Tatsache von SL und TP anzeigt) nicht angezeigt oder öffnet sich sehr langsam. Ich habe es mit mehreren Computern in verschiedenen Konten versucht. Ich habe das Gefühl, dass das nur passiert, wenn ich mehr als ein Fenster in meinem Terminal habe. Ich hatte dieses Problem vorher nicht.

Ich bin mir nicht sicher, wie ich es verwenden soll, und ich weiß nicht, was ich damit anfangen soll.

Dateien:
 
Artyom Trishkin:

Erstellen Sie eine neue globale Variable. Setzen Sie den Wert des Eingabeparameters Inp_element_2542795 auf diesen:

und ersetzen Sie den gesamten Eintrag der Zeichenfolge Inp_element_2542795 durch diese neue Variable g_element_2542795 mit Strg + H

Doch die Frage bleibt dieselbe. Der EA arbeitet selbstständig. Ich verstehe nicht, wozu diese globale Variable gut sein soll. Ich habe versucht, sie zu ändern, aber die 400 bleiben gleich. Ich habe versucht, den Wert auf 200 zu ändern, er bleibt konstant bei 200. Aber ich möchte, dass der EA in der Lage ist zu entscheiden, welcher Punkt angewendet werden soll.

 
jaffer wilson :

Doch die Frage bleibt dieselbe. Der EA arbeitet selbstständig. Ich verstehe nicht, wozu diese globale Variable gut sein soll. Ich habe versucht, sie zu ändern, aber die 400 bleiben gleich. Ich habe versucht, den Wert auf 200 zu ändern, er bleibt konstant bei 200. Aber ich möchte, dass der EA in der Lage ist zu entscheiden, welcher Punkt angewendet werden soll.

Wenn der Berater eine Variable ändern soll, dann sollte er die Variable g_element_2542795 ändern. Bei der Initialisierung wird der Wert der Variablen Inp_element_2542795 abgerufen, und im Berater können Sie ihn dann nach Belieben ändern.

 

Warum funktioniert das nicht so?

int massiv[OrdersTotal()];
 
igrok333:

Warum funktioniert das nicht so?

Stroustrup und Ritchie wollten es so.
 
igrok333:

Warum funktioniert es nicht?

Es wäre überraschend, wenn es so wäre.

 
igrok333:

Warum funktioniert das nicht so?

Die Verwendung von arrayresize wird funktionieren
 

Bitte helfen Sie mir, ich fange gerade erst an...
Wie kann ich eine konditionsbasierte Losgrößenbestimmung vornehmen? Ich habe dies geschrieben, aber es funktioniert nicht.

double lot()
{
if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid > = L2b1) ||
(Angebot >= L5b1) || (Angebot >= L8b1))
lot=(NormalizeDouble(Lots, 2))

if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
(Bid >= L5b) || (Bid >= L8b))
lot=(NormalizeDouble((Lots*1.5), 2))

if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
(Angebot >= L2b3) || (Angebot >= L5b3) || (Angebot >= L8b3))
lot=(NormalizeDouble((Lots*2.5), 2));
return lot;
}

 
wolder1:

Bitte helfen Sie mir, ich fange gerade erst an...
Wie kann ich eine konditionsbasierte Losgrößenbestimmung vornehmen? Ich habe das geschrieben, aber etwas funktioniert nicht.

double lot()
{
if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid >= L2b1) ||
(Gebot >= L5b1) || (Gebot >= L8b1))
lot=(NormalizeDouble(Lots, 2))

if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
(Gebot >= L5b) || (Gebot >= L8b))
lot=(NormalizeDouble((Lots*1.5), 2))

if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
(Gebot >= L2b3) || (Gebot >= L5b3) || (Gebot >= L8b3))
lot=(NormalizeDouble((Lots*2.5), 2))
Rückgabepartie;
}

Sie haben eine Verwirrung über Variablen und Funktionen, wenn es eine Funktion ist, versuchen Sie es auf diese Weise:

Einfügen des Codes mit ALT + S

double _LOTS()
  {
   double lot=0;
   if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid > = L2b1) ||
      (Bid >= L5b1) || (Bid >= L8b1))
      {
       lot=(NormalizeDouble(Lots, 2));
       Print(" lot = ", lot); 
       return(lot);
      }
      
    if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
      (Bid >= L5b) || (Bid > = L8b))
      {
       lot=(NormalizeDouble((Lots*1.5), 2));
       Print(" lot = ", lot); 
       return(lot);
      }
     
    

   if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
      (Bid >= L2b3) || (Bid >= L5b3) || (Bid >= L8b3))      
      {
       lot=(NormalizeDouble((Lots*2.5), 2));
       Print(" lot = ", lot); 
       return(lot);
      }
  } 
 
Eine einfache Frage. Die Eule lässt sich nicht kompilieren. Am Ende des Codes ist ein Fehler aufgetreten. + __FUNCSIG__
+ ": "+Market_Err_To_Str(errIndex)
+ "; Bestellschein = " + (string)OrderTicket()
+ "; Auftragsart = " + (string)OrderType()
+ "; Order Stop Loss = " + DoubleToStr(OrderStopLoss(), Digits())
+ "; neuer Stop-Loss = " + DoubleToStr(newStopLoss, Digits())
+ "; Bid = " + DoubleToStr(Bid, Digits())
+ "; Ask = " + DoubleToStr(Ask, Digits())
);
}
}
lastSetNonlosTryTime = TimeLocal();
}


Wirft einen Kompilierungsfehler. Bitte helfen Sie, wenn Sie können. Ich danke Ihnen!

Grund der Beschwerde: