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

 
Sprut112:

Wie wäre es damit?

Machen Sie es so...

double Freeus =AccountInfoDouble(ACCOUNT_MARGIN_FREE)* MaximumRisk 
               /SymbolInfoDouble(symbol_name[ir],SYMBOL_TRADE_TICK_VALUE)/ 1000;
  input_lots = NormalizeDouble(MathRound(Freeus) * SymbolInfoDouble(symbol_name[ir], SYMBOL_VOLUME_STEP),dg);
 
xxz:

tun Sie dies...

Nein, es hat funktioniert, als ich Step hinzugefügt habe:) Nochmals vielen Dank!
 
Vladimir Karputov:

Korrektur der Initialisierungsblöcke in EAs (OnInit() ).

Was genau? 0 Warnungen. Rückgabe 0 bis
return(INIT_SUCCEEDED) wenn nur.
 
pivomoe:
Was ist damit? Rückgabe 0 an
return(INIT_SUCCEEDED) wenn nur.

Zeigen Sie den kompletten MQL5-Code der OnInit()-Funktion von EAs, die nicht neu geladen werden. Zeigen Sie den kompletten MQL5-Code der OnDeinit() -Funktion von Expert Advisors, die nicht neu geladen werden. Verwenden Expert Advisors Bibliotheken von Drittanbietern? Dll?

 
Vladimir Karputov:

Zeigen Sie den vollständigen MQL5-Code der OnInit()-Funktion von EAs, die nicht neu geladen werden. Zeigen Sie den kompletten MQL5-Code der OnDeinit() -Funktion von EAs, die nicht neu geladen werden. Verwenden Expert Advisors Bibliotheken von Drittanbietern? Dll?

Ich verwende keine Dll. Der Code von OnInit ist 1000 Zeilen lang. Es gibt eine Speicherzuweisung für Klassen. Vielleicht wird bei OnDeinit nicht der gesamte Speicher freigegeben. Das Schließen des Terminals mit einem Kreuz ist in Ordnung, aber der Scheduler funktioniert nur in 90 % der Fälle.
 
pivomoe:
Ich verwende keine Dll. Der Code von OnInit ist 1000 Zeilen lang. Es gibt eine Speicherzuweisung für Klassen. Vielleicht wird bei OnDeinit nicht der gesamte Speicher freigegeben. Das Schließen des Terminals mit einem Kreuz ist in Ordnung, aber der Scheduler funktioniert nur in 90 % der Fälle.

Sie haben bereits 90 % Ihrer Frage beantwortet. Jetzt muss nur noch der Fehler gefunden werden :)

 
Bitte teilen Sie mir mit, wie ich jedem Auftrag ausdrücklich eine andere Magie zuweisen kann.
Zum Beispiel.
Zum Beispiel müssen wir Folgendes einrichten
Buy_Stop Auftrag und weisen Sie ihm magic_1 zu
Buy_Stop bestellen und ihm magic_2 zuweisen
Buy_Stop Auftrag und setzen Sie seine magic_3

So können wir bei der Änderung von Aufträgen explizit angeben, welcher Auftrag geändert werden soll.

Wenn ein Auftrag Buy_Stop == wizard_2 ist, ändern Sie ihn.

 

Guten Tag.

Ich habe Fragen im Zusammenhang mit dem Fehlen von Sleep() im Tester. Ich würde gerne wissen, wie man die folgenden Probleme bei der Verwendung des Strategietesters löst (sowohl einzelne Läufe als auch Aufzählung der Eingabeparameter):

1) Wie wird geprüft, ob ein Indikatorgriff bereit ist? Wie kann ich warten, bis die Berechnung des Indikators abgeschlossen ist, und erst dann mit den Zeilen fortfahren?

2) Wie warte ich darauf, dass die aufgerufene Textdatei während des EAs zum Lesen geöffnet wird?

3) Wie kann man auf die Antwort der Funktion OrdersTotal() warten? Und kann es eine Verzögerung bei der Reaktion auf diese Funktion geben?

4) Wie kann man auf die Antwort der Funktion OrderCalcMargin() warten? Und kann es eine Verzögerung bei der Reaktion auf diese Funktion geben?

5) Macht es Sinn, auf den"Trade Server Return Code" durch MqlTradeResult im Tester zu warten (auch wenn nicht klar ist, wie).

Im Terminal wurden alle diese Aufgaben mit Sleep() gelöst, während dies im Testgerät nicht funktioniert. Außerdem bin ich nicht sicher, ob Sleep() notwendig ist, vielleicht gibt es eine vernünftigere Lösung?

Schon jetzt vielen Dank.

 

Hallo! Zerlegen Sie die Konstruktion in if... C= (i>0) ? (A>B) ? 1 : (A<B) ? 2 : C: 0;

die Hilfe gelesen - aber nicht geschafft)

 
Tango_X:

Hallo! Zerlegen Sie die Konstruktion in if... C= (i>0) ? (A>B) ? 1 : (A<B) ? 2 : C: 0;

die Hilfe gelesen - aber nicht geschafft)

Das sieht folgendermaßen aus:

C=xxx;
if(i>0)
  {
   if(A>B)
     {
      C=1;
     }
   else
     {
      if(A<B)
        {
         C=2;
        }
      else
        {
         C=C;
        }
     }
  }
else
  {
   C=0;
  }

S.S.: Das hat nichts mit der Hilfe zu tun. Es geht um Logik.

Grund der Beschwerde: