Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 599

 
peace1984:

Hola, puede que me repita, pero tengo un problema con los datos de entrada...

Yo uso:

input int sys=0;

Cuando el usuario lo cambia a 1


el probador sigue usando 0

Por favor, indíqueme cuál puede ser la razón. Probé con el externo - la misma historia.

input int Sys=0;
int sys=(Sys<0)?0:Sys;
Utiliza la variable sys. Si introduce un valor de sys inferior a cero en los ajustes, se corregirá a cero
 
artmedia70:
Utiliza la variable sys. Si introduce un valor de sys inferior a cero en los ajustes, se corregirá a cero


lo intenté, desafortunadamente no funcionó... Sigue sin cambiar el valor
 
peace1984:

lo intenté, desafortunadamente no funcionó... Sigue sin cambiar el valor

¿Te has dado cuenta de que hay dos variables diferentes en mi ejemplo?

En su código, compruebe siempre el valor de la variable sys, mientras que la variable externa tiene el nombre Sys. Después de declararla, su valor se asigna inmediatamente y se corrige la variable sys.

 
artmedia70:

¿Te has dado cuenta de que hay dos variables diferentes en mi ejemplo?

En el código, siempre se comprueba el valor de la variable sys, mientras que la variable externa tiene el nombre Sys. Después de declararla, su valor se asigna inmediatamente y se corrige la variable sys.



Sí, lo he entendido... he hecho como tú en la declaración de la variable... pero si el usuario cambia el valor a 1, sigue dejando 0...
 
peace1984:

Sí, lo tengo... hice como tú, en la declaración de la variable... pero si el usuario cambia el valor a 1, sigue dejando 0...

¿El código de#property es estricto? Aunque... pero inténtalo.

¿Cómo has comprobado el valor del sistema? No sys, específicamente sys - necesita ser usado en cálculos posteriores.

 
artmedia70:

¿El código de #property es estricto? Aunque... Pero inténtalo.

¿Cómo has comprobado el valor del sistema? No sys, exactamente sys - debe ser utilizado en los cálculos posteriores.



Inserción estricta (no estaba allí), pero el resultado no cambió...

El valor de sys determina el parámetro para atr (0 es 20 días, 1-55 días)... 20... si cambias el valor a 1 en el código, el valor es 55...

 
peace1984:

insertó un estricto (no estaba allí), pero el resultado no cambió...

El valor sys define el parámetro para atr (0 es 20dn, 1-55dn)... se necesitan 20... si cambias el valor a 1 en el código, se necesitan 55...

//------------------------------------------------------
enum atrSys
  {
   atr0=20,   // 20
   atr1=55,   // 55
  };
input atrSys AtrSys   =  atr0;       // Период ATR
//------------------------------------------------------

Así que pruébalo. En el código, comprueba el valor de AtrSys.

ZS. No elimine los comentarios del código, también son necesarios.

 
artmedia70:
Pruébalo. Compruebe el valor de AtrSys en el código.

Ya probé éste también, al principio... de él pasé al 0 y al 1...
 
peace1984:
Yo también lo intenté, al principio... ahí es donde pasé del 0 al 1...

No hay milagros. Muéstrame el código.
 
artmedia70:
No hay milagros. Muéstrame el código.
Esta es mi primera experiencia, no juzgues con demasiada dureza:)
Archivos adjuntos:
11.mq4  8 kb