Características del lenguaje mql5, sutilezas y técnicas - página 121
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Entonces no lo entiendo.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Peculiaridades de mql5, consejos y trucos
Alexey Navoykov, 2019.01.14 16:35
Si lo necesita, puede declarar void OnTick(); al principio. Pero en general, el orden de declaración de las funciones es una forma adicional de controlar la corrección del código. Por ejemplo, si en algún plug-in sucede la llamada OnTick() o, peor aún, OnInit(), ¿es bueno? Las bibliotecas no deben ver su código de trabajo.Entonces no lo entiendo
Las declaraciones forward son sólo para las clases y estructuras, no para las funciones.
La cuestión es que si las funciones que vas a utilizar están especificadas en el inlude, tienes que escribirlas según la sugerencia, si el inlude está abajo.
¿Cuál es el problema de insertar un inluder antes?
Puede ser un inconveniente para un archivo (la función con el cuerpo debe ser antes de la llamada), pero si la función en mqh - ¿cuál es el problema para insertar el inlude al principio?
La declaración forward es sólo para clases y estructuras, no para funciones.
Es genial que lo hayas aclarado.
¿Cuál es el problema de insertar un inluder antes?
Puede ser un inconveniente para un archivo único (una función con un cuerpo necesariamente antes de la llamada), pero si la función está en mqh - ¿cuál es el problema de insertar un inline al principio?
Algunas construcciones con macros han requerido a veces un inlude en la última línea. No te voy a dar un ejemplo concreto, me los he encontrado en la práctica muchas veces.
Las declaraciones forward son sólo para las clases y estructuras, no para las funciones.
Algunas construcciones con macros a veces requerían un inlude en la última línea. No te voy a dar un ejemplo concreto, me los he encontrado muchas veces en la práctica.
Bueno, esto es algo bastante exótico. No creo que merezca la pena sacrificar la corrección arquitectónica por las macros individuales.
En cualquier caso, el código del programa debe ejecutarse exactamente según el algoritmo previsto. El acceso a una variable antes de su inicialización no tiene sentido. Esto no debería compilar.
Por cierto, si un inlude utiliza algunas funciones que no están allí, deben declararse allí de todos modos. Al igual que las clases y las variables externas. Por lo demás, es una muleta, no un inludio.
En consecuencia, el enchufe no debe depender del lugar donde se enchufe.
Por cierto, si se utilizan algunas funciones en el inlude, que no están allí, deben declararse allí de todos modos. Al igual que las clases y las variables externas. De lo contrario, no es un inludio, sino una muleta.
¿Qué crees que es un inludio? Para mí, es sólo un trozo de texto, asignado a un archivo separado. Y se ignora su reintroducción en la fuente. Nada más.
¿Qué crees que es un inludio? Para mí, es sólo un trozo de texto, asignado a un archivo separado. Y se ignora su reintroducción en la fuente. Nada más.
Creo que debería ser un código independiente y autónomo. Tiene más sentido, y es fácil de controlar, y hacer comprobaciones de sintaxis independientes en este código. Pero si todo está en diferentes archivos y no está claro desde dónde se llama, es un caos.
Bueno, creo que debería ser un código independiente. Tiene más sentido y es más fácil controlar y realizar una comprobación sintáctica independiente de este código. Y si todo está disperso por los archivos y no está claro qué se llama desde dónde - es un caos.
He publicado ejemplos de mi código. No he oído ningún comentario sobre el caos, ni siquiera para los incudes que no compilan.