Discusión sobre el artículo "Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte I): Concepto, organización de datos y primeros resultados" - página 3

 
Stanislav Korotky:

Si lo dejas "por ahora", tendrás que cambiar mucho código si rediseñas la localización. ¿Cuál es la dificultad de conectar cadenas de bibliotecas de "recursos" o cabeceras a la vez?

Así que tal vez Artem no está buscando maneras fáciles) Además, dijo que el desarrollo de la biblioteca será paso a paso con refactorización regular del código.

 
Stanislav Korotky:

Si lo deja "por ahora", tendrá que cambiar mucho código si rediseña la localización. ¿Cuál es la dificultad de conectar cadenas de bibliotecas de "recursos" o cabeceras a la vez?

Todo tiene su turno. En esta fase de creación de la biblioteca, todavía no tiene una clase de mensaje. Cuando se cree, todo lo será. No estoy tratando de correr por delante de la locomotora y se adhieren al principio "de lo simple a lo complejo", por otra parte, ya he escrito:

Foro sobre el comercio, los sistemas automatizados de comercio y probar estrategias de negociación.

Discusión del artículo "Biblioteca para la creación fácil y rápida de programas para MetaTrader (Parte I). Concepto, organización de datos, primeros resultados"

Artyom Trishkin, 2019.02.27 19:25

Bueno el retorno de las estructuras está previsto como una característica adicional a petición del usuario - puramente por conveniencia. Allí más se verá. En cualquier caso - la biblioteca se crea "sobre la marcha" con una descripción de los pasos de su creación, con la introducción de cambios. Así que más adelante se verá cómo hacer "no es caro".

Sin embargo, ya lo he hecho. Ahora sólo estoy describiendo de una manera estructurada, mientras que al mismo tiempo poner todo en orden para mí.

Y en general - estoy acostumbrado a hacer "de lo simple a lo complejo", pero pensando de antemano "lo que sigue" - a fin de no quedarse atascado en la necesidad de revisar el concepto, de la que nadie es inmune.


 
Artyom Trishkin:

Todo tiene su turno. En esta fase de la creación de la biblioteca, aún no tiene clase de mensaje. Cuando esté creada, todo lo estará. No estoy tratando de correr delante de la locomotora y se adhieren al principio de "de lo simple a lo complejo", por otra parte, ya he escrito:

Lo he leído. Es sólo que si el plan de trabajo aún no ha llegado a la localización, ¿por qué has tenido que ponerlo como está ahora? En general, el propietario es el jefe, la pregunta es retórica.

 
Stanislav Korotky:

Ya lo he leído. Es que si el plan de trabajo aún no ha llegado a la localización, ¿por qué tenías que ponerlo como está ahora? En fin, el jefe es el jefe, es una pregunta retórica.

El plan está pintado desde hace tiempo. Y no voy a cambiarlo. Esto es sólo la primera parte, el principio, una historia sobre el concepto general, sin detalles. Y si estás atento, tu pregunta es muy extraña.
Es extraño hacer afirmaciones a la estructura del coche que no tiene una escotilla en el techo de la carrocería, que aún no ha visto.
 
Artyom Trishkin:
El plan está en marcha desde hace mucho tiempo. Y no lo cambiaré. Esto es sólo la primera parte - el principio, una historia sobre el concepto general, sin detalles. Y si estás prestando atención, tu pregunta es muy extraña.
Es extraño hacer una afirmación sobre el bastidor de un coche que no incluye una escotilla en el techo de la carrocería, que aún no has visto.

Ok, si sigues con la analogía del coche, ya hay un techo solar webasto unido al bastidor por alguna razón, que no tiene nada que ver con el concepto general, y que requerirá sustitución. La pregunta no era sobre el plan o el coche entero, sino sobre una parte innecesaria (trabajo innecesario ahora y retrabajo innecesario en el futuro).

 
Stanislav Korotky:

Ok, para continuar con la analogía del coche, ya hay una escotilla webasto unida al bastidor por alguna razón, que no tiene nada que ver con el concepto general y que tendrá que ser reemplazada. La pregunta no era sobre el plan o el coche en su conjunto, sino sobre una parte innecesaria (trabajo innecesario ahora y retrabajo innecesario en el futuro).

Cuando depuras, si necesitas dar salida a algo al log, ¿escribes una clase entera para dar salida a las entradas del log en el lenguaje Tombo? ¿Especialmente si necesitas mostrar esta salida en un artículo? No puedes mostrar el depurador en un artículo. En general, no voy a correr delante de la locomotora. Sobre todo porque la clase está prevista y se mostrará en el artículo donde sea apropiado y contextual.
 
fxsaber:

Es caro devolver una estructura. Por la misma razón CopyRates es varias veces más caro que CopyClose.

¿De verdad? Es decir, si necesito copiar todos los campos de MqlRates, CopyRates debería ser más eficiente que CopyTime, CopyOpen, CopyHigh ... las ocho funciones en secuencia.
 
alex_all:
¿De verdad? Es decir, si necesito copiar todos los campos MqlRates, usar CopyRates debería ser más eficiente que usar CopyTime, CopyOpen, CopyHigh ... las ocho funciones secuencialmente.

funciones individuales CopyClose, CopyHigh, High[], Low[], etc. Hay un montón de lugares donde se utilizan indicadores específicos sin tener que hacer referencia a toda la barra.

 
alex_all:
¿De verdad? Es decir, si necesito copiar todos los campos MqlRates, usar CopyRates debería ser más eficiente que usar CopyTime, CopyOpen, CopyHigh ... las ocho funciones secuencialmente.

Aún así, dar un puntero a un objeto, del que se pueden obtener todas sus propiedades en el programa, será más rápido que copiar todas las propiedades del objeto en la estructura pasada a la clase por referencia.

 
Artyom Trishkin:

Aún así, será más rápido dar un puntero a un objeto, del que se pueden obtener todas sus propiedades en el programa, que copiar todas las propiedades del objeto en una estructura pasada a la clase por referencia.

Entiendo correctamente lo que quieres decir - CopyRates realiza una copia real de datos en una estructura, mientras que la familia CopyOpen... realiza una copia virtual (es decir, sobrescribe la estructura). - es virtual (es decir, sobrescribir una referencia a una matriz existente)?

Es que crear una estructura integrada en la plataforma tiene sentido si existen mecanismos implementados para trabajar con ella que no reduzcan demasiado la velocidad.