Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 47

 
Artyom Trishkin:

Se aggiungete dei commenti ad ogni riga, sarà più interessante:

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

E se fate un'altra enumerazione e la usate al posto di un bool, è ancora più interessante:

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

e sinput permette di escludere una variabile dalla lista delle variabili per l'ottimizzazione. Per esempio, la variabile MetaQuotes4 in questo contesto non è necessaria per l'ottimizzazione e può essere esclusa:

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

Non c'è niente di sbagliato in questo, avevamo solo bisogno di aggiungere del testo per rendere chiaro durante l'ottimizzazione da e verso quale parametro e passo.

 
Mikhail Goryunov:
Non c'è niente di sbagliato in questo, tutto ciò che era necessario era aggiungere del testo per rendere chiaro quando si ottimizza da e verso quale parametro e passo.
OK. Ma ci sono altri che non lo sapevano ;)
 
perché lo scrivono così, cosa assegnano? int tik=OrderSend
 
wishmast:
perché lo scrivono come incarico? int tik=OrderSend
Perché
Возвращаемое значение

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

Il valore di questa variabile determinerà poi ciò che farete dopo. Per esempio

      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:

e sinput permette di escludere una variabile dalla lista delle variabili da ottimizzare. Per esempio, la variabile MetaQuotes4 non è necessaria per l'ottimizzazione in questo contesto e può essere esclusa:


sinput   string   MetaQuotes4    =  "Corp";     // Описание входного параметра 4
Esempio sfortunato, i parametri minuscoli non saranno coinvolti nell'ottimizzazione in alcun modo.
 
Vitalie Postolache:
Esempio sfortunato, i parametri minuscoli non saranno coinvolti in alcun modo nell'ottimizzazione.
Non li ho scelti in base al successo/fallimento. Vi ho appena mostrato un esempio del codice che ho scritto sopra. L'esempio era chiaro. Questo è quello che stavo cercando di fare.
 
Artyom Trishkin:
Non l'ho preso per il successo/fallimento. Vi ho appena mostrato un esempio del codice di cui sopra. L'esempio era chiaro. Questo è quello che stavo cercando di fare.

Assolutamente giusto, si può fare anche questo.

input string   MetaQuotes4    =  "Corp";
 
Mikhail Goryunov:

Assolutamente giusto, si può fare anche questo

input string   MetaQuotes4    =  "Corp";
Potresti. Chi ti ferma? Il mio scopo era quello di parlare di sinput. L'ho fatto. Beh, l'esempio è un po' infelice, ma non cambia il punto.
 

Ecco una costruzione.

doubleiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)

Domanda: che tipo haENUM_TIMEFRAMES?

 
Vitaly Muzichenko:

Ecco una costruzione.

doubleiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)

Domanda: che tipo haENUM_TIMEFRAMES?

Questo è enum
Motivazione: