Errores, fallos, preguntas - página 323

 
alexluek:

hmmm... Ha vuelto.

probablemente falte algo NormalizeDouble

¿Qué tiene que ver NormalizeDouble con la pérdida de datos?

Документация по MQL5: Преобразование данных / NormalizeDouble
Документация по MQL5: Преобразование данных / NormalizeDouble
  • www.mql5.com
Преобразование данных / NormalizeDouble - Документация по MQL5
 

Posiblemente, pero es un hecho - lo he probado ahora - nada ha cambiado.

HR      0       Prost_Dol-2 (USDCHF,M5) 16:47:53        2011.01.03 18:30:00   1,,,,,,,,,,,Open1[0]=0.93297 Open2[0]=0.9329
IL      0       Prost_Dol-2 (USDCHF,M5) 16:47:53        2011.01.03 18:30:00   1,,,,,,,,,,,ss=6.999999999999999 e-005

Como se puede ver la diferencia no es la misma que en los números anteriores, parece - ¿debo ir a servicedesk?

 
alexluek:

Posiblemente, pero es un hecho - lo he probado ahora - nada ha cambiado.

Como puedes ver la diferencia no es la misma que los números anteriores, supongo - ¿debería ir a servicedesk?

6.999999999999999e-005 = 0.00006999999999999999 = 0.00007

Muy bien

leer sobre los números reales como se le aconseja.

 
AlexSTAL:

6.999999999999999e-005 = 0.00006999999999999999 = 0.00007

todo correcto

leer sobre números reales, como se le aconseja

¡es decir, en los cálculos (en el programa) no afecta al funcionamiento del programa!

Lo tengo, ¡gracias!

 
alexluek:

Posiblemente, pero es un hecho - lo he probado ahora - nada ha cambiado.

Como puedes ver la diferencia no es la misma que en los números anteriores, supongo - ¿debería ir a servicedesk?

Una vez más. Lea las cifras reales en la ayuda. El Servicio de Atención al Cliente no le ayudará en este caso.

Es mejor formatear la salida usted mismo, en lugar de confiar en una función de impresión pura

Документация по MQL5: Общие функции / PrintFormat
Документация по MQL5: Общие функции / PrintFormat
  • www.mql5.com
Общие функции / PrintFormat - Документация по MQL5
 
alexluek:

Posiblemente, pero es un hecho - lo he probado ahora - nada ha cambiado.

Como puedes ver la diferencia no es la misma que en los números anteriores, parece - ¿deberías ir a servicedesk?

Entendamos primero qué es exactamente lo que crees que está mal.

Si tienes el resultado en mente.

6.999999999999999 e-005

No es un error. Realmente lo es y está descrito en la ayuda. Esta es la razón por la que 0,93297-0,9329=0,00007 -> 6,99999999999e-005. Obtendrá el mismo resultado si hace

Print(0.00007);

Si desea imprimir el resultado 0,93297-0,9329=0,00007, utilice la función DoubleToString.

 
alexvd:

Entendamos primero, ¿qué es exactamente lo que crees que está mal?

Si se refiere al resultado

No es un error. Realmente lo es y está descrito en la ayuda. Esta es la razón por la que 0,93297-0,9329=0,00007 -> 6,99999999999e-005. Obtendrá el mismo resultado si hace

Si desea imprimir el resultado 0.93297-0.9329=0.00007, utilice la función DoubleToString.

¡es decir, en los cálculos (en el programa) no afecta al funcionamiento del programa!

Lo tengo, gracias.

 
alexluek:

¡es decir, en los cálculos (en el programa) no afecta al funcionamiento del programa!

Lo tengo, ¡gracias!

Exactamente así
 

Volviendo a mi problema con la caída del probador, permítanme explicar más. El EA de media móvil estándar no se bloquea, funciona correctamente.

Sin embargo, mi EA no llega al final de su trabajo, la conexión se rompe:

¿Qué acciones pueden provocar un fallo de conexión? ¿Qué puedo hacer mal?

No ocurre inmediatamente, en un historial de 4 meses sólo al final del 4º mes se produce una desconexión, antes de eso el probador funciona, se abren operaciones.

 

No aclaré esta cuestión en su momento, y ahora tengo dudas.

¿Cuál es la forma correcta de reservar la memoria?

así

ArrayResize(arr,2001,2016);
o así
ArrayResize(arr,2001,15);

Y corrige la ayuda, es muy ambigua.

SZZ En las variantes dadas se supone que el tamaño de la memoria asignada, incluyendo las reservas, debe ser de 2016.

Razón de la queja: