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

 

Guten Tag!

Das Problem entstand aus heiterem Himmel, der Expert Advisor funktionierte, keine Probleme, aber sobald ich eine neue Funktion (Trailing Stop) eingefügt, OrderSelect funktionierte nicht in meinem gesamten EA und Fehler 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Ungültiger Wert der Funktionsparameter. Zuerst verstand ich es nicht, ich dachte, ich hätte irgendwo etwas geändert, ich entfernte den Trailing-Stop und gab alles zurück, wie es war, aber OrderSelect erzeugt immer noch Fehler.

Hier ist der Code, nur für den Fall:

         for(int i = OrdersTotal(); i > 0; i--)
           {
            if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
              {
               if(OrderType() == OP_SELL)
                 {
                  if(!OrderClose(OrderTicket(), Lots, Ask, slippage, clrRed))
                    {Print("Error Order Close SELL = ", GetLastError());}
                 }
              }
            else
              {Print("Error order select, try order close SELL = ", GetLastError());}
           }


 
Vitaliy Sendyaev:

Guten Tag!

Das Problem entstand aus heiterem Himmel, der Expert Advisor funktionierte, keine Probleme, aber sobald ich eine neue Funktion (Trailing Stop) eingefügt, OrderSelect funktionierte nicht in meinem gesamten EA und Fehler 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Ungültiger Wert der Funktionsparameter. Zuerst verstand ich es nicht, ich dachte, ich hätte irgendwo etwas geändert, ich entfernte den Trailing-Stop und gab alles zurück, wie es war, aber OrderSelect erzeugt immer noch Fehler.

Hier ist der Code, nur für den Fall:



Dies ist nicht der vollständige Code. Wahrscheinlich wurde irgendwo eine Klammer entfernt.
 
Vitaliy Sendyaev: OrderSelect erzeugt den Fehler 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Ungültiger Wert eines Funktionsparameters

Hier ist der Code für alle Fälle: for(int i = OrdersTotal(); i > 0; i--)

wir brauchen für (int i = OrdersTotal() -1; i>=0; i--) die Aufträge werden von Null an nummeriert, so dass die größte Zahl um 1 kleiner ist als die Zahl

 
STARIJ:

wir brauchen für (int i = OrdersTotal() -1; i>=0; i--) die Aufträge werden von Null an nummeriert und daher ist die höchste Zahl 1 weniger als die Zahl

Ganz genau! Das habe ich nicht bemerkt... Ich brauche mehr Schlaf


 
STARIJ:

Wir brauchen für (int i = OrdersTotal() -1; i>=0; i--) die Aufträge sind von Null an nummeriert und daher ist die höchste Zahl 1 weniger als die Zahl


Ich danke Ihnen!

 
Valerius:

Das ist nicht ernst gemeint... Was sind sie (input und extern) für dann....

Was ist daran nicht seriös? Sie haben eine Frage im Code-Zweig gestellt und eine entsprechende Antwort erhalten.
Nun, wenn Sie nicht daran gedacht haben, das Terminal neu zu starten, haben Sie bereits eine Antwort erhalten - servicedesk.

 
Valerius: Was mache ich, wenn ich z. B. heute die Einstellungen im EA vorgenommen habe und am nächsten Tag einige der Einstellungen leer sind?

Es ist schwer zu erraten, wie Sie das gemacht haben. Ich möchte Ihnen den Code des Expert Advisors nicht zeigen, und ich bin auch zu faul, ihn ganz durchzusehen. Erstellen Sie eine Kopie unter einem anderen Namen, löschen Sie alles außer den Parametern und der leeren Funktion OnTick (oder Start ???). Ist die Wirkung noch vorhanden? Zeigen Sie den resultierenden Code

 
Vitaliy Sendyaev: Ich danke Ihnen!

Hat es geholfen? Wie hat es früher funktioniert?

 

Es tut mir leid, aber ich verstehe nicht, warum oncalculate die Werte von vordefinierten Variablen übergeben sollte, wenn sie global und ebenfalls verfügbar sind

 
ijonhson:

Hallo, ich möchte einen EA auf der Grundlage eines Indikators zu machen, kopierte ich den Indikator-Code in ontick, ich bin die Variablen aus der onCalculate-Funktion fehlt, muss ich es alle durch copytime copyhigh copylow, etc. erhalten oder gibt es eine einfachere und schnellere Möglichkeit?

iCustom als Retter in der Not

iCustom - Технические индикаторы - Справочник MQL4
iCustom - Технические индикаторы - Справочник MQL4
  • docs.mql4.com
[in] input-параметры пользовательского индикатора, разделенные запятыми. Тип и порядок следования параметров должен соответствовать. Если параметры не указаны, то будут использованы значения по умолчанию.