[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 557

 
TarasBY:

¿Qué te parece esto?


Gracias, ¡todo funciona!
 
rigonich:
Simplemente inserte delante de su variable
y esta línea se mostrará en el cuadro de diálogo de propiedades que aparece cuando se adjunta un experto, indicador o script (si sus propiedades contienen la propiedad #property show_inputs ) a un gráfico.

Es decir, si te entiendo bien, ¿estás sugiriendo que simplemente se comente para que el usuario seleccione los valores que aparecerán en este comentario?

La línea que sigue indica la propia variable donde el usuario establecerá el valor necesario. ¿Es así?

 
Chiripaha:

Es decir, si te entiendo bien, ¿estás sugiriendo que el usuario simplemente comente los valores que aparecerán en este comentario?

Y la línea siguiente especifica la variable en sí, en la que el usuario especificará el valor deseado. ¿Verdad?



Sí, he entendido que eso es lo que preguntabas.
 
rigonich:

Sí, por lo que he entendido, eso es lo que preguntabas.

En realidad no...

Quería que hubiera una especie de menú. Al igual que cuando se selecciona una variable bool ya sea falso o verdadero.
Para que el usuario sólo pudiera hacer clic en valores claramente definidos del parámetro. Para que no introduzca "por error" otros innecesarios, porque en este caso, el Asesor Experto no funcionará correctamente.

El usuario es incluso yo mismo. Ya que es posible olvidar qué parámetros deben estar ahí para una variable en particular.
 

Lo siento, no puedo encontrar... me puede decir por favor.

¿CÓMO MOVER TODOS LOS ELEMENTOS DE UN ARRAY UNIDIMENSIONAL POR 1 ÍNDICE?

¿Existe una operación o hay que hacerla en bucle?

 
peco:

Lo siento, no puedo encontrar... me puede decir por favor.

¿CÓMO MOVER TODOS LOS ELEMENTOS DE UN ARRAY UNIDIMENSIONAL POR 1 ÍNDICE?

¿Hay una operación o hay que hacerla en bucle?

https://docs.mql4.com/ru/array/ArrayCopy
 
Chiripaha:

En realidad no...

Quería hacerlo de manera que hubiera algo parecido a un menú. Al igual que en la variable bool puede ser falso o verdadero.
Para que el usuario sólo pueda hacer clic en valores de parámetros claramente definidos. Para que no introduzca "por error" los innecesarios, porque en este caso, el Asesor Experto no funcionará correctamente.

El usuario es incluso yo mismo. Como es posible olvidar qué parámetros debe haber para una determinada variable.


En este caso, debería hacerlo. Variable externa de tipo Bool. Si == false, a las variables se les asignarán unos valores, si true - otros. Si hay más de dos los parámetros son más de dos -- utilice una variable de tipo int en lugar de una booleana y con 1 -- primer conjunto, 2 -- segundo conjunto, etc.

Esto puede hacerse para cada variable externa o para todas ellas a la vez (primer modo EA, segundo...)

 
 
peco:

Lo siento, no puedo encontrar... me puede decir por favor.

¿CÓMO MOVER TODOS LOS ELEMENTOS DE UN ARRAY UNIDIMENSIONAL POR 1 ÍNDICE?

¿Hay una operación o hay que hacerla en bucle?


https://www.mql5.com/ru/forum/131859/page8#434278
 
Chiripaha:

En realidad no...

Quería hacer algo parecido a un menú. Al igual que en la variable bool puede ser falso o verdadero.
Para que el usuario pueda hacer clic sólo en los valores claramente definidos del parámetro. Para que "por error" no introduzca los innecesarios, porque en este caso, el Asesor Experto no funcionará correctamente.

El usuario es incluso yo mismo. Ya que es posible olvidar qué parámetros deben estar ahí para una variable en particular.

MQL4 no tiene esa posibilidad (pero MQL5 sí). Se puede comprobar este parámetro en la inicialización y si no corresponde a un valor determinado, entonces señalar un error. Entonces, al principio de la salida se debe comprobar. Yo lo hice en mi EA, por ejemplo:

extern int  val=5;
       bool val_error=false;
// -----
init()
{  ...
   if (val!=5  || val!=10 || val!=20 || val!=40 ||
       val!=60 || // и т.д.)
      {   val_error=true;
          Alert("Неправильный val!");
      }
   ...
}
// -----
start()
{  if (val_error=true) return;
   ...
}
Razón de la queja: