Lenguaje de programación MQL5

Publicado:28 diciembre 2018 Actualizado:4 enero 2024

Fundamentos del lenguaje de programación MQL5

MetaQuotes Language 5 (MQL5) es un lenguaje de programación para aplicaciones de automatización de operaciones desarrollado por MetaQuotes Software Corp. La sintaxis de MQL5 es similar a la de C++ con algunas excepciones.

Los indicadores técnicos están escritos en MQL5, robots comerciales, asesores y otras aplicaciones para operar en el mercado de divisas. Programas MQL5 en formato de programación orientada a objetos (POO). Para el programa MQL5 se ha creado un entorno especial MetaEditor y MQL5 Storage.

Los componentes básicos del lenguaje son los mismos que en otros lenguajes de programación y hay una serie de características específicas. Los datos en MQL5 pueden ser de diferentes tipos – enteros, booleanos, literales, cadenas, fecha, hora, enumeraciones y otros. Los tipos de datos complejos (tipos de datos abstractos) incluyen estructuras y clases.

En MQL5 son posibles diferentes operaciones y expresiones. Los operadores en MQL5 son algoritmos para resolver problemas, que forman el cuerpo del problema. Las funciones escriben el código del programa.

La biblioteca de funciones personalizadas está diseñada para almacenar y distribuir bloques de programas personalizados. El archivo de inclusión es el código fuente de los archivos de usuario, – EAs, scripts, bibliotecas en tiempo de compilación.

El lenguaje MQL5 cuenta con un subsistema específico del compilador, que realiza la preparación preliminar del código fuente antes de la compilación. Mediante el preprocesador se introducen funciones en los programas MQL5, se declaran constantes, se insertan archivos, etc.

Cómo utilizar el lenguaje MQL5

MQL5 permite crear programas interactivos adaptados a las necesidades individuales de cualquier operador.

Hay tres tipos principales de programas en MQL5: script, indicador y asesor. Un solo script se ejecuta una vez en un gráfico de precios, después de realizar sus tareas se detiene. Un script también puede ejecutarse, realizando una sola operación, en un formato de bucle infinito, hasta que sea detenido por el operador.

Puede haber muchos indicadores en un gráfico y funcionan hasta que se detienen. Los indicadores calculan los valores a partir de los datos de precios contenidos en las memorias intermedias de los indicadores.

Los asesores y los robots están diseñados para automatizar las operaciones comerciales y también pueden utilizarse para analizar la situación actual del mercado y realizar otras tareas.

El lenguaje MQL5 le permite crear sus propios módulos para construir robots de trading a través del Asistente MQL5.

Los programas en MQL5 se crean de acuerdo con el modelo dirigido por eventos. Reaccionan ante un acontecimiento: cambio de precio, ejecución de una orden, cambio de plazo y otros.

Cómo escribir un EA en MQL5

El lenguaje MQL5 contiene todos los elementos necesarios para escribir Asesores Expertos. En general, paso a paso se ve así. Inicie el MetaEditor a través de la interfaz de comercio MT5 (se descarga en su ordenador al mismo tiempo que el servicio de comercio), por ejemplo, haciendo clic en el icono correspondiente o pulsando la tecla F4 del teclado. Aparecerá el editor:

En el MetaEditor, haz clic en el botón «Crear» y aparecerá una ventana con una lista de las aplicaciones que se pueden crear en el editor.

Esta ventana presenta una selección de «EA (plantilla)» y «EA (generar)». Seleccione y haga clic en el botón «Siguiente». En ambos casos aparecerá una ventana en la que primero debe nombrar el EA a crear y puede escribir un enlace a su sitio web, correo electrónico en el campo «Nombre»:


En la variante de la plantilla, haciendo clic en el botón «Añadir», debe seleccionar los parámetros que debe tener su Asesor Experto. Los parámetros seleccionados también se pueden eliminar haciendo clic en el botón correspondiente.

Ya en esta etapa, se requiere que un operador tenga fuertes habilidades tanto en la programación como en la comprensión del comercio.

Una vez seleccionada la opción, haga clic en «Siguiente» y aparecerá una ventana pidiéndole que seleccione manejadores de eventos para el EA.

Continúe con la creación del EA haciendo clic en «Siguiente», seleccione más controladores de eventos de prueba y haga clic en «Hecho», tras lo cual aparecerá una plantilla de código con los parámetros establecidos por el operador.

Los parámetros adicionales se añaden a la plantilla de código según las reglas del manual detallado del lenguaje MQL5.

Si después de llamar al Asistente MQL se selecciona la función «Asesor Experto (Generar)», entonces paso a paso se elige un nombre (los símbolos y el marco temporal ya están especificados en los parámetros), se añaden los parámetros para las señales, los parámetros de trading, los parámetros de gestión monetaria y después de hacer clic en «Hecho» aparecerá la plantilla de código.

También hay servicios de prueba y depuración de EA en el editor, cuyo funcionamiento debe estudiarse en las instrucciones detalladas de MQL5.

Comunidad y foro de comerciantes

