Errores, fallos, preguntas - página 2622

 
He notado este error en la página web en los mensajes privados de mi teléfono.
No funciona refrescando la página de la manera estándar de deslizar hacia abajo.

. Apareció tal vez 1 mes o 2. Simplemente no estaba prestando atención.

El teléfono está en android 10 si es importante.
Al entrar en los mensajes privados y si ha llegado un nuevo. mensaje, no siempre se actualiza automáticamente.

Y cuando refresco con el dedo (de arriba abajo) también ha dejado de refrescar.

Tengo que volver a pulsar el icono de los mensajes privados.

Error sólo en los mensajes privados.
Actualización: esto sólo ocurre en samsung internet.
Más bien un problema con él después de la actualización.

En chrome todo está bien.
 

Por qué en la línea 3:

  datetime dt = 0;
  ulong x = 0;
  if(dt < x) x++;

¿Aviso de "falta de coincidencia de signos"?

La fecha se supone que es un número sin signo (8 bytes como ulong). Dame un ejemplo de una fecha negativa.

 

¿Dime cómo depurar las bibliotecas de ex5?

Hay una biblioteca que funcionó durante varios años sin problemas. Sin embargo, después de algunos cambios en el compilador en las últimas compilaciones, una llamada a una función de puntero de la biblioteca termina con un error de "llamada a un puntero de función no válido". Si la fuente de la biblioteca se incluye en el Asesor Experto directamente a través del enlace, no hay ningún error.

En general, se necesita alguna manera de comparar los tipos de punteros(prototipos de funciones), generados en la biblioteca y en el Asesor Experto, que carga la biblioteca.

El soporte está cerrado. No mostraré aquí el código fuente del mercado.

Como referencia, con el mismo código fuente, la llamada a la biblioteca funcionó bien en la compilación 2190.
 
Stanislav Korotky:

Como referencia, con el mismo código fuente, una llamada de la biblioteca funcionó bien en la compilación 2190.

En el 2170 ya no tengo punteros a funciones, aquí hay un ejemplo que todavía funciona en MQL4, pero ya no funciona en MQL5

https://www.mql5.com/ru/forum/323539/page3#comment_13444791

 
Igor Makanu:

Dejé de trabajar con punteros de función en 2170. Aquí hay un ejemplo que todavía funciona en MQL4, pero dejó de funcionar en MQL5

https://www.mql5.com/ru/forum/323539/page3#comment_13444791

Lo he leído. Tengo un caso diferente. Pero esto es probablemente la consecuencia del mismo "apriete de tornillos". Sin embargo, las buenas prácticas en este caso implican instrucciones humanas para la migración de desarrollos existentes con ejemplos o disponibilidad de un calibre.

 

Unas matemáticas bastante entretenidas

//+------------------------------------------------------------------+
double volume_step = 0.01;
void OnStart()
  {
   int total = 10;
   double aVolume = 0.01;
   
   for(int i=0; i<total; i++)
     {
      aVolume = volume_step * MathFloor(aVolume / volume_step);
      Print(DoubleToString(aVolume,8)+"   "+ DoubleToString(volume_step,2)+"   "+DoubleToString(MathFloor(aVolume / volume_step),2)+"  Next lot = "+(aVolume+0.01));
      aVolume+=0.01;
     }
  }
//+------------------------------------------------------------------+

Resultado

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Lote siguiente = 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Próximo lote = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Próximo lote = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Próximo lote = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Siguiente lote = 0.06999999999999999Como 0.06000000 + 0.01 se convierte en 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 Siguiente lote = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 Siguiente lote = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 Siguiente lote = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 Siguiente lote = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 Siguiente lote = 0.02


 
Vladimir Pastushak:

Matemáticas bastante notables

¿Cómo es que 0,06000000 + 0,01 se convierte en 0,0699999999999999999?

porque 0,0699999999999999999 es el número más cercano a 0,07 que se puede representar con el tipo double

 
Vladimir Pastushak:

Unas matemáticas bastante entretenidas

Resultado

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Lote siguiente = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Lote siguiente = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Lote siguiente = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Siguiente lote = 0.06999999999999999 Como 0.06000000 + 0.01 se convierte en 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 Siguiente lote = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 Siguiente lote = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 Siguiente lote = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 Siguiente lote = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 Siguiente lote = 0.02


Por favor, lee los muelles y serás feliz.

Y sobre el tema: IEEE 754, - estudiarlo.

 
Igor Makanu:

porque 0,0699999999999999999 es el número más cercano a 0,07 que se puede representar con el tipo double

Vladimir Simakov:

Lee los documentos y serás feliz.

Sobre el tema: IEEE 754, - estudio.

¿Qué le estás enseñando... tiene 49 productos publicados en el mercado. Ya lo sabe todo él mismo....
 
Alexey Viktorov:
¿Qué le estás enseñando... tiene 49 productos publicados en el mercado. Ya lo sabe todo él mismo....

¿Así que está sugiriendo que se ignore a los que publican en el Mercado? No estoy seguro de querer hacer eso, hubo una pregunta, hubo una discusión, creo que es una situación normal

PS:

además de eso .... intente desimprimir el doble a través de printf(), tengo la sospecha, de que habrá un montón de "cuántos descubrimientos maravillosos nos prepara el espíritu de la iluminación..."

;)

Razón de la queja: