Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 595

 
Slava_kornev55:
Ahhhh, lo sé. No pude encontrar un búho así.
Toma, practica.
Archivos adjuntos:
 
Alexander Antoshkin:
Aparentemente hay que poner un paréntesis o una coma invertida en alguna parte, no entiendo ............. He mirado ejemplos similares, parece que es el mismo ,,,,,,,,,,,

especifique la función y su constante DeleteOrder(ticket) si lo necesita y debería funcionar

Cómo escribir correctamente una constante en una llamada a otra función

Por ejemplo, aquí hay una función:

entonces escribo otro

¿Qué dice exactamente el compilador?
 
¿Podríais decirme si la función de desinicialización en los EAs e indicadores se ejecuta cuando se cierra el terminal?
 
-Aleks-:
¿Pueden indicar si la función de desinicialización se ejecuta en los asesores e indicadores al cerrar el terminal?

Ejecución de programas.

Indicadores de carga y descarga

Los indicadores se cargan en los siguientes casos:

-Acoplarun indicador a un gráfico;

-inicio del terminal(si un indicador se adjuntó a un gráfico antes del cierre anterior del terminal)

-Cargade una plantilla (si la plantilla contiene un indicador adjunto al gráfico)

-Cambiarel perfil (si un indicador está unido a uno de los gráficos del perfil);

-Cambiarel símbolo y/o el período del gráfico al que se adjunta el indicador;

-después de larecompilación exitosa de un indicador, si este indicador se ha adjuntado a un gráfico

-Cambio de losparámetros de entrada del indicador.

Los indicadores se descargan en los siguientes casos:

-alseparar un indicador de un gráfico;

-Cierredel terminal (si un indicador está unido a un gráfico);

-Cargade una plantilla, si se adjunta un indicador a un gráfico

Cerrar elgráfico al que se ha adjuntado un indicador; - Cerrar el terminal (si se ha adjuntado un indicador al gráfico)

-Cambiarun perfil, si un indicador está unido a uno de los gráficos del perfil que se va a cambiar;

-Cambiarel símbolo y/o el periodo del gráfico, al que está unidoel indicador;

-Cambiar losparámetros de entrada del indicador.

Carga y descarga de expertos

La carga de un Asesor Experto se realiza en los siguientes casos

-Asegurarel Asesor Experto al gráfico;

-Iniciodel terminal (si el Asesor Experto se adjuntó al gráfico antes del cierre anterior del terminal);

-cargade una plantilla (si se ha adjuntado un Asesor Experto a un gráfico)

-Después de larecompilación exitosa del Asesor Experto(si el AsesorExperto ha sido adjuntado al gráfico)

-Cambio deperfil (si el Asesor Experto está unido a uno de los gráficos de perfil);

-Conexióna la cuenta, incluso si el número de cuenta no ha sido cambiado (si el Asesor Experto ha sido adjuntado al gráfico antes de la autorización del terminal en el servidor).

La descarga del Asesor Experto adjunto al gráfico se realiza en los siguientes casos

-cuandoel EA se separa del gráfico;

-cuando seadjunta a un gráfico- si otro Asesor Experto ya ha estado en el mismo gráfico, el Asesor Experto se descargará;

-Cerrarel terminal (si se ha adjuntado un Asesor Experto a un gráfico);

-Cargaruna plantilla, si se ha adjuntado un Asesor Experto al gráfico;

-Cierreel gráfico al que se ha adjuntado el Asesor Experto;

-Cambiarun perfil, si un Asesor Experto está unido a uno de los gráficos del perfil que se va a cambiar;

-Cambiarla cuenta a la que está unido el terminal (si el Asesor Experto ha sido unido al gráfico antes de la autorización del terminal en el servidor);

-llamadaa la funciónExpertRemove().

Cuando se cambia el símbolo o el marco temporal del gráfico al que se ha adjuntado el Asesor Experto, éste no se descargará ni se cargará. En este caso, los manejadoresOnDeinit() en el antiguo símbolo/línea de tiempo yOnInit() en el nuevo símbolo/línea de tiempo (si está disponible) son llamados consistentemente, los valores de las variables globales y lasvariables estáticas no son restablecidos. Todos los eventos recibidos para EA antes de la finalización de la inicialización (OnInit()) se saltan.

OnDeinit

El evento Deinit se genera para los Asesores Expertos e indicadores en los siguientes casos

-antes de lareinicialización debida al cambio de un símbolo o de un período de un gráfico, al que se adjunta un programa mql5;

-Antes de la reinicialización debida aun cambio de losparámetros de entrada;

-Antes dedescargar un programa mql5.

 
Sergey Gritsay:
¿Qué dice exactamente el compilador?
 
Alexander Antoshkin:
sin el código completo es difícil de entender, pero sospecho que tienes el mismo nombre de variable deticket declarado globalmente y localmente en la funciónDeleteOrder, cambia el nombre de la variable
 

Gracias, pero existe la sospecha de que OnDeinit.... no siempre funciona cuando el terminal está cerrado.

 
-Aleks-:

Gracias, pero sospecho que OnDeinit.... no siempre funciona cuando el terminal está cerrado.

Realiza un desajuste en OnDeinit(). Entonces podremos hablar con más fundamento.
 
Sergey Gritsay:
Sin el código completo es difícil de entender, pero sospecho que tienes el mismo nombre de variable deticket declarado globalmente y localmente en la funciónDeleteOrder, cambia el nombre de la variable

Sí, lo tengo.

¡Gracias por haberlo resuelto!

 

¿Soy estúpido o es así como debe ser?

Había 5 posiciones de compra abiertas, el arrastre se activó y movió los Stop Loss, el precio retrocedió y 4 posiciones se cerraron y una permaneció abierta con el nivel de stop por encima del precio. No hay nada en el registro más que registros de cierre de 4 posiciones.