Errores, fallos, preguntas - página 1625
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
mt4 compila en 888 mseg.
el mismo proyecto compila 4103 ms en mt5
No tengo dinero para MT5 - Opero con cuentas de centavos y el DC no tiene prisa por abrirlas por cinco dólares.
Me gustaría volver a plantear el problema de la lentitud de la compilación de MQL5. Hace unos tres meses intenté plantear este problema, pero no se entendió, aparentemente mis argumentos no fueron lo suficientemente convincentes. Por lo tanto, volví a la antigua compilación (1159), que compilaba todo casi instantáneamente (mientras que con los nuevos compiladores mi proyecto se compilaba en 20 segundos).
Así que hace una semana he intentado cambiar a una nueva compilación. Pensé "olvídate de los 20 segundos, me aguantaré por el bien de las cosas nuevas". Por supuesto, tuve que retocar un poco el código para cumplir con las nuevas condiciones, lo que reveló varios errores del nuevo compilador (descritos aquí).El resultado es que mi proyecto lleva ya 30 segundos compilando! No sé si tiene que ver con la complicación del proyecto o con una "complicación" más del compilador, pero ya no cuela.
El proyecto contiene unos 700 Kb de código fuente, es un Asesor Experto que contiene un par de docenas de mqh. Todo es OOP. La gente me escribió antes que la ralentización es probablemente causada por las funciones grandes. Los he fragmentado en partes más pequeñas y no tienen efecto.
Lo más sorprendente es que esta recopilación superlarga no sirve para nada. La velocidad del programa es la misma que con el antiguo compilador, lo he medido expresamente. Eso sólo pide una frase: "¿Para qué?".
Tengo la fuerte sensación de que hay un error/mal funcionamiento en el compilador debido al cual está corriendo ociosamente por un espacio vacío. Cómo si no puedo explicar el hecho de que un script absolutamente vacío con sólo la función OnStart() { } compila más de 400 ms!Es inimaginable que se pueda tardar tanto en compilar/optimizar un script vacío. Pues bien, añadiendo pequeñas funciones y clases en él, se puede ver cómo crece rápidamente el tiempo de compilación.
Quiero decir de inmediato que mi hardware está, por supuesto, lejos de ser potente - Core i5U. Pero esto no impide que mi proyecto se compila en 1-2 segundos en un compilador de edad. Respectivamente, el maniquí se compila allí en un momento.
También voy a tomar nota. El compilador carece por completo no sólo de caché de los fragmentos compilados anteriormente, sino incluso de una comprobación trivial para asegurarse de que el código fuente era idéntico. Es decir, compilas tu proyecto y luego vuelves a pulsar el botón "Compilar" sin hacer ningún cambio y vuelves a esperar los mismos 30 segundos. Qué bueno es...
Me gustaría escuchar los comentarios de los desarrolladores de MT y de los usuarios del foro, que trabajan con proyectos grandes (¿soy sólo yo quien tiene este problema?), cuánto tiempo se tarda en compilar, etc. Hay que decir de entrada que estamos hablando de compilar un ejecutable.
Mis proyectos tienen más de una docena de archivos fuente, como el tuyo, y todos en OOP, mientras que no voy a reclamar unos 20 segundos, pero más de 11 - 14 segundos veo constantemente. Sin embargo, se está produciendo algún tipo de caché, ya que si no cambias nada la hora cambia en 1-2 segundos en cualquier dirección impredecible. No estoy comparando la construcción de los proyectos utilizando los compiladores antiguos y nuevos porque los compiladores antiguos construyeron todo mucho más rápido. Creo que los propios desarrolladores ven este punto y algún día lo arreglarán :) No en vano lanzan varias tiradas nuevas cada mes: significa que ven algo y lo arreglan.
Versión del terminal y tasa de bits
v.1375, 64 bits
Descripción del problema.
Después de la actualización a la última versión, los agentes se congelan después de pasar los primeros 1900-2100 pases durante la optimización. Todo estaba bien antes de la actualización, todos los parámetros y el código EA son los mismos.
Secuencia de acciones
Comienza la optimización. Agente de apertura. Cuenta real. Las herramientas: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (no he probado otros). Intervalo: mensual, minuto, 15 minutos. Precios de apertura o OHLC.
Resultado.
Los agentes locales y remotos después de 2000 pases realmente se congelan, las cargas de la CPU, cambian aproximadamente un 0,01% cada 10 minutos. 14 agentes.
Resultado esperado
Paseo de optimización como en la versión anterior.
Información adicional
Sobre mí: programador MQL5 con experiencia en .net
Sin embargo, hay algo de caché en marcha, porque si no cambias nada, el tiempo cambia en 1-2 segundos en cualquier dirección impredecible.
:) es obviamente un error, la influencia de otros procesos en el sistema, además de la caché de disco. En cualquier caso, el 10-15% no es en absoluto los indicadores, para que el almacenamiento en caché.
Yo no compararía la construcción de proyectos con compiladores antiguos y nuevos, ya que los compiladores antiguos construían todo mucho más rápido. Creo que los propios desarrolladores ven este punto y lo arreglarán en algún momento :) No en vano salen varias tiradas nuevas cada mes, significa que ven algo y lo arreglan.
Las nuevas betas se lanzan porque la gente se queja de varios fallos, pero si los fallos son un argumento sólido para que los arreglen, todo lo demás... Hay que convencerlos durante mucho tiempo. Incluso cuando parecería claramente traído todos los argumentos, claramente esbozado el cuadro tan claro como puede ser, todavía se resisten, por las buenas o por las malas :) Aquí estoy el mismo hace 3 meses trató de convencer a ellos, pero nadie apoyó.
Y he visto que sólo unos pocos utilizan MQL para proyectos grandes y probablemente no se molestan con los pequeños por un par de segundos extra.
Por cierto, ¿qué tipo de CPU tienes?
... van a hacer todo lo que puedan :)
No busqué lo suficiente. https://www.mql5.com/ru/forum/88768/page2#comment_2587760
Versión del terminal y tasa de bits
v.1375, 64 bits
Descripción del problema.
Después de la actualización a la última versión, los agentes se congelan después de pasar los primeros 1900-2100 pases durante la optimización. Todo estaba bien antes de la actualización, todos los parámetros y el código EA son los mismos.
Secuencia de acciones
Comienza la optimización. Agente de apertura. Cuenta real. Las herramientas: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (no he probado otros). Intervalo: mensual, minuto, 15 minutos. Precios de apertura o OHLC.
Resultado.
Los agentes locales y remotos después de 2000 pases realmente se congelan, las cargas de la CPU, cambian aproximadamente un 0,01% cada 10 minutos. 14 agentes.
Resultado esperado
Paseo de optimización como en la versión anterior.
Información adicional
Sobre mí: programador MQL5 con experiencia en .net
¿Ocurre este comportamiento con algún Asesor Experto?
Sería bueno tener los registros. Por favor, envíe un ticket al Service Desk.
Los registros de la terminal son buenos, más interesantes son los registros del probador de estrategias y de los agentes de prueba.
+ adjuntar a su ticket al menos EX5 de su Asesor Experto (lo borraremos después de la investigación) + descripción de los parámetros utilizados durante la optimización.