Errores, fallos, preguntas - página 505

 
sergey1294:
La misma función devuelve cero. También he probadoSERIES_TERMINAL_FIRSTDATE . La conclusión es que la función SeriesInfoInteger no funciona en el probador. Sólo funciona para el instrumento en el que se está ejecutando la prueba. Tal vez tenga alguna idea de cómo ejecutar la prueba para los instrumentos con diferentes fechas de inicio del historial cuando se selecciona el intervalo "Todo el historial".

He decidido comprobar sus conclusiones. He ejecutado el Asesor Experto de prueba en Alpari-Demo y lo mismo en el probador en modo de visualización desde 2000. Los resultados de la ejecución del init están en el archivo adjunto.

Si el historial del periodo probado está en el servidor, SeriesInfoInteger() devuelve en el probador los mismos datos que en la demostración. Si no hay historial (como en el caso del EURAUD, desde el 2004.06.16) en la fecha de la prueba, el probador devuelve el error: 2011.09.05 09:40:53 EURAUD: contiene 0 registros M1.

Así, SeriesInfoInteger() sigue funcionando en el probador, si el servidor tiene el historial correspondiente y el probador puede cargarlo. Si llega al historial "vacío", la prueba simplemente se cuelga, aunque la barra de progreso se mueve.

Archivos adjuntos:
 
Valmars:

He decidido comprobar sus conclusiones. He ejecutado el Asesor Experto de prueba en Alpari-Demo y lo mismo en el probador en modo de visualización desde 2000. Los resultados de la ejecución del init están en el archivo adjunto.

Si el historial del periodo probado está en el servidor, SeriesInfoInteger() devuelve en el probador los mismos datos que en la demostración. Si no hay historial (como en el caso de EURAUD, desde 2004.06.16) en el momento de la fecha de inicio de la prueba, el comprobador devuelve el error: 2011.09.05 09:40:53 EURAUD: contiene 0 registros M1.

Por lo tanto, SeriesInfoInteger() sigue funcionando en el probador, si el servidor tiene el historial apropiado y el probador puede cargarlo. Si llega al historial "vacío", la prueba simplemente se cuelga, aunque la barra de progreso se mueve.

extraño que devuelva ceros en el probador, ¿qué estoy haciendo mal?
 
sergey1294:
extrañamente he devuelto ceros en el probador, ¿qué hago mal?

Y se establece el intervalo de prueba no para "Todo el historial" sino para que se garantice el historial para todos los personajes, por ejemplo, "El año pasado". Entonces no debería haber ceros, sino el principio del historial cargado por el probador. Lo tengo desde el 4.01.2010.

P.D. Pero en realidad es extraño, si el probador descargó la historia existente con 2004g. , debe dar y fecha de inicio de la historia 2004 para este símbolo, y no ceros, incluso si la fecha de inicio de la prueba antes de la historia existente. Creo que esto es un error.

 
Aparte del hecho de que la hora en el terminal MT5 saltó repentinamente de GMT+1 a GMT+0, también encontré un error - después del final de la vela de una hora que acaba de pasar los valores de volumen en las velas anteriores han cambiado, y significativamente. Sólo puedo decir con certeza acerca de las velas de hoy - He guardado todos ellos sucesivamente desde el inicio de la sesión: 0:00 1841 - 2269, 1:00 2556 - 3235, 2:00 2436 - 2975, 3:00 1700 - 3096, 4:00 1391 - 1690, el tiempo de la terminal es incorrecto. Eso es incorrecto de MT5.
 
Arkadiy:
Aparte del hecho de que la hora en el terminal MT5 saltó repentinamente de GMT+1 a GMT+0, también encontré un error - después del final de la vela de una hora que acaba de pasar los valores de volumen en las velas anteriores han cambiado, y significativamente. Sólo puedo decir con certeza acerca de las velas de hoy - He guardado todos ellos sucesivamente desde el inicio de la sesión: 0:00 1841 - 2269, 1:00 2556 - 3235, 2:00 2436 - 2975, 3:00 1700 - 3096, 4:00 1391 - 1690, el tiempo de la terminal es "incorrecto". Eso es incorrecto con MT5.
Se me olvidó decir - par EURUSD.
 
Valmars:

Y se establece el intervalo de prueba no para "Todo el historial" sino para que se garantice el historial para todos los personajes, por ejemplo, "El año pasado". Entonces no debería haber ceros, sino el principio del historial cargado por el probador. Lo tengo desde el 4.01.2010.

P.D. Pero en realidad es extraño, si el probador descargó el historial existente desde 2004. entonces debe emitir una fecha de inicio de historia en 2004 para este símbolo, y no ceros, aunque la fecha de inicio sea anterior a la historia existente. Creo que esto es un error.

Traté de poner el año pasado, lo mismo. Necesito ejecutar el EA en todo el historial en todos los símbolos.
 

Descubierto mientras se normaliza el lote. Comprueba el tuyo:

Print(NormalizarDoble(0,07,2);

En contra de lo esperado, huellas: 0,07000000000000001

 
SoundChip:

Descubierto al normalizar el lote. Comprueba el tuyo:

Print(NormalizarDoble(0,07,2);

En contra de lo esperado, imprime: 0.07000000000000001

https://www.mql5.com/ru/forum/4033
 
Entendido, gracias.
 

Intentaré hacer la pregunta una tercera vez). MetaDriver mostró un ejemplo aquí. Aquí es donde di mi ejemplo.

El gráfico se reduce cuando el número de operaciones empieza a superar los 3000. ¿Los desarrolladores tienen en cuenta este problema?

Este problema no nos permite analizar los resultados de las operaciones en el terminal de una sola vez cuando probamos el sistema en una gran franja de datos históricos cuando la cantidad de operaciones puede ser de unos 10000 y más.

Recuerdo que tenía algo similar en Excel. Pero el programa estaba sobrecargado de fórmulas complejas y simplemente se colgaba si el número de líneas superaba las 5000. ¿Cuál podría ser el problema aquí?

Razón de la queja: