Mi enfoque. El núcleo es el motor. - página 139

 
Georgiy Merts:

¿Están convenciendo a Peter de los beneficios de la OOP?

Artyom Trishkin:

Estás perdiendo el aliento.

Tenéis razón, todo esto lo sé y lo entiendo muy bien. Pero al parecer Pedro toca algunos hilos mentales de mi alma OOP con su "no quiero, no quiero", por lo que estoy cayendo constantemente en estas interminables explicaciones, discusiones y peleas.

 
Реter Konow:

Y el motor cargará los núcleos desde un archivo de texto. No es difícil de hacer.

Oh, ya veo. Sí, así está mejor. Así que su núcleo es un archivo de texto - esencialmente un grupo de ajustes para el motor.

 
Реter Konow:

No, Vasiliy, tiendes a dramatizar todo).

Hay un botón en el constructor que, al ser pulsado, imprime todos los archivos.

Y el motor cargará los núcleos desde un archivo de texto. No es difícil de hacer.

Siento interrumpir, pero me preguntaba: ¿cómo se supone que se hace la refactorización? por ejemplo, cambiar los nombres erróneos o, en general, la composición/ubicación de los elementos

 
Vasiliy Sokolov:

Oh, ya veo. Sí, así está mejor. Así que su núcleo es un archivo de texto - esencialmente un grupo de ajustes para el motor.

Sí. Exactamente. Toda la información necesaria para que el motor reproduzca una determinada GUI y trabaje con ella. Ahora mismo lo estoy instalando directamente en el motor, y luego lo haré cargable desde el archivo que imprime el constructor.

 
Maxim Kuznetsov:

Siento interrumpir, pero me pregunto cómo se supone que funciona el refactorizador, por ejemplo, cambiar los nombres malos o la composición/ubicación de los elementos en general.

Todo esto está en el constructor. Se escribe el código KIB y se recompila el archivo.

Así es como se trabaja con el constructorhttps://www.mql5.com/ru/blogs/post/717782

 
Vasiliy Sokolov:

U otro ejemplo. Recientemente me han pedido que modifique un Asesor Experto de procedimiento para que pueda operar simultáneamente en varios símbolos (corriendo en un gráfico). El estilo procedimental habría requerido largos y complejos esfuerzos para hacer que se negocie de forma independiente en diferentes símbolos al mismo tiempo. Por el contrario, simplemente coloqué todo el código de procedimiento en una clase y creé tres ejemplares. Especifiqué un conjunto individual de ajustes para cada uno de ellos, incluyendo el símbolo de trabajo, etc. El código funcionó correctamente en el primer intento. El código ha funcionado como debía en el primer intento. El usuario quedó satisfecho.

Esta semana he tenido un ejemplo similar, me han pedido que haga un Asesor Experto que abra compra en la apertura de una barra en un TF y abra venta en la apertura de una barra en otro).

Pero reescribí una función trivial para definir una nueva barra en una clase, y creé 2 instancias de la clase para definir una nueva barra. Pasé el marco temporal de la TF como parámetro durante la inicialización del constructor

5 minutos de trabajo, pero está garantizado que todo funcionará y no habrá confusión con los nombres de las funciones NewBar_TF1() , NewBar_TF2() .... al igual que es conveniente inicializar después de los cambios de configuración por parte del usuario - eliminar el objeto en DeInit(), crear el objeto en ONInit()

En mi opinión, la POO es conveniente y práctica

 
Реter Konow:

Todo esto está en el constructor. Se escribe el código KIB y se recompila el archivo.

Así es como se trabaja con el constructorhttps://www.mql5.com/ru/blogs/post/717782

Pero, ¿sobreescribirá todas las ediciones personalizadas y los enlaces que están en los eventos?
 
Реter Konow:

Sí. Exactamente...

Por eso hay mucha confusión con su motor con otros. Asigne nombres no estándar a los elementos de su sistema. No es un núcleo, sino un archivo de configuración autogenerado.

 
Maxim Kuznetsov:
Pero, ¿sobreescribirá todas las ediciones de los usuarios que estén en los eventos?

Explícate más.

 
Vasiliy Sokolov:

Por eso hay mucha confusión con su motor y por eso otros se confunden. Asigne nombres no estándar a los elementos de su sistema. No es un núcleo, sino un archivo de configuración autogenerado.

Así que el archivo, son los núcleos impresos. Hay más de uno.

Razón de la queja: