Uma pergunta para os especialistas em MQL - página 6

 

Assim? - Em vez de

int getNextOrderNum(int RRRR) {
   switch (RRRR) {
   case 101:
      return (102);
                  }
   return (0);
}

Por favor, me diga o que devo colocar aqui:

(para Magic_101, Magic_102)

int getNextOrderNum(int RRRR) {
  ..... ?... ... ?
   return (0);
}

 

Andrei, é claro que ele não vai compilar. Talvez você pudesse simplesmente definir a tarefa de maneira diferente? E, como me parece, neste caso tudo é bastante transparente.

Usar (correto no código) etiquetas nos ints, e pronto... Eu não entendo por que todo esse barulho e sibilância por ajuda...)))

 

Talvez, eu não possa dizer sem o código. Provavelmente pode ser feito de uma maneira mais simples.

Rita:

Por favor, me diga o que devo colocar aqui:

{
   if (RRRR == 101)
   {
      return (102);
   }
   else if (RRRR == 102)
   {
      return (103);
   }
   //...
}

Aqui está outro problema - com cada nova condição o nível de aninhamento aumenta, e seu nível é limitado, ou seja, no nível de aninhamento em torno de 20 (não me lembro exatamente) o código vai parar de compilar novamente.

Tenho uma sugestão alternativa - repita a pergunta aqui com código mais detalhado, provavelmente é possível torná-la muito mais transparente e mais simples.

 

Nenhum outro, não restrito

   if (RRRR == 101){
      return (102);
   }
   if (RRRR == 102){
      return (103);
   }
   //...
 
return(RRRR+1)
 
Talvez apenas uma função que aumente o magik em um. O exemplo parece precisar disto. Embora o último exemplo Inteiro seja apenas
 
Integer:

Nenhum outro, não restrito

100%. Esta é a solução em que precisamos parar. Sem rabos ou ranho, todas as modificações são estritamente limitadas ao interruptor anterior.
 

Boa noite a todos.

Portanto, ainda não entendo bem. Preciso substituir as magias no código EA (há cerca de 20 delas), dadas por números. Foi-me pedido para colocar o magik em variáveis globais. Eu fiz isso.

Magic_101=Magic+1;
Magic_102=Magic+2;
Magic_103=Magic+3;

Eu entendi corretamente a sugestão da Integer?

Em vez do código de função no qual os mágicos são especificados como números:

int getNextOrderNum(int Магик) {
   switch (Магик) {
   case 101:
      return (102);
   case 102:
      return (103);
   
      }
   return (0);
}

Seria correto defini-lo desta forma? -

int getNextOrderNum(int Магик) {
   if (Магик == Magic_101)    {  return (Magic_102);}
   if (Магик == Magic_102)    {  return (Magic_103); }
    
                return (0);
                              }
 
Rita:

Boa noite a todos.

Portanto, ainda não entendo bem. Preciso substituir as magias no código EA (há cerca de 20 delas), dadas por números. Foi-me pedido para colocar o magik em variáveis globais. Eu fiz.

Magic_101=Magic*1;
Magic_102=Magic*2;
Magic_103=Magic*3; .......

Recebi bem a sugestão da Integer?

Ao invés do código de função no qual os mágicos são definidos como números:

Seria correto defini-lo desta forma? -


int getNextOrderNum(int Магик) {
   int Res=Магик+1;
   if (Res>MagicMax) Res=MagicMin;

   return (Res);
}
 
Obrigado, Victor. Vou tentar.