Acceder
MQL4: qué es, cómo funciona y cuándo elegirlo frente a MQL5

MQL4: qué es, cómo funciona y cuándo elegirlo frente a MQL5

MQL4 es el lenguaje de programación nativo de MetaTrader 4 para crear Expert Advisors, scripts e indicadores personalizados. Qué es, cómo se estructura su código, en qué se diferencia de MQL5 y de otros lenguajes — y si tiene sentido aprenderlo hoy, cuando MetaQuotes ya no desarrolla MT4.
MQL4 (MetaQuotes Language 4) es el lenguaje de programación nativo de la plataforma MetaTrader 4: con él se crean los Expert Advisors (robots de trading), los scripts y los indicadores personalizados que automatizan la operativa. Antes de invertir horas en aprenderlo conviene saber una cosa que casi nadie te cuenta: MetaQuotes ya no emite licencias nuevas de MT4 ni desarrolla la plataforma — el ecosistema se ha desplazado a MetaTrader 5 y a su lenguaje MQL5. En esta guía vemos qué es MQL4, cómo se estructura su código, qué ventajas mantiene, en qué se diferencia de MQL5 y de otros lenguajes, y —lo más importante— cuándo sigue compensando y cuándo no.

¿Que es MQL4 (MetaQuotes Language)?

MQL4 o MetaQuotes Language 4 es un lenguaje de programación usado en la plataforma de trading MetaTrader 4. Permite crear asesores expertos, scripts e indicadores personalizados para analizar y ejecutar operaciones en bolsa. Su sintaxis deriva de C, y la plataforma que lo aloja se lanzó en julio de 2005 (fuente: Wikipedia).

MQL4 es un lenguaje que se utiliza para programar ciertas instrucciones en una plataforma de trading concreta: Metatrader 4. Este lenguaje facilita a los traders cuantitativos a través de algunas funciones muy específicas, la creación de asesores expertos (robots de trading) y personalizados para supervisar sus operaciones o incluso ponerlas en marcha automáticamente. Pero eso no es todo, con MQL4 también puedes elaborar ‘scripts’ e indicadores personalizados para analizar el mercado.

Aunque por ahora no entiendas nada, así es cómo se ve el código inicial cuando vas a programar en MQL4. Pero como te digo, no te preocupes, ya que más adelante veremos qué es cada cosa, para que puedas empezar con este lenguaje.

¿Qué es el lenguaje MLQ4 (MetaQuotes Language)?


Un punto importante aquí, como se ha indicado anteriormente es que MQL4 es un lenguaje de programación para una plataforma de trading concreta. Es decir, que no podemos programar en MQL4 en cualquier plataforma, solo en Metatrader. Afortunadamente, muchos brókers, además de ofrecer sus plataformas nativas o plataformas web, también ofrecen la integración de Metatrader 4 o, en su defecto, Metatrader 5.

¿Y de qué más hablaremos en este artículo? Pues hablaremos primero de su situación actual y de la decisión MQL4 vs MQL5, luego de su objetivo con una introducción sencilla, de su diferencia con otros lenguajes, de los beneficios de utilizarlo y finalmente veremos algunos ejemplos del mismo.

👉 Descubre más acerca del trading cuantitativo en nuestra siguiente guía.

¿Sigue teniendo sentido aprender MQL4 hoy?

Vayamos con la pregunta incómoda antes de entrar en el código. La situación del ecosistema es la siguiente:

  • MetaQuotes dejó de vender licencias nuevas de MT4 a brokers y cesó su desarrollo activo: la plataforma recibe mantenimiento, pero todas las novedades van a MetaTrader 5 (fuente: B2Broker).
  • Alrededor del 68% de los brokers ya ofrecen MT5, frente al 40% que mantiene MT4 (fuente: Brokeree Solutions), y en torno al 62% del volumen retail de CFD ya se ejecuta en MT5 (fuente: Axi).
  • El código MQL4 no es directamente compatible con MT5: portar un Expert Advisor a MQL5 exige adaptar, como mínimo, todo el subsistema de órdenes.

Brokers en MT5 Vs MT4
Brokers en MT5 Vs MT4


¿La traducción práctica? MQL4 sigue siendo perfectamente útil en dos escenarios: si tu broker te da cuenta MT4 y quieres explotar el gigantesco arsenal de EAs, indicadores y scripts legacy acumulado durante dos décadas, o si mantienes sistemas ya escritos en este lenguaje. Pero si empiezas de cero en 2026 y no tienes ataduras, la recomendación honesta es aprender directamente MQL5: casi todo lo que aprendas de MQL4 te servirá (la sintaxis moderna es casi idéntica), pero no al revés en lo que a código operativo se refiere. Puedes ampliar sobre la plataforma sucesora en nuestra review de MetaTrader 5.

Introducción a MQL4 y sus objetivos

El propósito principal de MQL4 es permitir a los traders desarrollar herramientas personalizadas que pueden mejorar su proceso de toma de decisiones dentro de la operativa bursátil.

Estas herramientas pueden ser estrategias automatizadas denominadas Expert Advisors (EAs), scripts e indicadores personalizados. Y qué son cada uno de ellos, veamos:

  • Las Expert Advisors son programas construidos con MQL4 que se designan para automatizar las operaciones de trading según ciertas reglas predefinidas. A diferencia del trading manual donde el trader introduce sus operaciones manualmente, un EA puede realizar operaciones automáticamente sin que estemos siquiera delante del ordenador, ahorrando tiempo y facilitando la gestión emocional.

  • Los scripts generalmente realizan tareas específicas y sencillas sobre las gráficas o posiciones actuales. Pueden ser tan simples como cerrar todas las posiciones abiertas o tan complicados como calcular los niveles de riesgo antes de introducir una operación al mercado.

  • Por último, los indicadores personalizados son versiones modificadas o totalmente nuevas de indicadores técnicos convencionales diseñados usando MQL4 para adaptarse a necesidades específicas del trader. Es decir, básicamente, puedes crear un indicador totalmente nuevo.

Dicho esto, algo muy importante que tenemos que entender que MQL4 no solo simplifica las tareas repetitivas, sino que nos proporciona un control completo sobre las operaciones al eliminar errores humanos, permitiendo backtesting al máximo nivel de detalle y nos proporciona flexibilidad sobre cómo ejecutar sus estrategias. Por ejemplo, un script que nos permite introducir una operación fijando automáticamente el stop loss, el trailling stop y el take profit podría ser algo muy útil para un scalper.

¿Quién es quién en el código de MQL4?

Como te prometí al principio, vamos a ver en qué consiste cada bloque o para qué sirve cada bloque. Recuperemos la imagen del principio. Que, en este caso, muestra como sería un asesor experto. Recuerda, no obstante, que un asesor experto tan solo es uno de los tipos de algoritmo que se puede programar en este lenguaje.

Como descifrar el lenguaje MQL4


Encabezado del Archivo

Esto es como la portada de un libro. Te dice el nombre del archivo (Ejemplo.mq4), quién lo hizo (en este caso, "MetaQuotes Ltd."), y un enlace web donde puedes obtener más información sobre MQL4.

Propiedades del Script

Piensa en esto como la etiqueta de un producto. Te dice quién tiene los derechos de autor (copyright), dónde encontrar más información (link), y qué versión es el script (version).

Función de Inicialización (OnInit)

Es como preparar tu estación de trabajo antes de empezar un proyecto. Aquí pones todo lo que necesitas para que tu programa funcione correctamente desde el inicio. Si todo está listo y en orden, le dices al programa "estamos listos para comenzar" usando return(INIT_SUCCEEDED).

Por ejemplo, imagina que tu EA es un robot que va a pintar un cuadro. En OnInit, le darías al robot sus pinceles y pinturas, y asegurarte de que está listo para pintar.

Función de Desinicialización (OnDeinit)

Esta parte es como limpiar tu área de trabajo cuando terminas tu proyecto. Aquí puedes guardar tu progreso o tirar lo que ya no necesitas.

Cuando el robot termina de pintar, en OnDeinit, le dirías que limpie sus pinceles y guarde el cuadro.

Función de Ejecución (OnTick)

Por último, esta es la parte donde realmente sucede la acción. Se ejecuta cada vez que hay un cambio en el mercado, como un nuevo precio. Aquí es donde tu EA decide qué hacer: ¿Comprar? ¿Vender? ¿Esperar?

Por ejemplo, siguiendo nuestro ejemplo, cada vez que alguien te dice un color, el robot pinta una línea con ese color. OnTick es como ese momento en que alguien dice un nuevo color y el robot reacciona pintando.

MQL4 vs MQL5: ¿en qué se diferencian?

Como ambos lenguajes conviven en las cuentas de los brokers, conviene tener clara la comparación antes de elegir:

  • Cronología: MQL5 nació con MetaTrader 5 en 2010. En 2014, la actualización build 600 de MT4 modernizó MQL4 incorporando buena parte de las características de MQL5 —el editor MetaEditor unificado y casi toda la librería estándar, salvo el subsistema de órdenes— lo que explica que hoy se parezcan tanto en sintaxis (fuente: Wikipedia).
  • Modelo de ejecución: MQL4 gira en torno a OnTick y a un sistema de órdenes sencillo; MQL5 maneja más eventos, profundidad de mercado y una separación entre órdenes, operaciones y posiciones más parecida a la operativa real de bolsa y futuros.
  • Backtesting: el probador de estrategias de MT5 es multihilo, multidivisa y permite optimizaciones mucho más rápidas que el de MT4 — la diferencia práctica más importante para un desarrollador de sistemas.
  • Mercados: MQL4/MT4 nació para forex y CFDs; MQL5/MT5 añade acceso nativo a bolsa, futuros y más tipos de activos, según lo que ofrezca cada broker.
  • Compatibilidad: un .mq4 no compila en MT5 sin adaptación. La lógica se traslada bien; el código de órdenes hay que reescribirlo.

Diferencias entre MQL4 y otros lenguajes

Aunque similar a otros en algunos aspectos, MQL4 tiene características únicas que lo distinguen.

Para comenzar, una importante diferencia entre MQL4 y otros lenguajes de programación como C++ o Java es su especificidad. MQL4 está diseñado para funcionar en el entorno MetaTrader 4. Sus funciones permiten realizar operaciones específicas de trading como abrir y cerrar operaciones, administrar órdenes pendientes o extraer datos históricos de precios. En cambio, C++ y Java son lenguajes generalistas que se pueden utilizar para un amplio rango de aplicaciones.

Un ejemplo es que otros lenguajes te permiten moverte libremente entre diferentes plataformas. Mientras que puedes usar Python tanto en Jupyter como en PyCharm, los códigos escritos en MQL4 solo se pueden ejecutar dentro del entorno MetaTrader 4.

Quiero destacar otra gran diferencia: la facilidad de uso. En comparación con Python o JavaScript, MQL4 es un lenguaje más sencillo. Posee menos librerías e incorpora una base de código que resume sus posibilidades a las necesidades del específicas del trading. Por tanto, su curva de aprendizaje puede ser más suave que otros lenguajes.

Sin embargo, esto no significa que MQL4 sea inferior a otros lenguajes. Aunque tenga características simplificadas, esta simplificación permite al usuario concentrarse más en estrategias de trading en vez del desarrollo técnico.

Para finalizar, pero no menos importante, está la comunidad. Los lenguajes más generalistas tienen comités masivos de usuarios activos que pueden ayudar a resolver problemas y proporcionar tutoriales detallados. Aunque el número de usuarios de MQL4 es mucho menor debido a su naturaleza específica, hay una gran comunidad dispuesta a ayudarte a resolver cualquier problema relacionado con tus estrategias de trading automatizadas.

Es decir, tanto MQL4 como otros lenguajes de programación tienen ventajas e inconvenientes únicos dependiendo del uso específico que les quieras dar. Es importante entender estas diferencias para poder elegir el lenguaje correcto para tus necesidades.

Beneficios de usar MQL4 en trading

