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

 
Alexey Viktorov:

Es prácticamente una línea de código. Pero tenemos que conseguir un billete de posición para ello. Aquí hay un Asesor Experto de OnInit que abre la posición con 0.2 lotes y cierra la mitad con OnTick.

O aquí está el código completo de la clase CTrade

Gracias.

 
Artyom Trishkin:

Vaya aquí a la sección de artículos y navegue - hay mucho sobre OOP, incluso para principiantes.

No reclamo nada. Pero por qué no donde leer ....

Variables globales y locales. La elección de la declaración de visibilidad de las variables viene determinada por la necesidad de utilizar los valores de las variables de la función en otras funciones y, por supuesto, en el asesor ontico. Es decir, si la función sólo necesita el valor que se le pasa, es correcto declarar todas las variables de la función como locales. Si la función está calculando, y las variables, a las que se asignan los resultados del cálculo, se utilizan en otras funciones, estas variables deben declararse a nivel global.

Lo mismo ocurre con las clases y el nivel de visibilidad de las variables, funciones y métodos. Si definimos lo que queremos de la clase, qué funciones, variables, estructuras y las declaramos como públicas. Si los miembros de la clase sólo se utilizan dentro de la clase, los hacemos privados o protegidos, dependiendo de si queremos la herencia.

Leyendo el manual, te da la impresión de que te hablan de las propiedades de algo y de cómo utilizarlo, sólo tienes que adivinar por ti mismo...

En general, la idea es que si el manual estuviera más claramente explicado, el idioma se aprendería más rápido, y sin artículos adicionales. No puedo prescindir de ella (por supuesto, hablo sólo de mí)). ). Felicitaciones a los autores de los artículos.

 

¿Tiene MQL un análogo de try, catch y throw de C++?

 

Saludos. ¿Pueden aconsejarme, por favor?

Tengo un indicador que crea objetos en un gráfico, y un EA que trabaja sobre esos objetos, (recorriendo su lista).

Pero el EA sólo detecta los objetos en el siguiente tick después de haberlos creado.

¿Es posible que el EA pueda detectar los objetos en el mismo tick cuando se crean?

 
Andrey Sokolov:

Saludos. ¿Pueden aconsejarme, por favor?

Tengo un indicador que crea objetos en un gráfico, y un EA que trabaja sobre esos objetos, (recorriendo su lista).

Pero el EA sólo detecta los objetos en el siguiente tick después de haberlos creado.

¿Es posible que el EA pueda detectar los objetos en el mismo tick cuando se crean?

Es posible transferir el algoritmo de un indicador a un EA. Estos indicadores, que no tienen topes, son mucho más fáciles de transferir a un EA.

 
Alexey Viktorov:

Es posible transferir el algoritmo de un indicador a un EA. Estos indicadores, que no tienen topes, son mucho más fáciles de transferir a un EA.

Esto es comprensible, pero hasta ahora esta es la cuestión.

Al mismo tiempo, si imprimo los mensajes del indicador y del EA, el primero proviene del indicador.

TambiénChartRedraw(0); tanto al final del indicador como al principio del EA no han ayudado.

 
Andrey Sokolov:

Es comprensible, pero por ahora esa es la cuestión.

¿"Como" qué? ¿Cómo se imagina leer algo aún no escrito o ver algo aún no dibujado?

 
Alexey Viktorov:

"Tal", ¿es qué? ¿Cómo se imagina leer algo aún no escrito o ver algo aún no dibujado?

"leer" en el mismo tick, pero después de dibujar es posible?

"Tal", ¿qué es? "Para que el Asesor Experto trabaje con objetos


Lo intentaré a través deOnChartEvent

 
Andrey Sokolov:

"leer" en el mismo tick, pero después de dibujar es posible?

"Tal", ¿qué es? " - para que el EA trabaje en los objetos.
Por supuesto que no. Imagina que yo estoy escribiendo este mensaje y tú lo estás leyendo al mismo tiempo. ¿Puede suceder? Incluso no estoy leyendo el mensaje, sino sólo el texto que se escribe para el mensaje. Mientras no haya un objeto, no hay propiedades de ese objeto. Y aún más, intenta leer laspropiedades del objeto JUSTO después de su creación en el propio indicador. No funcionará. Debe haber algún "hueco" de tiempo entre la creación del objeto y el acceso a sus propiedades.
 
Andrey Sokolov:

Intentaré usar OnChartEvent

En OnChartEvent también es necesario conocer el nombre exacto del objeto. Y no hay ninguno hasta que no hay un objeto en sí.

Razón de la queja: