Secuencia de ejecución de Init() y DeInit() - página 11

 
Alexey Viktorov:
¿No es una pena perder el tiempo en discusiones tan inútiles sobre trivialidades?

En realidad, es incluso más importante ser consciente de esta peculiaridad.

 
Andrey Dik:

He escrito claramente - mantener los datos necesarios para ser transferidos a la copia siempre al día, no es necesario hacerlo sólo cuando initing, siempre mantenerlo al día.

¿Dónde deben estar actualizados estos datos? Un ejemplo, por favor. No creo que se pueda hacer nada mejor que un archivo. Por lo tanto, sólo con el archivo es un gran problema. ¿O cree que actualizar un archivo cada segundo es una práctica excelente?

Todos los demás casos son artificiosos debido al mal humor.

Entonces, ¿la "perturbación temporal en las pantallas azules" también es culpa del desarrollador del indicador? Este es exactamente el ejemplo que nadie ha dicho aún cómo evitar. Y no hay manera de evitarlo.

Si hay un problema con la ejecución del mismo indicador al mismo tiempo, entonces cree objetos únicos cada vez con un enlace al TF y si ya hay objetos agregue 1 al nombre.

Nadie ha citado un solo caso en el que los problemas sean insalvables debido a la forma actual de funcionamiento del terminal con indicadores. Los problemas se producen por el manejo inadecuado de los indicadores.

Ya he dado varios ejemplos. Pero usted simplemente los descarta, o en otras palabras, cierra los ojos a los problemas.

En general, mucha gente parece no entender que hay 3 tipos de programas por una razón (el cuarto vendrá pronto).

Sí, por una razón. Se debe a una simple debilidad humana: detenerse a mitad de camino. Después de todo, debe haber un tipo de programa en una plataforma. Ni más ni menos. La aparición del 4º tipo es una profundización de la autoderrota.
 
Ihor Herasko:


Sí, por una razón. Debido a una debilidad humana elemental : detenerse a mitad de camino. Debe haber 1 tipo de programa en una plataforma. Ni más ni menos. La aparición del 4º tipo es una profundización de la autoderrota.

Con ese tipo de actitud hacia los desarrolladores, es extraño oírte esperar que los desarrolladores resuelvan tu problema.

Y si hasta yo, ferviente luchador por todo tipo de mejoras y simplificaciones para la plataforma no veo ningún problema, seguro que la gente a la que le gusta dejarlo a medias no verá ningún problema.

 
Alexey Viktorov:
¿No es una pena perder el tiempo en discusiones tan inútiles sobre trivialidades?
¡Tienes razón! Pero no te equivocas en nada.
 
Andrey Dik:

Con ese tipo de actitud hacia los desarrolladores, es extraño oírte esperar que los desarrolladores resuelvan tu problema.


Tengo una actitud normal hacia los desarrolladores de plataformas )) La debilidad humana es nuestro problema común, no el de sus representantes individuales.

Aunque tú y yo nos hemos desviado mucho del tema de los tipos de programas. Deberías tener un hilo separado para eso. Pero no le veo mucho sentido, ya que será algo puramente académico sin ni siquiera un atisbo de aplicación práctica.

El significado de lo que estoy hablando es la lógica habitual de la ejecución de programas. Esta lógica estaba en MT4, y de buena manera debe ser transferida a MT5. De hecho, no es una desventaja de MT4. En este caso, es su ventaja sobre MT5. Así que, si quieres desarrollar MT5 y olvidarte rápidamente de MT4, ¿por qué no tomar lo mejor de MT4? Hay que arreglar los defectos y, al menos, mejorar las ventajas. Pero introducir nuevos inconvenientes...

 
Nikolai Semko:
¿Así que eso es todo?
He estado experimentando y utilizando este código de razón (REASON_CHARTCHANGE) al máximo. De qué sirve si todas las variables vuelven a su estado original y se puede ejecutar OnDeinit después de OnInit del nuevo TF

Motivos de desinicialización

Códigos de razón de desinicialización del Asesor Experto devueltos por UninitializeReason(). Puede tener cualquiera de los siguientes valores:

.........

Los indicadores sólo aceptan el código 1(REASON_REMOVE) y el código 2(REASON_RECOMPILE) por ahora.

 
Georgij Komarov:

Motivos de desinicialización

Códigos de razón de desinicialización del Asesor Experto devueltos por UninitializeReason(). Puede tener cualquiera de los siguientes valores:

.........

Los indicadores sólo aceptan el código 1(REASON_REMOVE) y el código 2(REASON_RECOMPILE) por ahora.

¿Está seguro?
 
Georgij Komarov:

Motivos de desinicialización

Códigos de razón de desinicialización del Asesor Experto devueltos por UninitializeReason(). Puede tener cualquiera de los siguientes valores:

.........

Los indicadores sólo aceptan el código 1(REASON_REMOVE) y el código 2(REASON_RECOMPILE) por ahora.

Esta es una información obsoleta. Tras numerosas peticiones, hemos empezado a enviar otros motivos a los indicadores

También hubo muchas discusiones. Es extraño que nadie se acordara de las diferentes copias de los indicadores

 
Ihor Herasko:


Tengo una actitud normal hacia los desarrolladores de plataformas )) La fragilidad humana es nuestro problema común, no el de sus representantes individuales.

Aunque, efectivamente, usted y yo nos hemos desviado del tema de los tipos de programas. Deberíamos haber iniciado una rama separada para esto. Pero no le veo mucho sentido, porque será puramente académico, sin ni siquiera un atisbo de aplicación práctica.

Elsignificado de lo que estoy hablando es la lógica habitual de la ejecución de programas. Esta lógica estaba en MT4, y de buena manera debe ser transferida a MT5. De hecho, no es una desventaja de MT4. En este caso, es su ventaja sobre MT5. Así que, si quieres desarrollar MT5 y olvidarte rápidamente de MT4, ¿por qué no tomar lo mejor de MT4? Pues bien, hay que arreglar las deficiencias y, como mucho, mejorar las ventajas. Pero introducir nuevos inconvenientes...

Eso es, nos quejamos...

Estás pidiendo exactamente lo que no está disponible en las aplicaciones normales de escritorio. Si los desarrolladores no hicieran todas estas características que ya están "fuera de la caja", los escritores de programas MQL se enfrentarían constantemente a todos los encantos del desarrollo de escritorio, ya sean problemas de seguridad o de velocidad de ejecución.
 
Nikolai Semko:

Pregunta muy cuestionable sobre nada complicado. Intente realmente repetir con el ejemplo de un simple reloj de pulsera lo que he implementado en este producto. En la rueda de muñeca se cambia el periodo con el ratón y luego, cuando se cambia de TF, se deben guardar los cambios. Y verás que no hay nada complicado. Y si necesitas pasar un array Y verás lo "sencillo" que es. Tal vez, yo mismo lo pensaría, si no lo hubiera implementado ya.

¿Cuál es el problema de almacenar el periodo en una variable principal?

¿Por qué sería necesario transferir una serie de datos entre las sucesivas ejecuciones del indicador en diferentes TFs?