MQL4 (MetaQuotes Language 4) y MQL5 (MetaQuotes Language 5) son lenguajes de programación integrados, diseñados para el desarrollo de robots comerciales, indicadores técnicos de mercado, scripts y bibliotecas funcionales dentro del software de MetaTrader.
El principal objetivo de MQL4 y MQL5 es la automatización de transacciones y la facilitación del análisis operativo. MQL4 y MQL5 comprenden una extensa biblioteca de código fuente codebase usada en el desarrollo de robots comerciales
El 1 de julio de 2005 MetaQuotes Software lanzó MetaTrader 4, una plataforma para comerciar en los mercados financieros.1 MQL4 es un lenguaje de programación orientada a objetos, escrito específicamente para trabajar en esta plataforma. Inicialmente, su sintaxis se basaba en el lenguaje C. La otra plataforma, MetaTrader 5, fue lanzada en 2010 junto con MQL5, un nuevo lenguaje creado para la misma.2
El lanzamiento de MetaTrader 4 600 build en 2014 constituyó una actualización colosal para el lenguaje.3 Que la llevó al nivel del más moderno MQL5. El entorno de desarrollo MetaEditor quedó unificado para ambos lenguajes.
Una de las diferencias fundamentales es la configuración del sistema comercial. Mql4 se utiliza para el desarrollo de programas comerciales basados en el sistema de orden y MQL5 se utiliza para implementar un sistema posicional. En el terminal comercial MetaTrader 5 hay delimitaciones estrictas entre los conceptos de posición, orden y transacción. Una orden es una solicitud para ejecutar una operación comercial, que puede resultar en una transacción comercial. Una posición supone el conjunto de ofertas sobre un determinado instrumento financiero.
MQL4/MQL5 pretende abordar directamente las necesidades y exigencias de los operadores. Fue desarrollado para la escritura de programas comerciales y solo se utiliza para ese fin. Las funciones para realizar operaciones comerciales OrderSend(), OrderClose(), OrderCloseBy(), OrderModify(), OrderDelete() se incorporaron inicialmente en el lenguaje y se utilizan para cambiar el estado de una cuenta comercial.
Todas las operaciones comunes - aritmética, bool, binaria, etcétera, están presentes en MQL4/MQL5. La precedencia de las operaciones corresponde a la adoptada en C ++.
La mayor desventaja de los lenguajes de la familia MQL es la imposibilidad de crear aplicaciones independientes, ya que cada lenguaje está vinculado a su plataforma correspondiente (MetaTrader 4/MetaTrader 5), y los programas EX4/EX5 solo funcionan en ellas.