Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1566
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Si tienes un EA de tres líneas, entonces por supuesto no necesitas OOP).
Pero si tuviera que crear Goblin con un brazo y tres piernas, y luego con una pierna y tres brazos - entonces, sí, ahí es donde OOP realmente me ayudaría. Aunque... Yo tampoco lo sé.
¿Qué sentido tiene tenerlo aquí?
Y no importa en absoluto cuántas "líneas" tengas. ;)¿Sólo int o doble?
¿Y si la variable es un objeto de una clase?
¿Y si se desconoce de antemano el número de tales objetos [antes de la ejecución de OnInit()]?
¿Y si los parámetros de los constructores por adelantado [antes de OnInit()] son desconocidos?
Has dado un buen enlace y ejemplo sobre la declaración de clases.
En cualquier caso, los globales se declaran antes de OnInit(); los otros se declaran cada vez que se necesitan
En cualquier caso, Global se declara antes de OnInit(), los demás se declaran cada vez que sea necesario
Esto está claro en teoría.
En la práctica, después de :
la declaración de 'NB_M1' oculta la variable global -> por línea en OnInit()
véase la declaración anterior de "NB_M1
el experto funciona como si NB_M1 fuera global (y estuviera correctamente inicializado), aunque esté oculto por una declaración local e inicializado como local en OnInit().
Por idea, no debería funcionar en absoluto.
En teoría, esto tiene sentido.
En la práctica, después de :
la declaración de 'NB_M1' oculta la variable global -> por línea en OnInit()
véase la declaración anterior de "NB_M1
el experto funciona como si NB_M1 fuera global (y estuviera correctamente inicializado), aunque está oculto por la declaración local en OnInit().
Por idea, no debería funcionar en absoluto.
Y no importa cuántos "hilos" tengas. ;)Cuando tienes cien o dos líneas de código, porque quieres empezar con esto, luego te olvidas de para qué sirve esto, luego añades esto, entonces naturalmente (?) surgirá el pensamiento: "¿Cómo organizarlo?" O no).
¿Qué es NB_M1? ¿Quizás ya está declarado en la biblioteca? Y sin código en absoluto, es como sordo y ciego)
NB_M1 es un objeto de la clase CIsNewBar para definir el inicio de una nueva barra para cada carácter. No, no está declarado en la biblioteca.
Código en el primer puesto :https://www.mql5.com/ru/forum/160683/page1547#comment_23712294
NB_M1 es un objeto de la clase CIsNewBar para definir el inicio de una nueva barra para cada carácter. No, no está declarado en la biblioteca.
El código en el primer puesto :https://www.mql5.com/ru/forum/160683/page1547#comment_23712294
Así, NB_M1 se declara dentro de la clase y se puede acceder a ella
¿Podemos echar un vistazo al código de esta clase?
NB_M1 es un objeto de esta clase. ¿Cómo se pone dentro?
NB_M1 es un objeto de esta clase. ¿Cómo se pone dentro?
Creo que así debería ser