Errores, fallos, preguntas - página 1627

 
Alexey Navoykov:
No puedo imaginar cuánto se habría construido un proyecto así en MQL. Y en los IDEs completos hay diferentes modos de compilación. Tal vez se refiera a la compilación de lanzamiento, mientras que la mayoría de las veces la depuración sería suficiente. Pero en MT no tienes mucho tiempo para esperar eso.
Además, los archivos precompilados se utilizan allí, por lo que las construcciones posteriores serán obviamente más rápidas

En los pluses escribo en el habitual gedit, depurando la consola en él, la depuración se hace directamente en gdb, el linking y los builds se hacen también desde la consola de gcc, desde el IDE a veces uso QtCreator, pero sólo cuando lo que necesito es escribir o depurar una GUI :)

Llegué a esta decisión hace menos de un año, cuando me di cuenta de que es más fácil cargar un editor de texto plano sin funciones adicionales y corregir o escribir algo, que cargar un pesado IDE...

 

Alexey Navoykov:
Насчёт ВСЕХ кодов - вы не погорячились? Откуда такая уверенность? Вы их все пробовали?

Lo he intentado mucho...

Ok, te daré un código para jugarlo en cuanto esté en mi ordenador. Pero ya me confunden tus historias sobre decenas de ms en hardware débil. ¿Estamos hablando de lo mismo? ¿El archivo de script es .mq5? ¿Y qué procesador tienes?

Aclararé los datos cuando llegue a mi ordenador.
 
Slawa:
¿Qué es lo que va a volver?
La depuración de la historia por alguna razón recoge la visualización completa. Tan cierto se explica. Además, utilizaré __DEBUG__. La documentación no dice mucho sobre la depuración visual.
 
Los comentarios que no son relevantes para este tema han sido trasladados a "Ayuda con la parrilla".
 

He buscado en kodobase hasta encontrar algunos grandes proyectos para MT5. Pero lo que me ha sorprendido, es que las secciones de Asesores Expertos e indicadores están de hecho llenas de artesanías de la misma persona. Y ha estado produciendo varios de ellos cada día desde hace varios años!No sé por qué tiene tantas ganas de hacer esto y para qué... A lo mejor MQ le paga por esto, no lo sé... Desde luego, se está preparando todo en un orden, pero yo personalmente estaría cansado de hacer sólo descripciones y capturas de pantalla).

El Asesor Experto pesa unos 150-200 kb, pero antes, el código está bastante manchado, además de que hay muchos fragmentos que se repiten. Bueno, es mi estimación. Me llevaría varias veces menos por volumen.En segundo lugar, el código en sí es simple, no hay funciones virtuales, plantillas y tampoco objetos dinámicos y punteros.Es decir, de hecho todo el código puede ser inline. Compila bastante rápido, en torno a los 600-700 ms. Bueno, en general, hay que buscar un ejemplo realmente voluminoso y bastante complejo. Y de mis desarrollos sólo he finalizado ese proyecto bajo el nuevo compilador, todos los demás los uso bajo el antiguo, y pasar tiempo en sus revisiones, no veo la necesidad de hacerlo, dada la situación actual.

 
Alexey Navoykov:

...

Y entre mis desarrollos solo he finalizado ese proyecto para el nuevo compilador, todos los demás utilizan el antiguo, y dedicar tiempo a su ajuste, no veo la practicidad, dada la situación actual.

Versión actual:Interfaces gráficas IX: elementos "Barra de progreso" y "Gráfico de líneas" (capítulo 2)

 

El primer Asesor Experto de prueba TestLibrary01 se compiló en 6,5 segundos. Además, la palabra "inteligente" parece un poco cómica cuando la comparamos con la velocidad de compilación en la antigua build - allí es instantánea. Si alguien quiere familiarizarse con ella, adjunto el compilador de la versión 1159. Por favor, cambie el nombre del archivo, por supuesto.

Es decir, de hecho podemos sacar la siguiente conclusión: el tiempo de compilación, por supuesto, puede variar muchas veces en función del tamaño y la complejidad del código, pero una cosa es inalterable: es mucho más lento en el nuevo compilador que en el antiguo. Al mismo tiempo, he comprobado que no hay una ganancia significativa en la velocidad del software. Si alguien quiere demostrar lo contrario, adelante.

Archivos adjuntos:
 
Alexey Navoykov:

Pues bien, el primer Asesor Experto de prueba TestLibrary01 me compiló en 6,5 segundos. Además, la palabra "inteligente" parecerá un poco cómica si la comparamos con la velocidad de compilación en la antigua build. Allí era instantánea. Si alguien quiere familiarizarse con ella, adjunto el compilador de la versión 1159. Por favor, cambie el nombre del archivo, por supuesto.

De hecho, se puede llegar a la siguiente conclusión: el tiempo de compilación, por supuesto, puede variar muchas veces en función del tamaño y la complejidad del código. Pero una cosa no cambia: es mucho más rápido en el antiguo compilador que en los nuevos. Lo he comprobado y no hay una ganancia considerable en la velocidad del software. Si alguien quiere demostrar lo contrario, adelante.

Por supuesto, los proyectos más complejos en MetaTrader 5 tardan mucho en compilarse. Incluso puede tardar hasta 11 segundos. Las mismas versiones en MetaTrader 4 son hasta 25 veces más rápidas.

Por ejemplo, el mismo proyecto.

MetaTrader5:

0 error(s), 0 warning(s), compile time: 11054 msec              1       1

//---

MetaTrader4:

0 error(s), 0 warning(s), compile time: 434 msec                1       1

//---

Hasta ahora, no está claro con qué está relacionado. Puedes intentar preparar material para los exámenes y enviarlo a servicedesk para que lo compruebe. Si no quiere mostrar el código de sus proyectos, puede utilizar el código de los artículos de esta serie como ejemplo.

 
Anatoli Kazharski:

Por supuesto, mis proyectos más complejos en MetaTrader 5 también tardan mucho en compilarse. Incluso tarda hasta 11 segundos. Exactamente las mismas versiones, pero en MetaTrader 4 puede ser hasta 25 veces más rápido.

Por ejemplo, el mismo proyecto.

MetaTrader5:

//---

MetaTrader4:

//---

Hasta ahora, no está claro con qué está relacionado. Puedes intentar preparar material para los exámenes y enviarlo a servicedesk para que lo compruebe. Si no quiere mostrar el código de sus proyectos, puede utilizar el código de los artículos de esta serie como ejemplo.

Tengo una suposición: como MT4 es de 32 bits, no se ha "optimizado totalmente". Por lo que sé, esta woe-optimización del compilador fue declarada para mejorar supuestamente el trabajo en un entorno de 64 bits. Por cierto, debería comprobar la versión de 32 bits de MT5. Quizá todo esté bien en ella. Pero yo no tengo esa oportunidad.

Si tienes la versión de 32 bits de metaeditor para 5, por favor compártelo.

 
Anatoli Kazharski:

Por supuesto, mis proyectos más complejos en MetaTrader 5 también tardan mucho en compilarse. Incluso tarda hasta 11 segundos. Exactamente las mismas versiones, pero en MetaTrader 4 puede ser hasta 25 veces más rápido.

Por ejemplo, el mismo proyecto.

MetaTrader5:

//---

MetaTrader4:

//---

Hasta ahora, no está claro con qué está relacionado. Puedes intentar preparar material para los exámenes y enviarlo a servicedesk para que lo compruebe. Si no quiere mostrar el código de sus proyectos, puede utilizar el código de los artículos de esta serie como ejemplo.

Se trata de la optimización del código.

Si escribe OPTIMIZE=0 en el campo [Experts] en metaeditor.ini, su velocidad de compilación será como en 4. Tengo algunos proyectos que compilan en 20 segundos y otros que entran en un bucle de optimización infinito :)

Razón de la queja: