Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 251
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
Hola, quiero escribir un panel de operaciones para mi EA en dos versiones mql4 y mql5. Todavía no estoy familiarizado con los objetos gráficos. He utilizado un ejemplo de la clase CLabel de la biblioteca estándar para crear un menú móvil. En mql5, el menú funciona bien, pero no en mql4. Cuando se cambia el período de un gráfico, los objetos del menú se duplican y su ubicación relativa cambia. ¿Tal vez, mql4 carece de algunos métodos en la clase CLabel, que mql5 tiene? ¿Podría sugerir qué añadir en esta clase para evitar estos problemas?
También en el código de ejemplo de la clase CLabel no me queda claro qué hacen estas líneas:
Hola, quiero escribir un panel de operaciones para mi EA en dos versiones mql4 y mql5. Todavía no estoy familiarizado con los objetos gráficos. He utilizado un ejemplo de la clase CLabel de la biblioteca estándar para crear un menú móvil. En mql5, el menú funciona bien, pero no en mql4. Cuando se cambia el período de un gráfico, los objetos del menú se duplican y su ubicación relativa cambia. ¿Tal vez, mql4 carece de algunos métodos en la clase CLabel, que mql5 tiene? ¿Podría sugerir qué añadir en esta clase para evitar estos problemas?
Además, no tengo claro qué hacen estas cadenas en el código del ejemplo de la clase CLabel:
Las líneas especificadas son macros que se escriben en el archivo Defines.mqh. Literalmente, la primera línea de la macro pasa el control a la función de manejo de eventos de la claseCControlsDialog, luego se ejecutan funciones entre estas macros y la última macro pasa el control a la claseCAppDialog
Las líneas especificadas son macros, que se escriben en el archivo Defines.mqh. Literalmente, la primera línea de la macro pasa el control a la función de manejo de eventos de la claseCControlsDialog, luego se ejecutan las funciones entre estas macros, y la última macro pasa el control a la claseCAppDialog
Gracias, algo empieza a quedar claro) ¿Y puedes darme un enlace a la documentación sobre el tema de las macros?
Gracias, empieza a tener sentido) ¿Puedes darme un enlace a la documentación sobre el tema de las macros?
https://www.mql5.com/ru/docs/basis/preprosessor/constant
int OnDeinit()
{
Alert("beg OnDeinit()");
// err=StringToInteger(err);
//------------------------
return(0);
Alert("end OnDeinit()");
}
//OnDeinit();-----------
El err cautivo se describe como un número entero
No veo cuál es el problema.
Recibí el mensaje
int OnDeinit()
{
Alert("beg OnDeinit()");
// err=StringToInteger(err);
//------------------------
return(0);
Alert("end OnDeinit()");
}
//OnDeinit();-----------
El err cautivo se describe como un número entero
No veo cuál es el problema.
Recibí un mensaje
No tengo muy claro cuál es el problema y dónde se genera el error. Si tienes una variable err de tipo int, ¿por qué en la línea comentada intentas convertirla de string a int? ¿Dónde se produce exactamente el error?
No está claro cuál es el problema y de dónde viene el error. Si tienes una variable err de tipo int, ¿por qué intentas convertirla de tipo string a int en la cadena comentada? ¿En qué lugar se produce un error?
El mensaje del compilador indica la línea y la posición del error. Puede hacer clic en la línea de descripción (línea inferior en la imagen) y el cursor indicará el error en el texto del programa. La función DeInit se ejecuta justo antes de que el indicador o Asesor Experto sea eliminado del gráfico. Aquí, por ejemplo, se pueden eliminar los elementos gráficos creados. Si no hay acciones que realizar (la función está vacía) - la función puede ser eliminada... Si tienes algo como la cadena x=125, corrige a cadena x = (cadena)125
En lugar de err=StringToInteger(err); err=StringToInteger((string)err); aunque a algunos les parezca gracioso
El mensaje del compilador indica la línea y la posición del error. Puede hacer clic en la línea de descripción (línea inferior en la imagen) y el cursor indicará el error en el texto del programa. La función DeInit se ejecuta justo antes de que el indicador o Asesor Experto sea eliminado del gráfico. Aquí, por ejemplo, se pueden eliminar los elementos gráficos creados. Si no hay acciones que realizar (la función está vacía) - la función puede ser eliminada... Si tienes algo como cadena x=125 corrige a cadena x = (cadena)125
En lugar de err=StringToInteger(err); err=StringToInteger((string)err); aunque a algunos les parezca gracioso
ms...
Hice lo que usted recomienda
Poner la líneaerr=StringToInteger((string)err) en la función theOption; no hay error.
Pero la advertencia de convicción implícita de cadena a número aún permanece, supongo que habrá que reinstalar el terminal después de todo.
pero la advertencia de la convección implícita de cadena a número aún permanece, supongo que tendré que reinstalar la terminal después de todo.
Por favor, publique su función OnDeinit - la miraré. Y dime qué quieres de él. El MetaEditor genera este error. Tenga una copia de la carpeta del terminal. Aquí Alexey Viktorov contó cómo reinstalar rápidamente