Preguntas sobre POO en MQL5 - página 47

 
Igor Makanu:

Los desarrolladores de MT siempre escriben que el uso de los mecanismos incorporados en el compilador será más rápido que llamar incluso a las funciones regulares

Si tienes tiempo e interés, comprueba la velocidad de mi versión y la tuya con ArrayCopy

Comprobaré la velocidad un poco más tarde, ahora mismo estoy ocupado con mis clases de PC.

Me equivoqué con ArrayCopy, porque tienes un array de arrays, no se copiará. Tienes que copiarlo elemento por elemento, así que sí, tu manera es óptima.
 
Alexey Navoykov:
Me pasé con lo de ArrayCopy, tienes un array de arrays, no se copiará. Tienes que copiarlos elemento por elemento. Así que, sí, tu manera es mejor.

Uf... al menos algo se aclaró ))))


Aunque existe la opinión común de que MQL es un lenguaje similar a C, pero en mi opinión está más cerca de Sharp que de Plus.

He copiado casi el 99% del código en MQL. Es un trabajo de 5-10 minutos

ZS: Lo haría, pero creo que tengo este código en mi portátil - no lo recuerdo, tengo que buscarlo, y en casa no tengo potencia de cálculo... es un lío en general ))))

 
Igor Makanu:

Uf... al menos algo se aclaró ))))


Aunque existe la opinión común de que MQL es un lenguaje similar a C, pero en mi opinión está más cerca de Sharp que de Plus.

He copiado casi el 99% del código en MQL. Es un trabajo de 5-10 minutos

ZS: Lo haría, pero creo que tengo este código en mi portátil - no lo recuerdo, tengo que buscarlo, y en casa no tengo potencia de cálculo... es un lío en general ))))

Está tan lejos de los profesionales como la luna y tan lejos de Sharp como la órbita de Plutón. En general, la impresión general es que todo se hace en la imagen de WinApi. Y sí, las ventajas siguen siendo la base.

 
Vladimir Simakov:

Está tan cerca de los pluses como de la luna, y Sharpe está tan cerca de la órbita de Plutón. En general, la impresión es que todo se hace en la imagen de WinApi. Y sí, las ventajas siguen siendo la base.

Hay mucho que discutir, pero ya se ha ocupado de los problemas de portabilidad de STL, ¿no es así?

para acelerar el proceso de argumentación.... Si se quita la STL y el manejo de punteros, la salida NO tiene capacidades MQL.

pero si aplicas la misma "mina de quita y pon" a C# , entonces lo que queda de Sharp podría parecerse a MQL en sus posibilidades

;)

 
Igor Makanu:

Hay mucho que discutir, pero ya se ha ocupado de los problemas de portabilidad de STL, ¿no es así?

para acelerar el proceso de argumentación.... Quite el STL , luego el trabajo con punteros y NO obtendrá capacidades MQL en la salida

pero si aplicas la misma "mina de quita y pon" a C# , entonces lo que queda de Sharp podría parecerse a MQL en sus posibilidades

;)

Si eliminas los punteros de C, tampoco tendrás C, mientras que stl es sólo una biblioteca))))

¿Y qué sugieres sacar de Sharpe, objetos)? Tendrá el mismo efecto.

Por cierto, las plantillas en mql siguen siendo plantillas de C, no genéricas de C# (tiempo de compilación). Y no hay macros en Sharp).

 
Vladimir Simakov:

Si se eliminan los punteros de C, no habrá C, y stl es sólo una biblioteca).

¿Y qué sugieres que eliminemos de Sharp, los objetos)? Tendrá el mismo efecto.

Por cierto, las plantillas en mql siguen siendo plantillas de C, no genéricas de C# (tiempo de compilación). Y no hay macros en Sharpe).

No creo que merezca la pena perder tiempo y esfuerzo discutiendo conIgor Makanu,
Este hombre trata de argumentar sobre asuntos elevados de nivel superior sin entendercuestiones triviales de nivel de aprendiz.


 
Igor Makanu:

Hay mucho que discutir, pero ya se ha ocupado de los problemas de portabilidad de STL, ¿no es así?

para acelerar el proceso de argumentación.... Si se quita la STL y el manejo de punteros, NO se obtendrán capacidades MQL en la salida.

pero si aplicas la misma "mina de quita y pon" a C# , entonces lo que queda de Sharp podría parecerse a MQL en sus posibilidades

;)

STL es sólo una biblioteca. Usar o no usarlo no influye en las posibilidades del lenguaje, serán 2 cabezas más altas que MQL como antes.

Y Sharp es similar a MQL sólo en los arrays. Todo el resto MQL recuerda a C++, quizás del 99 o anterior.

 
Sergey Dzyublik:

No creo que tenga que perder mi tiempo y energía discutiendo conIgor Makanu,
Una persona está tratando de argumentar sobre cosas de alto nivel sin entendercuestiones triviales de nivel de aprendiz.

No discuta, no pierda el tiempo, no es como lo que escribí en la respuesta deSergey Dzyublik. ;)

¿Has visto el título del tema? - ¿Mis preguntas corresponden a este hilo? - Bueno, nadie me asignó la tarea de complacer a su Ego hoy))))

Vladimir Simakov:

Si quitas los punteros de C, no tendrás C en absoluto, mientras que stl es sólo una biblioteca))))

Lo entiendo, pero los lenguajes de alto nivel son interesantes con soluciones ya hechas, o estaríamos ocupados escribiendo printf() durante medio día))

Alexey Navoykov:

Y Sharp es similar a MQL sólo en los arrays. Todo lo demás parece C++ del año 99 o anterior.

Puede que tengas razón en lo que dices.

 
Igor Makanu:

Hay mucho que discutir, pero ya ha encontrado problemas con la portación de STL, ¿no es así?

Los principales problemas que encontré al portar std::vector de C++ a MQL:
1)los bichos(y tampoco todos aquí).
2) Las funciones estándar funcionan adecuadamente sólo para ciertos tipos de datos (tengo que escribir manualmente ArrayCopy universal, ArrayFill con soporte de compilación condicional, dependiendo del tipo, para la máxima velocidad);
3) Las funciones estándar funcionan con bastante lentitud para ciertos tipos de datos (hay que prescribir manualmente ArrayResize para un rápido Resize+Reserve para tipos de datos simples);
4) Y sólo el cuarto lugar la falta de funcionalidad - la falta de "declaración typedef" (se elude a través de #define, la herencia de las clases y estructuras, el uso de clases de envoltura para los tipos simples).


 
Lo principal es que se supone que es de más alto nivel que C++, y el código en él debería ser más sencillo y lacónico. Pero en realidad es al revés. El código en MQL es mucho más engorroso y torpe, hay que crujir muchas cosas.