Errores, fallos, preguntas - página 3069

 

Seguro que la pregunta ya se ha hecho antes, pero no la he encontrado.

Tener un guión

void OnStart()
  {
   uchar uchar0 = 0;
   uchar uchar1 = 1;
   Print(uchar0 - uchar1);      //-1
   Print(0 - uchar1);           //-1
   Print(-uchar1);              //255
   Print(typename(-uchar1));    //int
   Print(-(int)uchar1);         //-1

   ushort ushort0 = 0;
   ushort ushort1 = 1;
   Print(ushort0 - ushort1);      //-1
   Print(0 - ushort1);           //-1
   Print(-ushort1);              //65535
   Print(typename(-ushort1));    //int
   Print(-(int)ushort1);         //-1

   uint uint1 = 1;
   Print(0 - uint1);           //4294967295
   Print(-uint1);              //4294967295
   Print(typename(-uint1));    //long
  }

Por favor, explique:

1. ¿Por qué 0-uchar1 (y uchar0-uchar1) da un resultado diferente a (-uchar1)? Al fin y al cabo, en las operaciones con tipos (u)char y (u)short, los operandos se convierten automáticamente a int. Y typename(-uchar1) devuelve int. (La misma pregunta para ushort1)

2. Con uint la situación es diferente. -uint1 devuelve el resultado esperado pero typename(-uint1) devuelve long. ¿Se trata de un error de tipología?

 
chicos, decidme cuántos buffers se asignaban por indicador en el antiguo quad antes de la versión 506.... ahora conozco el 512
 
ruslan:
chicos decidme cuantos buffers.... se asignaban por indicador en el antiguo quad antes de la versión 506 ahora conozco el 512

Por la memoria 64. Intenta declarar más de 100, si hubo actualizaciones antes no habrá error, si después dará un error.

 
Valeriy Yastremskiy:

Por la memoria 64. Intenta declarar más de 100, si hubo actualizaciones antes no habrá error, si después dará un error.

¿Por casualidad tienes un instalador de terminales 225?
 
ruslan:
¿Por casualidad tienes el instalador del terminal 225?

No lo más probable, ya que 18 aquí. La actualización de 4k a 5k en términos de funcionalidad tuvo lugar entre el 14 y el 16.

 
mktr8591:

Seguro que la pregunta ya se ha hecho antes, pero no la he encontrado.

Tener un guión


Por favor, explique:

1. ¿Por qué 0-uchar1 (y uchar0-uchar1) da un resultado diferente a (-uchar1)? Al fin y al cabo, en las operaciones con tipos (u)char y (u)short, los operandos se convierten automáticamente a int. Y typename(-uchar1) devuelve int. (La misma pregunta para ushort1)

2. Con uint la situación es diferente. -uint1 devuelve el resultado esperado pero typename(-uint1) devuelve long. ¿Se trata de un error de tipología?

Gracias por la publicación.

1. el tipo de operando fue efectivamente seleccionado como tipo de resultado para el minus unario - fijo

2. nos apartamos de la norma y la operación unaria menos devuelve el tipo long para el tipo uint, debido al error en el punto 1 el tipo de resultado seguía siendo de tipo uint (no long)

 
Valeriy Yastremskiy:

Por la memoria 64. Intenta declarar más de 100, si hubo actualizaciones antes no habrá error, si después dará un error.

Encontré 8 buffers allí.... gracias
 

Ahora MQL5.com tiene primero el Mercado, luego las Señales y sólo después el Foro. Anteriormente, se estipulaba que para los usuarios autorizados el Foro estaba en la parte superior de la página principal.


ZZY Después de este post, el Foro aparecerá en la parte superior. En cuanto borres este post, el Foro vuelve a ser el tercero.

 
fxsaber:

Ahora MQL5.com tiene primero el Mercado, luego las Señales y sólo después el Foro. Anteriormente, se estipulaba que para los usuarios autorizados el Foro estaba en la parte superior de la página principal.


ZZY Después de este post, el Foro aparecerá en la parte superior. En cuanto borras ese post, el Foro vuelve a ser el tercero.

Lo secundo: ¡el Foro es más conveniente primero!

 

No consigo escribir una función que sólo dé salida a true en el EA cuando el foco cambie al gráfico del EA.

¿Puedes darme una pista si te has encontrado con uno?


No hay suficiente CHARTEVENT en la pérdida y ganancia de concentración.