![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
Tomo esta función de MQL5 Reference / Language Basics / Functions
Pero el compilador imprime '(' - se espera un punto y coma
¿Qué significa?
He comprobado mediante el ejemplo de la edición (sustituyendo el primer parámetro pasado). Todo está bien, no se ha producido ningún error.
El ejemplo de ayuda correcto es el siguiente
Personalmente, sólo pude obtener un mensaje como el tuyo en una prueba, cuando sustituí el primer paréntesis rizado por uno redondo. Entonces recibí este mensaje
'(' - se espera un punto y coma
Si el número de paréntesis (derecho e izquierdo) no coincide, se genera la siguiente advertencia
';' - token inesperado
'}' - se espera el punto y coma
PS
Si intento compilar el ejemplo actual (con una "a" rusa) el compilador genera un error como debería
'a' - identificador no declarado
No te inventes cosas para los demás que no existen :) El símbolo se arregló enseguida en el editor, como algo natural. El error se produce cuando el cursor está delante del paréntesis de apertura, no antes del carácter "a". Siendo humanamente atento, debería haberlo notado en el comentario del compilador citado.
La pregunta sigue siendo: https://www.mql5.com/ru/forum/1111/page304#comment_48136
Explicación. La pregunta ha surgido, no porque me esté sentando a compilar estúpidamente ejemplos del libro de referencia, sino porque aparece este mensaje de error cuando creo una función de trabajo. El ejemplo de la referencia no cambia nada. Incluso puede eliminar la descripción de los argumentos de la cabecera, pero el problema persiste.
Sí, tiene un error, probablemente no relacionado con este ejemplo ....
Tienes que mirar todo el código...
Tomo esta función de MQL5 Reference / Language Basics / Functions
Pero el compilador imprime '(' - se espera un punto y coma
¿Qué significa?
La letra del ejemplo se ha arreglado, pero ese es el error exacto que no podíamos conseguir. ¿Puede proporcionar el código completo para que podamos reproducirlo?
¡Gracias a todos por su atención a la pregunta! La cuestión es que no hay un "código completo" que pueda iniciar un error. Acabo de decidir comprobar la afirmación de un libro de texto de C++ de que el valor de una variable externa, que se pasa a una función como argumento, no puede ser cambiado por la función (o algo así - bueno, desde el ámbito de la autoeducación). He creado una función primitiva para comprobar - el compilador genera un error. He consultado la referencia, he copiado el ejemplo, he corregido el símbolo en el ejemplo y sigue el mismo error. He intentado insertar la función en una plantilla de script y en la plantilla de Asesor Experto, el error no cambia. De hecho, el "código completo" consiste únicamente en la función del ejemplo, que se ha insertado en el cuerpo vacío de la función onTick() o onStart().
Por la noche colgaré dicho código pseudocompleto, pero no sé si sirve de algo. También intentaré sobrecargar el ordenador, ya que se ha utilizado en modo "ir a dormir y volver" durante una semana.
La letra del ejemplo ha sido corregida, pero no ha sido posible obtener este error exacto. ¿Puede proporcionar el código completo para que podamos reproducirlo?
De alguna manera esto se reproduce así.
Pues bien, estás tratando de definir una función dentro de otra - esto es inaceptable. La sección de llamada a la función se lo indica explícitamente:
Una función puede declararse o describirse en cualquier parte del programa de forma global, es decir, fuera de otras funciones. Una función no puede ser declarada o descrita dentro de otra función.
Pues bien, estás tratando de definir una función dentro de otra - esto es inaceptable. La sección de llamada a la función lo dice explícitamente:
Gracias por la aclaración. Exactamente mi caso.
El conocimiento teórico no garantiza la corrección de su aplicación en la práctica :) Mi error.
Construye 392.
Al borrar un gráfico, éste no aparece en la lista de borrados. Resulta que la opción de menú Archivo>Abrir borrados no funciona.
Accidentalmente cerré (en lugar de desplegar) el gráfico, esperaba verlo en los borrados, y entonces ...
Construye 392.
Al borrar un gráfico, éste no aparece en la lista de borrados. Resulta que la opción de menú Archivo>Abrir borrados no funciona.
Accidentalmente cerré (en lugar de desplegar) el gráfico, esperando verlo en los borrados, y luego ...
Marca la casilla.
Algunos agentes no se inician de forma remota, aquí está el registro:
Aunque a través de localhost este agente funciona localmente.
¿Cuál podría ser la razón?