Veamos en resumidas cuentas cuáles son los principales beneficios de usar el lenguaje MQL4 en el trading: 

  • Sistemas de trading a la carta: En primer lugar, una gran ventaja es la personalización amplia que ofrece MQL4. Permite a los usuarios idear y diseñar sus propios indicadores técnicos, scripts y Expert Advisors (EA). Estos componentes personalizados se pueden adaptar completamente a diferentes enfoques. Por ejemplo, aquí tienen cabida tanto los traders de precio y volumen, como los análisis técnicos y por supuesto los cuantitativos puros.

  • Trading automático: Un segundo beneficio clave es la automatización del trading que permite MQL4. Los EA, creados con este lenguaje, pueden operar automáticamente basándose en criterios preestablecidos por nosotros. Es decir, puede realizar operaciones sin intervención humana directa. Esta característica nos libera mucho tiempo y, por supuesto, evita grandes dolores de cabeza en términos de psicología del trading.

  • Backtesting: Además, la eficiencia en el backtesting con MQL4 se considera superior a muchos otros lenguajes similarmente destinados para trading automático. El backtesting es vital para comprobar cómo habrían funcionado nuestros sistemas sobre datos pasados antes de aplicarlo en real permitiéndonos que podamos mejorar nuestros sistemas.

  • Sencillez: MQL4 también destaca por su accesibilidad y facilidad de uso comparado a otros lenguajes de programación más complejos. Aunque posee profundidad suficiente para permitir enfocarse en tareas avanzadas como la programación orientada a objetos, su sintaxis es lo suficientemente sencilla para que los que empiezan puedan aprender a generar y configurar sus propios robots.

  • Comunidad nicho: Finalmente, como hemos dicho anteriormente, otra ventaja notable es la amplia comunidad de MQL4. Hay una cantidad increíble de recursos disponibles, desde documentación oficial hasta foros de usuarios. Esta comunidad activa, al menos en mi experiencia, está siempre dispuesta a ayudar y compartir información sobre lo que nos interesa: el trading. En otras comunidades es más difícil porque puede que necesitemos resolver un problema más generalista y que la persona de la comunidad que nos ayuda no se dedique necesariamente al mundo del trading.



👉 Si todavía no tienes broker con MetaTrader, revisa las mejores plataformas de trading y los 12 mejores brókers para invertir desde España en 2026.

Ejemplos de scripts y asesores expertos en MQL4

En la plataforma MetaTrader 4 (MT4), estas herramientas se desarrollan utilizando MQL4, el lenguaje de programación nativo de la plataforma.

Veamos algunos ejemplos de scripts y asesorías expertas.

Scripts

Un script es un programa simple desarrollado en MQL4 que permite a los traders realizar tareas específicas en su plataforma MT4. En el siguiente listado, te enseño algunos de los más famosos:

  1. «Close All»: Este es un script comúnmente utilizado que cierra todas las posiciones abiertas. Es útil cuando desea liquidar rápidamente todas sus operaciones.

  2. «Delete All Pending Orders»: Como sugiere su nombre, este script elimina todas las órdenes pendientes establecidas por el trader en la plataforma MT4.

  3. «Open Buy Order»: Permite al trader abrir una orden de compra al precio actual del mercado con solo un clic.

  4.  «Open Sell Order»: Similar al anterior pero para abrir una orden de venta al precio actual del mercado.

Asesores Expertos (EA)

Los asesores expertos son programas más complejos que ayudan a los traders a automatizar sus sistemas de trading. Aquí hay algunos buenos ejemplos:

  1. «Moving Average EA»: Es uno de los predeterminados que ya incluye Metatrader. Este EA realiza transacciones basándose únicamente en el indicador técnico Moving Average (Media móvil). Según la configuración establecida por el trader, puede abrir y cerrar operaciones cuando los precios cruzan la línea del indicador de media móvil.

  2. «MACD Sample EA»: Este EA utiliza el indicador técnico MACD (Moving Average Convergence Divergence). Compra cuando la línea MACD cruza por encima de la línea de señal y vende cuando la línea MACD cruza por debajo de la línea de señal.

  3. «Multi-timeframe EAs»: Son asesores expertos que analizan múltiples marcos temporales (por ejemplo, 1 minuto, 5 minutos, una hora, etc.) antes de introducir una operación. Esto ayuda a obtener una visión más completa del mercado antes de abrir o cerrar posiciones.

  4. «News-based EAs»: Estos son EAs programados para reaccionar a eventos específicos o lanzamientos de noticias. Pueden ajustar automáticamente las órdenes según el comportamiento del mercado después del lanzamiento de noticias importantes.

