Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 47

 
Artyom Trishkin:

Si vous ajoutez des commentaires à chaque ligne, ce sera plus intéressant :

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

et si vous créez une autre énumération et l'utilisez à la place d'un bool, c'est encore plus intéressant :

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

et sinput vous permet d'exclure une variable de la liste des variables à optimiser. Par exemple, la variable MetaQuotes4 dans ce contexte n'est pas nécessaire pour l'optimisation et elle peut être exclue :

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

Il n'y a rien de mal à cela, nous avons juste eu besoin d'ajouter du texte pour que l'on sache clairement pendant l'optimisation de quel paramètre et de quelle étape.

 
Mikhail Goryunov:
Il n'y a rien de mal à cela, il suffisait d'ajouter du texte pour que l'on sache clairement à partir de quel paramètre et de quelle étape on optimise.
OK. Mais il y en a d'autres qui ne le savaient pas ;)
 
pourquoi l'écrivent-ils de cette façon, qu'assignent-ils ? int tik=OrderSend
 
wishmast:
pourquoi est-ce qu'ils écrivent ceci comme une affectation ? int tik=OrderSend
Parce que
Возвращаемое значение

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

La valeur de cette variable déterminera alors ce que vous ferez ensuite. Par exemple

      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:

et sinput permet d'exclure une variable de la liste des variables à optimiser. Par exemple, la variable MetaQuotes4 n'est pas nécessaire à l'optimisation dans ce contexte et peut être exclue :


sinput   string   MetaQuotes4    =  "Corp";     // Описание входного параметра 4
Exemple malheureux, les paramètres en minuscules ne seront en aucun cas impliqués dans l'optimisation.
 
Vitalie Postolache:
Exemple malheureux, les paramètres en minuscules ne seront en aucun cas impliqués dans l'optimisation.
Je ne les ai pas choisis par succès/échec. Je viens de vous montrer un exemple du code que j'ai écrit ci-dessus. L'exemple était clair. C'est ce que j'essayais de faire.
 
Artyom Trishkin:
Je ne l'ai pas ramassé par succès/échec. Je viens de vous montrer un exemple du code ci-dessus. L'exemple était clair. C'est ce que j'essayais de faire.

Tout à fait exact, vous pouvez aussi le faire.

input string   MetaQuotes4    =  "Corp";
 
Mikhail Goryunov:

Tout à fait exact, vous pouvez le faire aussi

input string   MetaQuotes4    =  "Corp";
Tu pourrais. Qui vous arrête ? Mon but était de parler du péché. Je l'ai fait. L'exemple est un peu malheureux, mais cela ne change rien à l'affaire.
 

Voici une construction.

doubleiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)

Question : quel est le type deENUM_TIMEFRAMES?

 
Vitaly Muzichenko:

Voici une construction.

doubleiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)

Question : quel est le type deENUM_TIMEFRAMES?

Il s'agit d'un enum