Todas las preguntas sobre cómo aprender y utilizar MQL5 se abordan en las páginas de la comunidad. En particular, https://www.mql5.com/ru/forum – un foro para comerciantes en el que podrá encontrar respuestas a la gran mayoría, si no a todas, de sus preguntas.

El problema es que el foro es muy grande y lleva tiempo encontrar la información que necesitas. En esta dirección se atienden las preguntas de quienes se inician en el aprendizaje de la lengua: https://www.mql5.com/ru/forum/6343

También hay una biblioteca de artículos sobre el lenguaje en el sitio web de MQL5 en https://www.mql5.com/ru/articles

Pero lo mejor es empezar con el manual MQL5. https://www.mql5.com/ru/docs

En la comunidad MQL5, usted puede simplemente comprar un EA, solicitar el desarrollo de un robot u ofrecer su propio EA para la venta.

Señales de trading mediante EAs alojados en la web de MQL5

El sitio web de MQL5 tiene una sección de señales para MetaTrader 5 para el comercio automatizado https://www.mql5.com/ru/signals. Lo primero que hay que hacer es familiarizarse con las normas de la sección.

Puede registrarse en el sitio web tanto como suscriptor como vendedor de señales. La suscripción puede ser de pago o gratuita, y permite aplicar señales de trading en su propia cuenta de operaciones. Cada miembro de MQL5.community puede proporcionar su señal de forma gratuita a otros comerciantes.

Un miembro de la comunidad también puede vender señales si acepta los términos del Acuerdo de Difusión de Señales Comerciales y pasa por un procedimiento especial de registro.

El usuario selecciona las señales según criterios de máxima rentabilidad, fiabilidad, calificación, etc. También puede seleccionar una nueva señal.

El sistema también selecciona las señales según los requisitos del usuario para determinadas corredores de divisas o buscar señales por su autor. Vale la pena señalar que el servicio indica una exención de responsabilidad por el rendimiento de las señales – el comerciante se suscribe a las señales sólo bajo su propio riesgo.

Qué asesor elegir

MQL5.community ofrece una amplia gama de Asesores Expertos y robots de trading con códigos fuente: https://www.mql5.com/ru/code/mt5/experts. El sitio tiene dos secciones – EAs diseñados para MetaTrader5 y EAs diseñados para MetaTrader4. También se pueden descargar del servicio indicadores, scripts y bibliotecas.

Los asesores pueden seleccionarse según una clasificación simplificada: a la derecha de la lista de asesores hay dos secciones: último/mejor. Los mejores se eligen según la valoración de los usuarios. Además, a la derecha de cada uno de ellos se indica la calificación de los robots con asteriscos del 1 al 5. Por cierto, los usuarios pueden añadir su propio código a la lista para que los usuarios lo descarguen.

Pero también se puede encargar un asesor que se adapte a sus propias necesidades, para lo que existe un mercado de autónomos: https://www.mql5.com/ru/jobo simplemente comprar (o descargar gratuitamente) en una tienda de robots comerciales: https://www.mql5.com/ru/market. Allí también puedes poner el robot a la venta.

A la hora de comprar un EA es mejor no limitarse a las valoraciones de los usuarios, indicadas por las estrellas debajo de cada robot, sino pedir opiniones y en general no tener pereza de estudiar las características del robot, si vale el dinero por el que se vende (muchos robots son muy caros).

Materiales útiles

Hay mucho material sobre programación en MQL5 en Internet. Esto incluye guías detalladas paso a paso para crear Asesores Expertos y Asesores Expertos por programadores experimentados. La mayor parte del material explicativo y de formación está disponible en la propia página web de MQL5.

Hay una selección bastante amplia de libros sobre el tema, en particular «Tutorial (guía) del lenguaje de programación MQL5» de T. Mashnina (descargar gratis), hay cursos de vídeo gratuitos y numerosas lecciones entusiastas en los foros de operadores. Los materiales no son sólo para los principiantes, sino también para los usuarios que quieren profundizar en sus conocimientos.

Hay que tener en cuenta que cualquier lección se queda anticuada, el propio idioma está en constante evolución y mejora, al igual que la plataforma en la que se utiliza y se busca un mejor material de aprendizaje está al día – y ya hay cierta dificultad en esto, la mayoría de los materiales están en línea durante más de un año.

Por cierto, dado que el lenguaje MQL5 es cercano al lenguaje C++, muchos usuarios experimentados recomiendan leer libros sobre C++, como Bronson G.J., A First Book of C++. A First Book of C++, Stephan R. Davis «C++ for Dummies», S. Lippman «C++ for Beginners», B.N. Pakhomov «C/C++ and MS Visual C++ 2010 for Beginners», etc. Todos estos libros se pueden descargar fácilmente de Internet. Dominar MQL5 no será difícil, – después de dominar C++.

Conclusiones

El lenguaje MQL5 es una herramienta bien probada para escribir programas de trading con grandes posibilidades. Al mismo tiempo, se pueden encontrar declaraciones en Internet que afirman que MQL5 es fácil de aprender y que se puede dominar desde cero en tan solo un mes. Hay dudas muy grandes en tales declaraciones.

Probablemente sea posible aprender la sintaxis en poco tiempo, pero se necesitará mucho tiempo para programar, todas las aplicaciones más complejas. Y se necesita aún más tiempo para aprender a programar aplicaciones realmente valiosas.

También hay que tener en cuenta que la opción más difícil y que requiere más tiempo es la de aprender a programar por tu cuenta a partir de libros y cursos de vídeo, sin contar con un programador experimentado que pueda aconsejarte sobre los puntos importantes.

Otra cuestión más importante es si es necesario aprenderlo. Aprender a programar puede tener sentido si tiene la intención de desarrollar y vender los mismos robots de trading y EAs más adelante.

Pero si sólo se trata de optimizar el comercio, puede ser más eficaz poder evaluar las aplicaciones ya desarrolladas y elegir las que son realmente útiles.

3.70 / 3
Dejar una respuesta

Comentarios

  • El sitio web de MQL5 es una estafa. Aprovechando el monopolio, están haciendo publicidad agresiva, que ha aparecido recientemente en el terminal de la esquina superior derecha en el fondo rojo de la que inicialmente me llamó la atención y perturbó mi trabajo, porque para trabajar fructíferamente en forex hay que centrarse en El mercado no se distrajo con varios anuncios. Los avisos sobre las operaciones y el cierre de los mercados se dan ahora en inglés, lo que vuelve a distraer del trabajo. Cuando expresé mis dudas en el foro, simplemente se me baneó hasta el 2030 sin molestarse en escribir el motivo del baneo. Por cierto decir que el moderador además de que con una inteligencia no muy elevada por decir algo, también comete errores gramaticales e insultos. Los llamados programadores encontraron personalmente cuando aprendía un lenguaje de programación. Pregunté por qué no podía hacer tal o cual cosa, a lo que me dieron un código ya hecho. Cuando pregunté Me dijeron que explicara por qué el código estaba escrito así y no como yo lo escribí, y la respuesta fue un puñetazo en la mandíbula, y me dijeron que usara el código que me dieron. Es decir El propio programador no entiende nada de programación, sino que se limita a tomar códigos ya hechos y a escribir búhos, pavos y todo lo demás. Naturalmente, después de tal los programadores no trabajan realmente. No hablo por todos los programadores, pero la mayoría son así. Así que la moraleja es ésta. Antes de confiar El escrito, y más aún, la EA comprada necesita evaluar críticamente el producto ofrecido. Adjunto una captura de pantalla para demostrar mi punto de vista

    Responder a un comentario
  • vídeo de cómo los estafadores de MQL5 falsifican las estadísticas y estafan a los suscriptores. https://www.youtube.com/watch?v=h9bEzoivCLU&t=117s

    Responder a un comentario
  • Mql5 – estafadores. El sitio web de MQL5 – falsifica el historial de la cuenta comercial, las posiciones comerciales que se publican en el historial comercial en el sitio web de MQL5 no son corresponden a las posiciones de negociación que se encuentran en la plataforma de negociación mt4. La página web de MQL5 sólo puede mostrar las posiciones con beneficios en su página web, y las posiciones con pérdidas, que en el historial de operaciones de la plataforma, el sitio web MQL5 puede no mostrar. A partir de aquí se obtiene un historial de operaciones mensuales perfecto, y después publicado, la cuenta se quema junto con los abonados en un plazo de 1 a 2 meses.
    Además, la reducción de la cuenta sólo se publica a partir del momento en que se registra la cuenta en Si el drawdown de la cuenta fue del 90%, la página web de MQL5 no lo mostrará en el historial de operaciones, sino que mostrará el drawdown, con el día del registro de la cuenta en la página web de MQL5.
    Por eso hay muchas cuentas de trading con un drawdown máximo del 2-10% y beneficios mensuales del 100-250% en mes. El sitio web de MQL5 no notifica a los suscriptores sobre esto, engañando así a los comerciantes.Por esto, los comerciantes que perdieron su dinero en el sitio web de MQL5, copiando señales de trading, tienen derecho a reclamar la devolución de los fondos perdidos en la página web de MQL5 y una indemnización en los tribunales.
    En cuanto a los robots de comercio, es simplemente el mismo algoritmo que abre posiciones comerciales automáticamente, al azar. La administración del sitio cambia entonces el nombre del robot, sube una nueva foto de portada, escribe un robot actualizado en el anuncio y vende el mismo algoritmo que abre posiciones al azar. Piensa en

    Responder a un comentario
    • Konstantin 12 julio 2019 en 09:47

      Bueno, se podría argumentar que el sitio web vende expertos. Sólo son una plataforma a través de la cual los programadores venden programas. El porcentaje se deduce por esta venta a favor del servicio. El historial de operaciones puede corregirse en DC y sus señales pueden publicarse. También compartirán el interés con el servicio. Y se llevarán el principal beneficio.
      Por lo tanto, no hay necesidad de recortar sin entender la esencia del asunto.

    • Vladimir Mosevnin 2 marzo 2020 en 17:09

      Aunque un indicador o Asesor Experto funcione perfectamente, puedes ejecutarlo en eventos históricos de forma gratuita y conocer el nivel de rentabilidad o drawdown

Mapa del sitio