Programación en MQL5 (I)

Trading Meetings  » Tutoriales »  Programación en MQL5 (I)
Programación MQL5 - Introducción a MQL5
0 Comments 18:23

 
 

¡Bienvenido al Tutorial de MQL5!
Este material está diseñado para traders y desarrolladores que ya tienen nociones básicas de programación (variables, bucles, condicionales, etc.). Aunque repasaremos los comandos y estructuras principales de MQL5, el enfoque está en aplicar conceptos prácticos para desarrollar Expert Advisors (EAs), indicadores y scripts.

Si eres completamente nuevo en programación, te recomendamos:

  1. Consultar la documentación oficial de MQL5 para comprender los fundamentos del lenguaje.
  2. Practicar con los 60+ ejercicios y ejemplos resueltos de este tutorial, que van desde lo básico hasta lo avanzado.
  3. Empezar con proyectos simples (como indicadores básicos o scripts de alertas) antes de abordar EAs complejos.

Este tutorial no solo te enseñará a codificar, sino que también te guiará en la implementación de estrategias reales, gestión de riesgos y optimización. ¡Manos a la obra!

¡Esperamos que disfrutes este tutorial y que te conviertas en un experto en MQL5! 🚀

Sumario:

 
   
 

MQL5 (MetaQuotes Language 5) es un lenguaje de programación diseñado específicamente para desarrollar aplicaciones automatizadas en la plataforma MetaTrader 5, una de las plataformas de trading más populares del mundo. Con MQL5, los traders pueden crear Expert Advisors (EAs), indicadores personalizados y scripts que automatizan sus estrategias de trading, optimizando su tiempo y tomando decisiones basadas en datos precisos.

El propósito principal de MQL5 es permitir a los traders implementar sus ideas comerciales sin necesidad de ser expertos en programación avanzada. Aunque requiere algo de conocimiento técnico, la estructura clara y las herramientas integradas de MetaEditor facilitan el proceso de aprendizaje.

Además, MQL5 cuenta con una comunidad activa de desarrolladores y traders que comparten conocimientos, código y experiencias en foros como MQL5.community . La documentación oficial de MQL5 también es una fuente invaluable para aprender sobre sus funciones y capacidades.


Aunque MQL4 y MQL5 son lenguajes similares, MQL5 introduce mejoras significativas que lo convierten en una opción más potente y versátil. A continuación, destacamos algunas de las principales diferencias:

Velocidad de ejecuciónMenor rendimientoMayor velocidad gracias a optimizaciones internas
Programación orientada a objetosNo soportadaSoporte completo para POO
Compatibilidad multiplataformaSolo compatible con MetaTrader 4Compatible con MetaTrader 4 y 5
Acceso a múltiples símbolosLimitadoAcceso simultáneo a varios símbolos
Funciones avanzadasBásicasFunciones adicionales como WebRequest y FileStorage

Una de las ventajas más importantes de MQL5 es su soporte para programación orientada a objetos (POO), lo que permite reutilizar código y crear programas más modulares y escalables. Por ejemplo, puedes definir clases para encapsular funcionalidades comunes, como la gestión de órdenes o el cálculo de indicadores técnicos.

Ejemplo práctico: Aquí tienes un ejemplo básico de cómo se define una clase en MQL5:

En este ejemplo, creamos una clase PositionManager que encapsula la lógica para abrir posiciones largas. Esto facilita la reutilización del código en diferentes partes de tu EA.


MQL5 tiene tres tipos principales de aplicaciones que puedes desarrollar:

  1. Expert Advisors (EAs): Los EAs son programas que automatizan completamente el proceso de trading. Pueden analizar el mercado, generar señales de compra/venta y ejecutar órdenes automáticamente. Por ejemplo, un EA puede estar basado en un cruce de medias móviles:

Este código verifica si la media móvil rápida cruza por encima de la lenta y abre una posición larga en ese caso.

  1. Indicadores Personalizados: Los indicadores personalizados te permiten crear tus propios análisis técnicos. Por ejemplo, podrías desarrollar un indicador que combine varias medias móviles y muestre señales visuales.
  2. Scripts: Los scripts son programas que se ejecutan una sola vez y realizan tareas específicas, como cerrar todas las posiciones abiertas o enviar notificaciones.

Recursos para Aprender MQL5

Para profundizar en MQL5, aquí tienes algunos recursos útiles:


Ejercicio final: Intenta escribir un pequeño script que imprima el precio actual del EURUSD en la ventana de resultados. Usa la función Print() para mostrar el valor.

Ver solución:

Explicación del Código:

  1. #property strict: Esta directiva asegura que el script cumpla con las reglas estrictas de programación en MQL5, lo que ayuda a evitar errores comunes.
  2. OnStart(): Es la función principal que se ejecuta cuando se inicia el script.
  3. SymbolExists("EURUSD"): Verifica si el símbolo EURUSD está disponible en el mercado. Esto es útil para evitar errores si el símbolo no está presente en la lista de instrumentos del terminal.
  4. SymbolInfoDouble("EURUSD", SYMBOL_ASK) y SymbolInfoDouble("EURUSD", SYMBOL_BID): Estas funciones obtienen el precio de Ask (compra) y Bid (venta) del EURUSD, respectivamente.
  5. Print(): Se utiliza para mostrar mensajes en la ventana de resultados. En este caso, mostramos los precios obtenidos.
  6. DoubleToString(askPrice, _Digits): Convierte el valor numérico del precio en una cadena formateada con la precisión adecuada (_Digits indica el número de decimales del símbolo).
  7. Mensaje de Error: Si el símbolo EURUSD no está disponible, se muestra un mensaje informativo.

Cómo Ejecutar el Script:

  1. Abre MetaEditor desde MetaTrader 5.
  2. Crea un nuevo archivo de script (File > New > Script) y pega el código anterior.
  3. Guarda el archivo con un nombre significativo, por ejemplo, Print_EURUSD_Price.
  4. Compila el script haciendo clic en el botón «Compile» o presionando F7.
  5. Una vez compilado, ve al terminal MetaTrader 5, selecciona el script en la pestaña «Scripts» y haz doble clic para ejecutarlo.
  6. Observa la ventana de resultados (View > Results) para ver el precio actual del EURUSD.

Resultado Esperado:

Si el EURUSD está disponible en tu cuenta y el mercado está abierto, verás un resultado similar al siguiente en la ventana de resultados:

Si el símbolo no está disponible, verás:

Este ejercicio es una excelente manera de comenzar a familiarizarte con la sintaxis básica de MQL5 y cómo interactuar con datos del mercado. ¡Buena suerte!

¡Esperamos que este capítulo te haya proporcionado una base sólida para comenzar tu viaje en MQL5! En el próximo capítulo, exploraremos cómo configurar tu entorno de desarrollo.

 
 


Deja una respuesta