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

 
Artyom Trishkin:

Wenn Sie jeder Zeile einen Kommentar hinzufügen, wird es noch interessanter:

input    int      MetaQuotes1    =  30;         // Описание входного параметра 1
input    bool     MetaQuotes2    =  true;       // Описание входного параметра 2
input    double   MetaQuotes3    =  20.3;       // Описание входного параметра 3
input    string   MetaQuotes4    =  "Corp";     // Описание входного параметра 4

und wenn man eine andere Aufzählung macht und sie anstelle von bool verwendet, ist es noch interessanter:

enum enumYN
  {
   enYes =  1,    // Да
   enNo  =  0,    // Нет
  };

input    int      MetaQuotes1    =  30;         // Описание входного параметра 1
input    enumYN   MetaQuotes2    =  enYes;      // Описание входного параметра 2
input    double   MetaQuotes3    =  20.3;       // Описание входного параметра 3
input    string   MetaQuotes4    =  "Corp";     // Описание входного параметра 4

und sinput ermöglicht es Ihnen, eine Variable aus der Liste der zu optimierenden Variablen auszuschließen. Zum Beispiel ist die Variable MetaQuotes4 in diesem Zusammenhang für die Optimierung nicht notwendig und kann ausgeschlossen werden:

enum enumYN
  {
   enYes =  1,    // Да
   enNo  =  0,    // Нет
  };

input    int      MetaQuotes1    =  30;         // Описание входного параметра 1
input    enumYN   MetaQuotes2    =  enYes;      // Описание входного параметра 2
input    double   MetaQuotes3    =  20.3;       // Описание входного параметра 3
sinput   string   MetaQuotes4    =  "Corp";     // Описание входного параметра 4

Daran ist nichts auszusetzen, wir mussten nur Text hinzufügen, um während der Optimierung zu verdeutlichen, von welchem Parameter und zu welchem Schritt.

 
Mikhail Goryunov:
Daran ist nichts auszusetzen, es musste lediglich ein Text hinzugefügt werden, um zu verdeutlichen, von welchem Parameter und Schritt aus und auf welchen Parameter hin optimiert wird.
GUT. Aber es gibt andere, die das nicht wussten ;)
 
Warum wird das so geschrieben, was wird zugewiesen? int tik=OrderSend
 
wishmast:
Warum wird dies als Zuweisung geschrieben? int tik=OrderSend
Denn
Возвращаемое значение

Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

Der Wert dieser Variable bestimmt dann, was Sie als nächstes tun. Zum Beispiel

      double ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),digits);
      price=NormalizePrice(_Symbol,ask+Distance*_Point);
      t=OrderSend(_Symbol,OP_BUYSTOP,volume,price,Slippage,0,0,CommentOrder,Magic,0,clrBlue);
      if(t<0)
        {
         error=GetLastError();
         rezult=StringConcatenate(_Symbol,": error open order ",DoubleToString(volume,2)," ",TypeToStr(type)," №- ",error," ",ErrorDescription(error));
         Print(rezult);
        }
      else
        {
         tiket=t;
         rezult=StringConcatenate(_Symbol,": open order ",t," ",DoubleToString(volume,2)," ",TypeToStr(type));
         Print(rezult);
         SendNotification(rezult);
        }


....

 
Artyom Trishkin:

und sinput ermöglicht es Ihnen, eine Variable aus der Liste der zu optimierenden Variablen auszuschließen. So wird beispielsweise die Variable MetaQuotes4 für die Optimierung in diesem Zusammenhang nicht benötigt und kann ausgeschlossen werden:


sinput   string   MetaQuotes4    =  "Corp";     // Описание входного параметра 4
Unglückliches Beispiel, Kleinbuchstaben-Parameter werden in keiner Weise in die Optimierung einbezogen.
 
Vitalie Postolache:
Unglückliches Beispiel: Parameter in Kleinbuchstaben werden in keiner Weise in die Optimierung einbezogen.
Ich habe sie nicht nach Erfolg/Misserfolg ausgewählt. Ich habe Ihnen gerade ein Beispiel für den Code gezeigt, den ich oben geschrieben habe. Das Beispiel war eindeutig. Das habe ich versucht zu tun.
 
Artyom Trishkin:
Ich habe sie nicht nach Erfolg/Misserfolg ausgewählt. Ich habe Ihnen gerade ein Beispiel für den obigen Code gezeigt. Das Beispiel war eindeutig. Das habe ich versucht zu tun.

Absolut richtig, das können Sie auch tun.

input string   MetaQuotes4    =  "Corp";
 
Mikhail Goryunov:

Absolut richtig, das können Sie auch tun

input string   MetaQuotes4    =  "Corp";
Das könnten Sie. Wer hindert Sie daran? Mein Ziel war es, über Sinput zu sprechen. Das habe ich. Nun, das Beispiel ist etwas unglücklich gewählt, aber das ändert nichts an der Sache.
 

Hier ist eine Konstruktion.

doubleiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)

Frage: Welchen Typ hatENUM_TIMEFRAMES?

 
Vitaly Muzichenko:

Hier ist eine Konstruktion.

doubleiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)

Frage: Welchen Typ hatENUM_TIMEFRAMES?

Dies ist eine Aufzählung
Grund der Beschwerde: