Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 389

 
¿puede haber 2 funciones onticas en un mismo programa?
 
Максим Дмитриев:
¿puede haber 2 funciones onticas en un mismo programa?
¡No!
 
Максим Дмитриев:
¿puede haber dos funciones ónticas en un mismo programa?
Uno.
Pero, ¿quién impide que se ejecute el OnTickOne(), OnTickTwo(), OnTickThree() personalizado, etc.?
 
Максим Дмитриев:    ¿puede haber dos funciones ónticas en un mismo programa?

Es fácil comprobarlo uno mismo.

Es el segundo.

// Так работает, но вызывается только OnTick()
void OnTick()
{
  Alert("Вызов функции OnTick()");
}

void start()
{
  Alert("Вызов функции start()");
}
Si dejas una sola función de inicio, también funciona. Al fin y al cabo, start es un nombre obsoleto. El nombre más de moda es OnTick. La moda es estadísticamente más frecuente.
 
STARIJ:

Es fácil comprobarlo por ti mismo

Juramento en el segundo

Si dejas la función de inicio sola, también funciona. Al fin y al cabo, start es un nombre obsoleto. Un nombre más de moda es OnTick. La moda - en las estadísticas, significa que es más frecuente.

No se trata de moda. La cuestión es que en algún momento se dejará de dar soporte a las funciones obsoletas. Y los "mods" no sufrirán. Pero los que todavía utilizan características obsoletas - corregirán todo lo que se ha construido a lo largo de los años.

 
Artyom Trishkin:

No se trata de moda. La cuestión es que, en algún momento, se dejará de dar soporte a las funciones obsoletas. Y los "mods" no sufrirán. Pero los que siguen utilizando funciones anticuadas, corregirán todo el trabajo de años.

Lo que me pregunto es por qué CodeBase sigue aceptando código que utiliza esas funciones de manejo de eventos tan obsoletas si algún día pueden ser desactivadas.

 
Alexey Viktorov:

Me pregunto por qué CodeBase sigue aceptando código que utiliza las mismas funciones obsoletas de manejo de eventos, si se pueden desactivar en algún momento.

¿Quién sabe...? Pregunta para SD.

 
Alexey Viktorov:

Lo que me sorprende es por qué CodeBase sigue aceptando código que utiliza esas funciones de manejo de eventos obsoletas si algún día pueden ser desactivadas.

Es muy sencillo. A juzgar por el ejemplo, que contiene tanto start como OnTick, son percibidos de forma diferente por el compilador y mostrados de forma diferente en el código ex4. El ejecutor Ex4 también los distingue - el manejador del evento OnTick es la función OnTick() y en su ausencia es la función start(). Eliminar la función start() requeriría rediseñar tanto el compilador (que está presente tanto en MetaEditor como en Terminal) como el ejecutor en Terminal.

El resultado será una minúscula reducción del código de MetaEditor y Terminator + nuevos errores. Y una montaña de gritos. ¿Lo necesitan?

 
STARIJ:

Es muy sencillo. A juzgar por el ejemplo que contiene tanto start como OnTick, son percibidos de forma diferente por el compilador y se muestran de forma diferente en el código ex4. El ejecutor Ex4 también los distingue - el manejador del evento OnTick es la función OnTick() y en su ausencia es la función start(). Renunciar a la función start() requeriría rediseñar tanto el compilador (que está presente tanto en el MetaEditor como en el Terminal) como el ejecutor en el Terminal.

El resultado será sólo una pequeña reducción de código en MetaEditor y Terminal + nuevos errores. Y una montaña de llanto. ¿Lo necesitan?

No me refiero a cómo funcionan, sino a por qué aceptar esos códigos en CodeBase si pueden dejar de funcionar pronto.

 
Alexey Viktorov:

No me refiero a cómo funcionan, sino a por qué aceptar esos códigos en CodeBase si pronto pueden dejar de funcionar.

Creí que había explicado que funcionarían para siempre
Razón de la queja: