Errores, fallos, preguntas - página 212

 
Urain:
Sí, así es, sólo en forma de funciones estándar para optimizar la velocidad de acceso.

No creo que podamos hablar todavía de velocidad, sobre todo porque MQL5 procesa rápidamente el conjunto de datos de noticias existentes. Y eso con la esperanza de que el MQL sea aún más rápido.


Pero me gustaría profundizar en este tema. Me pregunto qué piensan hacer después con estos datos.

 
sergeev:

No creo que podamos hablar todavía de velocidad, sobre todo porque MQL5 procesa rápidamente el conjunto de datos de noticias existentes. Y aquí está la esperanza de que MQL sea aún más rápido.


Pero me gustaría profundizar en esto. Me pregunto qué piensan hacer con estos datos: ¿ejemplos concretos de uso?

Y lo que sigue es un campo caliente, las noticias no estaban disponibles normalmente antes, y entonces la codificación de las estrategias de las noticias estará en auge.

Tengo previsto utilizarlo en todas las comisiones de NS, pero me gustaría desarrollar más el tema.

ZZZY Pero mientras que las noticias en el probador no aparecerá (es decir, las historias de noticias), que tendrá que hacer a través de archivos, y el parser de noticias en los recursos de terceros.

 

El comprobador se ralentiza a medida que aumenta el número de operaciones.

Periodo Oficios Ofertas Garrapatas Bares Ticks generados en, ms Tamaño del informe .xlsx, KB Tiempo de generación de informes
04.10.2010-05.10.2010 5 720 46226 1438 27960 126 30 segundos
04.10.2010-06.10.2010 9 1680 99347 2871 240966 275 2 minutos
04.10.2010-07.10.2010 21 2703 149837 4306 382370 430 10 minutos
04.10.2010-10.10.2010 35 4865 253175 7118 1202809 753 35 minutos
04.10.2010-16.10.2010 67 9783 492163 14226 8908720 1463 50 minutos
04.10.2010-01.11.2010 79 13199 1189566 28453 20956134 N/A (error) 1 hora y 10 minutos
04.10.2010-27.11.2010 79 13199 2863155 56334 16055687

Al abrir operaciones con una intensidad de aproximadamente 1 operación cada 2 minutos se puede ver (pestaña Log) que 1 segundo de tiempo de prueba al final de un período bastante largo tiene varias veces menos operaciones que al principio de la prueba. Una imagen similar cuando se imprimen los resultados de las pruebas en formato Open XML.

 

En realidad, el tiempo de prueba no depende directamente de la cantidad de operaciones. Para ser exactos, una sola ejecución con 10 operaciones tardará, por supuesto, menos que una ejecución con 100 000 operaciones, porque cada operación en el probador necesita tiempo para su procesamiento.

Pero lo que más afecta al tiempo de prueba es el número de ticks que se procesan en una pasada. He ejecutado la media móvil estándar en el modo de todos los ticks empezando por un mes (intervalo 2009.01.01-2009.02.01) y he aumentado el tiempo de prueba en un mes cada vez hasta 22 meses.


Como se puede ver en el diagrama, la dependencia del tiempo de prueba del número de ticks es estrictamente lineal.


 
Vigor:
Hola, refleja la adición de la construcción

#property tester_indicator "indicator.ex5"

en la documentación, en la descripción de la función iCustom. He pasado unas cuantas horas tratando de entender la razón por la que iCustom funciona en el gráfico, pero no funciona en el probador.

Esto se describe en la sección de propiedades del programa.

indicador_de_prueba

cadena

Nombre del indicador personalizado en el formato "nombre_del_indicador.ex5" .Los indicadores necesarios para las pruebas se determinan automáticamente a partir de la llamada a la función iCustom(), si el parámetro correspondiente se especifica como una cadena constante. Para otros casos (uso de la función IndicatorCreate() o uso de una cadena no constante en el parámetro que define el nombre del indicador) necesitamos esta propiedad

archivo_de_prueba

cadena

Nombre del archivo para el probador, especificando su extensión, encerrado entre comillas dobles (como una cadena constante). El archivo especificado se pasará al probador para su funcionamiento. Los archivos de entrada para las pruebas, si son necesarios, deben especificarse siempre

biblioteca_de_prueba

cadena

Nombre de la biblioteca con extensión, entre comillas. Una biblioteca puede tener tanto una extensión dll como una extensión ex5. Las bibliotecas necesarias para las pruebas se detectan automáticamente. Sin embargo, si una biblioteca es utilizada por un indicador personalizado, se debe utilizar esta propiedad


Pero tienes razón, tienes que volver a añadir explícitamente información sobre ello en los lugares pertinentes.

 
Rosh:

En realidad, el tiempo de prueba no depende directamente del número de operaciones. Para ser exactos, una sola ejecución con 10 operaciones tardará, por supuesto, menos que una ejecución con 100 000 operaciones, porque cada operación en el probador necesita tiempo para ser procesada.

Pero lo que más afecta al tiempo de prueba es el número de ticks que se procesan en una pasada. He ejecutado la media móvil estándar en el modo de todos los ticks empezando por un mes (intervalo 2009.01.01-2009.02.01) y he aumentado el tiempo de prueba en un mes cada vez hasta 22 meses.

Como se ve en el diagrama, la dependencia del tiempo de prueba del número de ticks es estrictamente lineal.

Probablemente, debería decir "una sola ejecución con 10 operaciones tardará, por supuesto, MENOS tiempo que una ejecución con 100 000 operaciones porque cada operación en el probador necesita tiempo para ser procesada".

Estoy de acuerdo con lo de las garrapatas. Pero preste atención exactamente al número de operaciones: el crecimiento del tiempo allí no es obviamente lineal, y formar un informe de pruebas está completamente fuera de lugar.

 

¿Cuál es el tiempo máximo que se puede establecer en EventSetTimer( )?

¿INT_MAX? No lo creo. No quiero investigar por mi cuenta, y no hay ninguna en la ayuda.

Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов - Документация по MQL5
 
Ashes:


Probablemente debería decir "una sola ejecución con 10 operaciones tardará, por supuesto, MENOS tiempo que una ejecución con 100.000 operaciones, ya que cada operación en el probador tarda en procesarse".

Corregido.
 
Ashes:


Estoy de acuerdo con lo de las garrapatas. ¡Pero una vez más, por favor, preste atención al número de operaciones - el aumento de tiempo allí no es claramente lineal, y la formación del informe de prueba está completamente fuera de la cuestión!

Realiza ejecuciones con el mismo número de ticks y diferente número de operaciones. Así podrás comparar.
Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 

En el proceso de pruebas, surgieron algunas preguntas, muestro fotos tomadas al mismo tiempo:

Como se puede ver en la figura, sólo tres núcleos están trabajando, se enfrentó más de una vez una situación en la que en el curso de las pruebas, el número de núcleos que participan en el trabajo se redujo gradualmente a cero, a continuación, entró en funcionamiento todos a la vez, es decir, hay un tiempo de inactividad, ¿por qué los núcleos liberados no comienzan a trabajar inmediatamente?

El número de ejecuciones se define como 287, los resultados de la optimización lo muestran así, sin embargo:

¿qué significan entonces estas cifras? El número de puntos del gráfico de optimización es también de unos 381...