Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 47

 
Artyom Trishkin:

Se você acrescentar comentários a cada linha, será mais interessante:

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

E se você fizer outra enumeração e usá-la em vez de um bool, é ainda mais 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 permite excluir uma variável da lista de variáveis para otimização. Por exemplo, a variável MetaQuotes4 neste contexto não é necessária para a otimização e ela pode ser excluída:

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

Não há nada de errado com isto, apenas precisávamos acrescentar texto para deixar claro durante a otimização de e para qual parâmetro e passo.

 
Mikhail Goryunov:
Não há nada de errado com isso, tudo o que era necessário era acrescentar texto para deixar claro ao otimizar de e para qual parâmetro e passo.
OK. Mas há outros que não sabiam ;)
 
por que eles escrevem assim, o que eles atribuem? int tik=OrderSend
 
wishmast:
por que eles escrevem isto como uma tarefa? int tik=OrderSend
Porque
Возвращаемое значение

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

O valor desta variável determinará então o que você fará em seguida. Por exemplo

      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 permite excluir uma variável da lista de variáveis a serem otimizadas. Por exemplo, a variável MetaQuotes4 não é necessária para a otimização neste contexto e pode ser excluída:


sinput   string   MetaQuotes4    =  "Corp";     // Описание входного параметра 4
Um exemplo infeliz, parâmetros em minúsculas não estarão envolvidos na otimização de forma alguma.
 
Vitalie Postolache:
Um exemplo infeliz, parâmetros em minúsculas não estarão envolvidos na otimização de forma alguma.
Eu não os escolhi por sucesso/falha. Eu acabei de lhes mostrar um exemplo do código que escrevi acima. O exemplo era claro. Era isso que eu estava tentando fazer.
 
Artyom Trishkin:
Eu não o peguei por sucesso/falha. Eu acabei de lhes mostrar um exemplo do código acima. O exemplo era claro. Era isso que eu estava tentando fazer.

Absolutamente certo, você também pode fazer isso.

input string   MetaQuotes4    =  "Corp";
 
Mikhail Goryunov:

Absolutamente certo, você também pode fazer isso

input string   MetaQuotes4    =  "Corp";
Você poderia. Quem está lhe impedindo? Meu propósito era falar sobre sinput. Eu fiz. Bem, o exemplo é um pouco infeliz, mas não muda a questão.
 

Aqui está uma construção.

duploiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)

Pergunta: que tipo deENUM_TIMEFRAMES tem?

 
Vitaly Muzichenko:

Aqui está uma construção.

duploiLowest(string symbol,ENUM_TIMEFRAMES timeframe,int ne)

Pergunta: que tipo deENUM_TIMEFRAMES tem?

Este é o enumero