Para finalizar veamos un ejemplo muy básico de un EA que compra cuando el precio cruza hacia arriba la línea móvil de 50 y vende cuando el precio la cruza hacia abajo:

Ejemplo de orden en MQL4


Aunque se trata de un ejemplo muy básico, te puede ayudar a entender cual sería la estructura de un EA. A partir de aquí, ya sabes, no hay trucos ni atajos, con los manuales disponibles y su documentación, puedes comenzar a elaborar tu primer EA.

Estos son solo algunos ejemplos para ilustrar cómo funcionan los scripts y asesores expertos en MQL4. Eso sí, asegúrate siempre de probar cualquier script o asesor experto en un entorno controlado, como una cuenta demo, antes de usarlo en una cuenta real. Algo, todo sea dicho, que también puedes hacer en Metatrader 4 con dinero virtual.

Qué opina la comunidad Rankia de programar (o comprar) robots en MQL4

Los foros de Rankia llevan más de una década siendo punto de encuentro entre traders que quieren automatizar y programadores de MQL4 — el hilo Programador de EA para Metatrader 4 es un clásico de encargos y colaboraciones. Y también acumulan la lección más repetida del trading automático, resumida por un usuario en el hilo Convertir una plantilla de MT4 a un robot Expert advisor:

"Hace un mes compre una plantilla de MT4, una estrategia que prometia unas ganacias de 87-90%, pero siendo realistas solo he llegado al 68%…"
— Usuario del foro de bolsa de Rankia
Ahí está, en una frase, el motivo por el que este artículo insiste en el backtesting y en la cuenta demo: los porcentajes prometidos por plantillas y robots comprados rara vez sobreviven al mercado real. Saber leer y modificar el código MQL4 tú mismo —aunque sea a nivel básico— es la mejor vacuna contra los vendedores de humo. Para dudas de programación y automatización, pásate por el foro de MetaTrader de Rankia.



Preguntas frecuentes sobre MQL4

¿MQL4 sigue funcionando?
Sí: las cuentas y terminales MT4 existentes siguen operativas y el arsenal de EAs, scripts e indicadores legacy sigue disponible. Lo que ya no hay es desarrollo activo de la plataforma ni licencias nuevas de MT4 para brokers.

¿Debo aprender MQL4 o MQL5 en 2026?
Si empiezas de cero y no dependes de una cuenta MT4, la recomendación general es MQL5: es el lenguaje de la plataforma en desarrollo activo y su sintaxis moderna hace que lo aprendido sirva casi todo. MQL4 compensa si tu operativa o tus sistemas ya viven en MT4.

¿El código MQL4 funciona en MetaTrader 5?
No directamente: un .mq4 no compila en MT5. La lógica de la estrategia se traslada bien, pero el subsistema de órdenes hay que reescribirlo en MQL5.

¿Puedo usar MQL4 sin saber programar?
Puedes empezar usando EAs, scripts e indicadores ya hechos (MetaTrader incluye varios de serie y la comunidad publica miles), y aprender lo básico del lenguaje solo para ajustar parámetros y entender qué ejecutas — algo muy recomendable antes de poner dinero real detrás de un robot.

¿Dónde consigo Expert Advisors ya programados?
En la biblioteca de código y el mercado de la comunidad oficial de MetaQuotes, en foros especializados como el de MetaTrader de Rankia, o encargándolos a programadores freelance. Pruébalos siempre primero en demo y desconfía de rentabilidades prometidas.

Aviso: este artículo tiene carácter educativo y no constituye asesoramiento financiero ni recomendación de inversión. El trading automatizado con CFDs y productos apalancados conlleva un riesgo elevado de pérdida del capital, y los resultados de backtesting no garantizan rendimientos futuros. Para decisiones de inversión relevantes, consulta con un asesor financiero registrado en la CNMV.
Accede a Rankia
¡Sé el primero en comentar!