Una pregunta para los expertos en MQL - página 6

 

¿Así? - En lugar de

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

Por favor, díganme qué hay que poner aquí:

(para Magic_101, Magic_102)

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

 

Andrei, está claro que no va a compilar. ¿Tal vez podría establecer la tarea de manera diferente? Y, según me parece, en este caso todo es bastante transparente.

Usar (correcto en el código) etiquetas en los ints, y eso es todo... No entiendo por qué todo el alboroto y el jadeo por la ayuda...))

 

Tal vez, no puedo decirlo sin el código. Probablemente se pueda hacer de forma más sencilla.

Rita:

Por favor, díganme qué hay que poner aquí:

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

Aquí hay otro problema - con cada nueva condición el nivel de anidamiento aumenta, y su nivel es limitado, es decir, en el nivel de anidamiento alrededor de 20 (no recuerdo exactamente) el código dejará de compilar de nuevo.

Tengo una sugerencia alternativa: repetir la pregunta aquí con un código más detallado, probablemente sea posible hacerlo mucho más transparente y sencillo.

 

Ningún otro, no restringido

   if (RRRR == 101){
      return (102);
   }
   if (RRRR == 102){
      return (103);
   }
   //...
 
return(RRRR+1)
 
Tal vez sólo una función que aumenta el magik en uno. El ejemplo parece necesitar esto. Aunque el último ejemplo de Integer es sólo eso
 
Integer:

Ningún otro, no restringido

100%. Esta es la solución en la que debemos detenernos. No hay colas ni mocos, toda modificación se limita estrictamente al interruptor anterior.
 

Buenas noches a todos.

Así que sigo sin entenderlo del todo. Necesito reemplazar las magias en el código EA (hay unas 20), dadas por números. Me pidieron que pusiera el magik en variables globales. Lo hice.

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

¿He entendido bien la sugerencia de Integer?

En lugar del código de función en el que los magos se especifican como números:

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

¿Sería correcto ponerlo así? -

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

Buenas noches a todos.

Así que sigo sin entenderlo del todo. Necesito reemplazar las magias en el código EA (hay unas 20), dadas por números. Me pidieron que pusiera el magik en variables globales. Lo hice.

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

¿He entendido bien la sugerencia de Integer?

En lugar del código de función en el que los magos se establecen como números:

¿Sería correcto ponerlo así? -


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

   return (Res);
}
 
Gracias, Víctor. Lo intentaré.
Razón de la queja: