Errores, fallos, preguntas - página 1626

 
Alexey Da:

¿Se observa este comportamiento con algún experto?

Sin embargo, los registros serían útiles. Envíe un ticket a servicedesk.

Todavía no puedo adjuntar registros y archivos desde mi teléfono. Los parámetros de optimización son unos 500. Valores de los parámetros de 0 a 2. 2000 iteraciones pasan en un abrir y cerrar de ojos. Entonces todo es lento. Con la construcción anterior se hacían 120.000 pasadas en un día.
 
Alexey Navoykov:

...Si no, ¿cómo se explica que un script completamente vacío, con sólo la función OnStart() { }, compile más de 400 ms?

Por supuesto, yo no escribo compiladores, pero estoy seguro de que hay un cierto mínimo que no depende en absoluto del tamaño del proyecto. Es como llamar a un taxi y conducir hasta la siguiente entrada - parece que se mueve un par de metros, en el dinero un par de centavos, pero el precio mínimo de 200r también puede causar una pregunta - hay un centavo para ir, por lo que ?
 
Alexey Oreshkin:
Por supuesto que no escribo compiladores, pero estoy seguro de que simplemente hay unos mínimos que no dependen en absoluto del tamaño del proyecto. Es como llamar a un taxi y conducir a la siguiente entrada - como se trasladó un par de metros, en el dinero un par de kopecks, pero el precio mínimo de servir en 200r también puede plantear una pregunta - aquí para ir por un centavo, por lo que ?
Pues bien, con la llegada de Yandex Taxi y otros servicios similares esto ya se ha mitigado un poco. Y estas cifras son bastante razonables, porque todo el mundo necesita comer. Pero las cifras que he citado son claramente inadecuadas para la complejidad de la tarea.
 
Alexey Navoykov:

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 OpenStart() { } 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 está preocupado por este problema?), cuánto tiempo tarda en compilar y en qué hardware. Debemos mencionar que estamos hablando de compilar un ejecutable.

Se trata de construcciones complejas, que a veces se reportan aquí como bugs. Si no los utiliza, el tiempo se reducirá considerablemente. Por ejemplo, TODO el código en kodobase compila significativamente más rápido que 20 segundos. Tengo una construcción de 1368 en un portátil muy lento que compila en decenas de ms. Dame el código para reproducirlo.
 
coderex:
Por eso no intento probar nada más, además los proyectos en los pluses tardan mucho más en construirse, aunque sean mucho más grandes, pero estoy acostumbrado a construir en unos minutos un archivo ejecutable o de librería, mientras que un proyecto con varios archivos con una estructura de directorios tarda hasta varias decenas de minutos :) y esperar 10-20 segundos no es un problema...
No puedo imaginar cuánto tiempo llevaría construir un proyecto así en MQL. Incluso los IDEs más completos tienen diferentes modos de compilación. Tal vez se refiera a la compilación de lanzamiento, mientras que la mayoría de las veces el modo de depuración es suficiente para nosotros. Pero en MT no tienes mucho tiempo para esperar eso.
Además, utilizan archivos precompilados, por lo que las construcciones posteriores serán obviamente más rápidas
 
fxsaber:
Se trata de construcciones complejas, cuyo fallo frecuente se denuncia aquí a veces como un error. Si no los utiliza, el tiempo se reducirá considerablemente. Por ejemplo, TODO el código en kodobase compila significativamente más rápido que 20 segundos. Tengo una construcción de 1368 en un portátil muy lento que compila en decenas de ms. Dame el código para jugar.
¿No estás exagerando con todos los códigos? ¿Cómo puedes estar tan seguro? ¿Los has probado todos?
Y en cuanto a los diseños complejos, eso es sólo una especulación suya. ¿Qué tienen de complicado? Si pueden presentar alguna complejidad, es sólo en la fase de comprobación de la sintaxis, y se realiza al instante. Esto puede verse, por ejemplo, al compilar mqh, donde no se crea ningún código ejecutable. Así, después de esta comprobación, todas las dificultades aparentes en las construcciones sintácticas ya están resueltas y el compilador sabe exactamente qué hacer. El siguiente paso es la optimización del código ejecutable. Así que aquí es donde está el problema.
Bien, cuando esté en mi ordenador te daré un código para que lo reproduzcas. Pero ya me confunden tus cuentos sobre decenas de ms en hardware débil. ¿Estamos hablando exactamente de lo mismo? ¿El archivo de script es .mq5? ¿Y qué procesador tienes?
 
-Aleks-:
El enlace no da la información de interés - sea específico.

Difícil de adivinar abrir la primera página del hilo que tiene dos fotos en el primer post???

https://www.mql5.com/ru/forum/88768

Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
  • comentarios: 1
  • www.mql5.com
Недавно один из национальных брокеров России Solid Financial Services запустил торговую платформу MetaTrader 5 с хеджинговой системой учета позиций...
 
Alexey Viktorov:

Difícil de adivinar abrir la primera página del hilo que tiene dos fotos en el primer post???

https://www.mql5.com/ru/forum/88768

He mirado la primera foto - no tienen datos en la página web sobre la cuenta de céntimos para los cincos. Pero la segunda imagen tiene esos datos, pero no está claro si es posible superponerlos allí? Y la limitación en el número de órdenes abiertas y el volumen de posiciones... Esto no es bueno en general. Pero es bueno que haya una posibilidad.

Pero, por desgracia, no tengo ningún incentivo para reescribir todo el código (incluyendo el gasto de dinero extra en reescribir un código complejo).

 
-Aleks-:

He mirado la primera foto - no tienen datos en la página web sobre la cuenta de céntimos para los cincos. Sin embargo, la segunda imagen tiene esos datos, pero no está claro si es posible superponerlos allí? Y la limitación en el número de órdenes abiertas y el volumen de posiciones... Esto no es bueno en general. Pero es bueno que haya una posibilidad.

Pero, por desgracia, no tenemos ningún incentivo para reescribir todo el código (incluyendo el gasto de dinero extra para reescribir el complejo código).

Entonces, ¿por qué has tenido que inventar esas razones? Podrías decir simplemente NIKHAT y NADIE...

Si no tiene esa cantidad de dinero para operar en una cuenta en dólares, ¿qué restricciones en el número de órdenes y en los volúmenes puede suponer para usted? Todo es extraño.

 
Alexey Viktorov:

Entonces, ¿por qué te inventas esas razones? Podrías decir que no quiero y no lo haré...

Si no tengo suficiente dinero para operar en una cuenta en dólares, ¿qué restricciones en el número de órdenes y en los volúmenes pueden suponer para mí? Todo es extraño.

Quiero hacerlo y lo haré - ya he pedido una clase para trabajar con pedidos - de la manera en que me siento cómoda - estoy esperando su llegada para fin de año.

Opero en una red de contra-tendencia, e incluso con lotes crecientes, con muchos pares de divisas - por lo que se requiere una gran cantidad de órdenes y el apoyo a un gran volumen de posición. Resuelvo el problema con diferentes trucos, si tengo que desarrollarlos y ponerlos en práctica de nuevo sólo me llevará tiempo y no mejorará mis resultados financieros.