Errores, fallos, preguntas - página 2558

 
Aleksey Vyazmikin:

Te daré información sobre el entorno:

- Indicadores 16, la representación no es complicada, sin kanvas, barras de herramientas, y otros adornos - palos / rayas - una captura de pantalla se adjunta.

- No hay programas en el gráfico, abro la ventana después del optimizador, es sólo como un ejemplo - los gráficos de trabajo se ralentizan también, pero menos (hay menos indicadores).

- No, los eventos no se procesan.

- Se selecciona el modo de visualización de barras ilimitadas, es decir, se excluye la paginación.

- No hay objetos gráficos, o mejor dicho, he eliminado todas las flechas y guiones. Queda una etiqueta - es del indicador. Hoy tengo un día libre y no debería interferir en él.

Tengo una captura de pantalla que muestra que la tarjeta gráfica no funciona, ¿puedo comprobar si funciona o es normal cuando la carga es casi nula y el núcleo está ocupado?


¡Aquí es un problema conocido en su cara, el funcionamiento de los indicadores en un hilo!
Un solo hilo no puede soportar la carga.
Necesitamos el multi-threading, ya se ha escrito sobre ello muchas veces.

 

Resultó ser más sencillo, guardé la plantilla después de la optimización, abrí un nuevo gráfico y cargué la plantilla - ¡sin frenos, lo que significa que los frenos son exactamente cuando se llama al gráfico desde el optimizador!

No me di cuenta de que H1 estaba abierto por defecto y los frenos en M1. Los indicadores incorporados siguen funcionando bien, pero algunos de los míos son lentos cuando se renderizan.

He encontrado un indicador que incluso en 1 instancia puede cargar el procesador (sólo tiene que desplazarse hacia adelante y hacia atrás en el gráfico con la rueda del ratón) - si quieres un análisis detallado - Puedo enviarlo a usted en persona.
 
Los comentarios no relacionados con este tema han sido trasladados a "Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos".
 
Renat Fatkhullin:

1) aquí hay que truncar el esturión con INT_MAX(2 bn):

esto también lo podemos corregir

2) toda la memoria debe ser gestionada de la manera más rígida, no hay GC aquí

3) la reinicialización del indicador en el cambio de marco temporal es cálida sin la reinicialización física desde cero, por lo que es necesario liberar memoria por sí mismo. especialmente los recursos a nivel global

4) utilizar OOP, al menos dará la posibilidad de describir y controlar adecuadamente los recursos

Entendido, gracias.
Efectivamente, sin INT_MAX no se podía reproducir el fallo. Nunca se me habría ocurrido. A partir de ahora tendré más cuidado con los valores extremos. Los he usado mucho.
A veces quieres ser un tonto en el código para reproducirlo y comprobar la protección a prueba de tontos.

 
Los comentarios no relacionados con este tema han sido trasladados a "Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos".
 

la diferencia de rendimiento entre MQ5 y MQL4 es fantástica, pero me gustaría terminar el código multiplataforma, así que tengo una pregunta:

1. ¿Qué perfilador(MQ5 o MQL4) es mejor para evaluar la optimización después de realizar cambios en un código fuente?

2. ¿Tiene sentido convertir todas las llamadas a Print() en una comprobación if( MQLInfoInteger(MQL_OPTIMIZATION)) o las llamadas a Print() se excluirán automáticamente sin pérdida de rendimiento?

 

Optimizador

2019.09.14 20:24:18.638 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.536
2019.09.14 20:24:33.884 Core 1  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)" in 0:00:26.018
2019.09.14 20:24:40.079 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.439
2019.09.14 20:25:00.011 Core 1  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)" in 0:00:26.125
2019.09.14 20:25:00.024 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:00.037 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:01.671 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.589
2019.09.14 20:25:01.680 Core 1  genetic pass (2, 504) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:01.693 Core 1  genetic pass (2, 504) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.181 Core 3  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)" in 0:00:10.142
2019.09.14 20:25:10.190 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.203 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.215 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.228 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:20.343 Core 3  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)" in 0:00:10.114

Al principio, todos los núcleos estuvieron funcionando durante una hora sin errores. No hay matrices en el EA. Entonces empezaron a producirse esos errores.

Sólo tengo un terminal funcionando en mi ordenador. 16Gb, 7 núcleos involucrados.


SZY El Asesor Experto se diferencia de los demás en que tiene un mayor número de operaciones


¿Cuánto consume entonces el historial comercial?


ZZZY De vez en cuando aparece "no hay espacio en el disco", aunque haya decenas de gigabytes libres.

 
Pregunta para el fondo de mi mente: ¿cómo poner la fuente en kodobase junto con los recursos gráficos en formato bmp (que van en OBJ_BITMAP_LABEL, por ejemplo)? Labiblioteca estándar sólo tiene archivos bmp en la carpeta res (es decir, no sé si los recursos pueden ser png/jpg). Si se adjunta en zip, el código no se compilará al comprobarlo, ¿verdad?
 
Stanislav Korotky:
Pregunta para el fondo de mi mente: ¿cómo poner la fuente en kodobase junto con los recursos gráficos en formato bmp (que van en OBJ_BITMAP_LABEL, por ejemplo)? La biblioteca estándar sólo tiene archivos bmp en la carpeta res (es decir, no sé si los recursos pueden ser png/jpg). Si se adjunta en zip, el código no se compilará al comprobarlo, ¿verdad?
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
  • www.mql5.com
Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных, и все они связаны с необходимостью загружать файлы из файловой песочницы терминала. Если в конечном результате предполагается скомпилированный файл, то достаточно подключить файл как ресурс и...
 
Artyom Trishkin:

¿Se supone que esto responde a la pregunta sobre codobase?