Artículos de programación MQL4 y MQL5

icon

Aprenda el lenguaje de programación de estrategias comerciales MQL5 leyendo numerosos artículos la mayor parte de los cuales han sido escritos por Ustedes - miembros de MQL5.community. Con el fin de buscar rápidamente la respuesta sobre una u otra cuestión de programación, todos los artículos están divididos en categorías: "Integración", "Probador", "Estrategias comerciales", etc.

Siga las nuevas publicaciones y participe en sus discusiones en el foro de MQL5.community!

Nuevo artículo
últimas | mejores
preview
Introducción a MQL5 (Parte 7): Guía para principiantes sobre cómo crear asesores expertos y utilizar código generado por IA en MQL5

Introducción a MQL5 (Parte 7): Guía para principiantes sobre cómo crear asesores expertos y utilizar código generado por IA en MQL5

Descubra la guía definitiva para principiantes sobre cómo crear asesores expertos (Expert Advisors, EAs) con MQL5 en nuestro artículo completo. Aprenda paso a paso cómo construir EA usando pseudocódigo y aprovechar el poder del código generado por IA. Ya sea que sea nuevo en el comercio algorítmico o busque mejorar sus habilidades, esta guía proporciona un camino claro para crear EA efectivos.
La implementación del modo multidivisa en MetaTrader 5
La implementación del modo multidivisa en MetaTrader 5

La implementación del modo multidivisa en MetaTrader 5

Durante mucho tiempo, la gente ha tenido un gran interés en el análisis multidivisa y el trading multidivisa. La oportunidad de implementar un modo multidivisa completo solo es posible con la versión pública de MetaTrader 5 y el lenguaje de programación MQL5. En este artículo, vamos a proponer un modo de análisis y procesamiento de todos los ticks recibidos para varios símbolos. Como ejemplo, vamos a ver el indicador RSI multidivisa del índice dólar USDx.
Simulación de patrones que surgen al comerciar con cestas de parejas de divisas. Parte I
Simulación de patrones que surgen al comerciar con cestas de parejas de divisas. Parte I

Simulación de patrones que surgen al comerciar con cestas de parejas de divisas. Parte I

Comenzamos a simular los patrones y comprobar las metodologías descritas en los artículos dedicados al comercio con cestas de parejas de divisas. Vamos a ver en la práctica cómo se aplican los patrones de ruptura de los niveles de sobrecompra/sobreventa.
Aplicación Práctica de Bases de Datos para Análisis de Mercados
Aplicación Práctica de Bases de Datos para Análisis de Mercados

Aplicación Práctica de Bases de Datos para Análisis de Mercados

Trabajar con datos se ha convertido en la principal tarea para el software moderno, tanto para aplicaciones independientes como para aplicaciones de red. Para resolver este problema se creó un software especializado. Se trata de los Sistemas de Gestión de Bases de Datos (Database Management Systems o DBMS), que pueden estructurar datos para su almacenamiento en el ordenador y su procesamiento. En lo que se refiere a trading, la mayoría de analistas no usan bases de datos en su trabajo. Pero hay tareas donde esta solución resultaría muy práctica. Este artículo facilita un ejemplo de indicadores que puede guardar y cargar datos de bases de datos tanto con arquitecturas de servidor de cliente como de servidor de archivos.
Implementar un trader de noticias automático
Implementar un trader de noticias automático

Implementar un trader de noticias automático

Esta es la continuación de otro artículo acerca de la clase POO de MQL5, en el cual se le mostró el modo de implementar un Asesor Experto orientado a objetos desde cero y se le dieron algunos trucos sobre la programación orientada a objetos. Hoy, le voy a mostrar los fundamentos técnicos necesarios para desarrollar un Asesor Experto capaz de hacer trading con noticias. Mi objetivo es seguir proporcionándole ideas acerca de la POO y también abarcar un nuevo tema en esta serie de artículos, trabajando con el sistema de archivos.
El comercio en fórex y sus matemáticas básicas
El comercio en fórex y sus matemáticas básicas

El comercio en fórex y sus matemáticas básicas

El artículo pretende describir las principales características del comercio de divisas de la forma más rápida y simple posible, para compartir verdades sencillas con los lectores principiantes. También intentaremos responder a las preguntas más interesantes en el entorno comercial, así como escribir un indicador simple.
preview
Desarrollo de Sistemas Avanzados de Trading ICT: Implementación de Order Blocks en un Indicador

Desarrollo de Sistemas Avanzados de Trading ICT: Implementación de Order Blocks en un Indicador

En este artículo, aprenderemos cómo crear un indicador que detecte, dibuje y emita alertas sobre la mitigación de Order Blocks. Exploraremos en detalle cómo identificar estos bloques en el gráfico, establecer alertas precisas y visualizar su posición con rectángulos para tener una mejor comprensión del comportamiento del precio. Este indicador será una herramienta clave para quienes siguen la metodología Smart Money Concepts e Inner Circle Trader.
Comercio por los niveles de DiNapoli
Comercio por los niveles de DiNapoli

Comercio por los niveles de DiNapoli

En este artículo se considera una de las versiones de la implementación práctica del Asesor Experto para el comercio por los niveles de DiNapoli a través de las herramientas estándar MQL5. Ha sido realizado el testeo de sus resultados, y han sido sacadas conclusiones.
Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre
Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre

Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre

El artículo describe el modo de implementar la comunicación entre procesos, entre terminales de cliente MetaTrader 5 mediante canalizaciones con nombre. Se desarrolla la clase CNamedPipes para utilizar las canalizaciones con nombre. Con el fin de probar su uso y medir el rendimiento de la conexión, se proporciona el tick del indicador y los scripts del servidor y el cliente. El uso de las canalizaciones con nombre es suficiente para las cotizaciones en tiempo real.
Usando los punteros de objeto en MQL5
Usando los punteros de objeto en MQL5

Usando los punteros de objeto en MQL5

Por defecto, todos los objetos en MQL5 se pasan por referencia, pero hay una posibilidad de usar los punteros de objeto. Sin embargo, es necesario realizar una comprobación del puntero ya que el objeto puede no ser inicializado. En este caso, el programa MQL5 terminará con un error crítico y descargado. Los objetos, creados automáticamente, no causan este error, por lo que, en esencia, son muy seguros. En este artículo intentaremos comprender la diferencia entre la referencia del objeto y el puntero del mismo y veremos cómo escribir código seguro con el uso de punteros.
Libro de Recetas MQL5: Asesor Experto Multidivisa: un Enfoque Simple, Claro y Rápido
Libro de Recetas MQL5: Asesor Experto Multidivisa: un Enfoque Simple, Claro y Rápido

Libro de Recetas MQL5: Asesor Experto Multidivisa: un Enfoque Simple, Claro y Rápido

Este artículo describirá la implementación de un enfoque sencillo y apropiado para un Asesor Experto multidivisa. Esto significa que será posible configurar el Asesor Experto para simular/realizar operaciones de trading bajo condiciones idénticas pero con parámetros diferentes para cada símbolo. Como ejemplo, crearemos un patrón para dos símbolos pero de forma que solo podamos añadir símbolos adicionales, si es necesario, haciendo pequeños cambios en el código.
Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo
Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo

Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo

En el presente artículo, estudiaremos los principios esenciales del análisis y el cálculo de las expresiones matemáticas. Asimismo, implementaremos los parsers de descenso recursivo que funcionan en los modos de intérprete y de cálculos rápidos basados en un árbol de sintaxis previamente construido.
Gas neuronal creciente: implementación en MQL5
Gas neuronal creciente: implementación en MQL5

Gas neuronal creciente: implementación en MQL5

Este artículo muestra un ejemplo de cómo desarrollar un programa MQL5 implementando el algoritmo adaptativo de agrupamiento llamado gas neuronal creciente (GNG). El artículo está dirigido a aquellos usuarios que han estudiado la documentación del lenguaje y tienen cierta capacidad para programar y un conocimiento básico en el área de la neuroinformática.
Constructor de estrategias basado en las figuras técnicas de Merrill
Constructor de estrategias basado en las figuras técnicas de Merrill

Constructor de estrategias basado en las figuras técnicas de Merrill

En el artículo anterior, analizamos un modelo de aplicación de las figuras técnicas de Merrill a diferentes datos, tales como el valor del precio en el gráfico de un instrumento de divisa y los valores de los diferentes indicadores del paquete estándar del terminal MetaTrader 5: ATR, WPR, CCI, RSI y otros. Ahora, vamos a intentar crear un constructor de estrategias basado en las ideas sobre el uso de las figuras técnicas de Merrill.
Web scraping de datos sobre la rentabilidad de los bonos
Web scraping de datos sobre la rentabilidad de los bonos

Web scraping de datos sobre la rentabilidad de los bonos

Cuando diseñamos los sistemas del trading automático, casi siempre utilizamos los datos de los indicadores técnicos que analizan el pasado con el fin de predecir el futuro comportamiento del precio. Pero si no tomamos en cuenta las fuerzas fundamentales que mueven el mercado, evidentemente estaremos en una situación menos ventajosa en comparación con los traders que consideran adicionalmente los datos fundamentales en sus decisiones comerciales. Recopilando automáticamente los datos sobre los tipos de interés, Usted podrá mejorar el funcionamiento de su Asesor Experto.
Scalping combinatorio: analizando transacciones del pasado para aumentar el rendimiento de las transacciones futuras
Scalping combinatorio: analizando transacciones del pasado para aumentar el rendimiento de las transacciones futuras

Scalping combinatorio: analizando transacciones del pasado para aumentar el rendimiento de las transacciones futuras

Ofrecemos al lector la descripción de una tecnología para aumentar la eficacia de cualquier sistema de comercio automático. El artículo expone brevemente la idea, los fundamentos básicos, las posibilidades y las desventajas del método.
Trabajamos con archivos ZIP con los medios de MQL5, sin usar bibliotecas ajenas
Trabajamos con archivos ZIP con los medios de MQL5, sin usar bibliotecas ajenas

Trabajamos con archivos ZIP con los medios de MQL5, sin usar bibliotecas ajenas

El lenguaje MQL5 prosigue su desarrollo, continuamente se le añaden nuevas funciones para trabajar con datos. Desde hace cierto tiempo, gracias a las innovaciones, resulta posible trabajar con archivos ZIP con las herramientas estándar MQL5, sin tener que implicar bibliotecas DLL ajenas. Este artículo describe de forma detallada cómo hacerlo, usando como ejemplo la descripción de la clase CZip, un instruemnto universal de lectura, creación y modificación de archivos ZIP.
Principios de programación en MQL5 - Variables globales del terminal
Principios de programación en MQL5 - Variables globales del terminal

Principios de programación en MQL5 - Variables globales del terminal

En este artículo se demuestran las posibilidades orientadas a objetos del lenguaje MQL5 en cuanto a creación de objetos responsables del funcionamiento con las variables globales del programa. Como ejemplo práctico se verá una situación en la que las variables globales pueden usarse como puntos de control en la ejecución de etapas del programa.
preview
Stop Loss y Take Profit amigables para el tráder

Stop Loss y Take Profit amigables para el tráder

El stop loss y el take profit pueden tener una influencia significativa en los resultados de las transacciones. En este artículo, veremos varias formas de buscar órdenes stop óptimas.
preview
Qué podemos hacer con la ayuda de medias móviles

Qué podemos hacer con la ayuda de medias móviles

En este artículo, hemos recopilado algunos usos del indicador de media móvil. Si se requiere un análisis de curvas, para casi todos los métodos se han hecho indicadores que permiten visualizar una idea útil. En la mayoría de los casos, las ideas se han tomado prestadas de otros autores, pero, en conjunto, suelen ayudar a ver las tendencias principales con mayor precisión y, con suerte, a tomar mejores decisiones comerciales. Nivel de conocimiento de MQL5: inicial.
El análisis estadístico de los movimientos del mercado y su pronóstico
El análisis estadístico de los movimientos del mercado y su pronóstico

El análisis estadístico de los movimientos del mercado y su pronóstico

El presente artículo contempla las amplias posibilidades del método estadístico en el marketing. Por desgracia, los traders principiantes fracasan deliberadamente a la hora de aplicar la formidable ciencia de la estadística. Mientras tanto, es lo único que usan de forma inconscientemente cuando analizan el mercado. Además, la estadística puede dar respuesta a muchas preguntas.
preview
Eventos de Trading en MetaTrader 5

Eventos de Trading en MetaTrader 5

El monitoreo del estado actual de una cuenta de trading implica controlar las posiciones abiertas y órdenes. Antes de que una señal de trading pase a ser una transacción, se debe enviar desde el terminal de cliente como solicitud al servidor de trading, donde se colocará en la cola de órdenes a la espera de ser procesadas. Aceptar una solicitud por el servidor de trading, eliminarla si caduca o realizar una transacción en su base: todas estas acciones se siguen por eventos de trading, y el servidor informa al terminal sobre ellos.
El tester en la terminal MetaTrader 4: Debería saberse
El tester en la terminal MetaTrader 4: Debería saberse

El tester en la terminal MetaTrader 4: Debería saberse

La interfaz elaborada de la terminal MetaTrader 4 es de vanguardia, pero además esta terminal incluye un tester de estrategias cuidadosamente realizado. Y aunque el valor de MetaTrader 4 como terminal de trading es obvio, la calidad de la estrategia del tester puede evaluarse sólo con su uso. Este artículo muestra las ventajas e inconvenientes de hacer pruebas en MetaTrader 4.
Interfaces gráficas X: Control "Gráfico estándar" (build 4)
Interfaces gráficas X: Control "Gráfico estándar" (build 4)

Interfaces gráficas X: Control "Gráfico estándar" (build 4)

En este artículo vamos a analizar el control de la interfaz gráfica como «Gráfico estándar». Nos permitirá crear los arrays de objetos-gráficos con posibilidad del desplazamiento horizontal sincronizado del gráfico. Aparte de eso, continuaremos optimizando el código de la librería para reducir el consumo de los recursos de CPU.
Cree su propia Observación del Mercado usando las clases de la librería estándar
Cree su propia Observación del Mercado usando las clases de la librería estándar

Cree su propia Observación del Mercado usando las clases de la librería estándar

El nuevo terminal de cliente de MetaTrader 5 y el lenguaje MQL5 proporcionan nuevas oportunidades al operador para la representación visual de información. En este artículo proponemos un conjunto universal y extensible de clases que controlan todo el trabajo que requiere organizar la representación en pantalla de la información sobre los gráficos. Se incluye el ejemplo del indicador Observación del Mercado.
Libro de Recetas de MQL5: Obtener Propiedades de Posiciones
Libro de Recetas de MQL5: Obtener Propiedades de Posiciones

Libro de Recetas de MQL5: Obtener Propiedades de Posiciones

En este artículo crearemos un script con el que obtendremos todas las propiedades de posición y se las mostrará al usuario en un cuadro de diálogo. Al ejecutar el script, usted podrá seleccionar uno de los dos modos disponibles en la lista desplegable en los parámetros externos: para ver las propiedades de posición solo en el símbolo actual, o para ver las propiedades de posición en todos los símbolos.
Hablando de nuevo sobre los mapas de Kohonen
Hablando de nuevo sobre los mapas de Kohonen

Hablando de nuevo sobre los mapas de Kohonen

El artículo describe los métodos de funcionamiento de los mapas de Kohonen. Le resultará interesante tanto a los investigadores del mercado con habilidades básicas de programación en MQL4 y MQL5, como a los programadores expertos que sufren dificultades con la aplicación de los mapas de Kohonen en sus proyectos.
Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5
Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5

Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5

En este artículo se describe el indicador NRTR y el sistema comercial creado en su base. Para este propósito, se crea el módulo de las señales comerciales a través de las cuales se crean las estrategias basadas en las combinaciones del NRTR e indicadores comerciales que confirman la tendencia.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 39): Indicadores basados en la biblioteca - Preparación de datos y eventos de la series temporales
Trabajando con las series temporales en la biblioteca DoEasy (Parte 39): Indicadores basados en la biblioteca - Preparación de datos y eventos de la series temporales

Trabajando con las series temporales en la biblioteca DoEasy (Parte 39): Indicadores basados en la biblioteca - Preparación de datos y eventos de la series temporales

En el presente artículo, analizaremos la aplicación de la biblioteca DoEasy para crear indicadores de periodo y símbolo múltiples. Hoy, vamos a preparar las clases de la biblioteca para trabajar con indicadores y poner a prueba la correcta creación de series temporales para su posterior uso como fuentes de datos en los indicadores. Asimismo, organizaremos la creación y el envío de los eventos de series temporales.
preview
Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte II): Interfaz móvil (II)

Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte II): Interfaz móvil (II)

Descubra el potencial de la presentación dinámica de datos en sus estrategias y utilidades comerciales con nuestra guía detallada para crear GUI móviles en MQL5. Sumérjase en los principios fundamentales de la programación orientada a objetos y aprenda a diseñar y utilizar de manera fácil y eficiente una o más GUI móviles en un solo gráfico.
preview
Funciones en las aplicaciones MQL5

Funciones en las aplicaciones MQL5

Las funciones son componentes de importancia crítica en cualquier lenguaje de programación. Entre otras cosas, ayudan a los desarrolladores a aplicar el principio DRY (don't repeat youself, no te repitas). El artículo analiza las funciones y su creación en MQL5 usando aplicaciones sencillas que enriquecen nuestros sistemas comerciales sin complicarlos.
Crear y Publicar Informes de Trading y Notificaciones SMS
Crear y Publicar Informes de Trading y Notificaciones SMS

Crear y Publicar Informes de Trading y Notificaciones SMS

Los traders no siempre tienen la capacidad ni las ganas de estar sentados frente al terminal de trading durante horas. Especialmente si el sistema de trading está más o menos formalizado y puede identificar automáticamente algunos de los estados de mercado. Este artículo describe cómo generar un informe de resultados de trading (usando un Asesor Experto, Indicador o Script) como archivo HTML y cómo subirlo por FTP a un servidor WWW. También explicaremos cómo enviar notificaciones de eventos de trading como mensajes SMS a teléfonos móviles.
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 1
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 1

El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 1

En el presente artículo, presentamos un nuevo concepto para la descripción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. Las clases especiales transforman el marcado visual de MQL en elementos de GUI, permitiendo de controlarlos, ajustar sus propiedades y procesar eventos de forma unificada. Asimismo, mostraremos ejemplos de uso del marcado en las ventanas de diálogo y los elementos de la biblioteca estándar.
¿Dormir, o no dormir?
¿Dormir, o no dormir?

¿Dormir, o no dormir?

Se propone un uso alternativo de la función Sleep() en la realización de las pausas entre las acciones del AE. El método del que se habla aquí permite un uso inteligente del tiempo de máquina.
Canal universal con interfaz gráfica
Canal universal con interfaz gráfica

Canal universal con interfaz gráfica

Todos los indicadores de canales están constituidos por tres líneas: una central, una superior y otra inferior. Según su principio de construcción la línea central es idéntica a una media móvil, y en la mayoría de los casos para construir el canal se usa precisamente una media móvil. Las líneas superior e inferior se ubican a la misma distancia de la central. Esta distancia se puede definir simplemente en puntos, en tanto por ciento del precio (indicador Envelopes), se pueden usar valores de desviación estándar (franjas de Bollinger) o los valores del indicador ATR (canal de Keltner).
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación

Este es el tercer artíclo sobre el concepto de las solicitudes pendientes. En él, terminaremos con la puesta a punto del trabajo con solicitudes comerciales pendientes, creando los métodos para cerrar posiciones, eliminar órdenes pendientes y modificar los parámetros de las posiciones y las órdenes pendientes.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo
Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo

Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo

El artículo está dedicado a la creación de la colección de series temporales de los marcos temporales establecidos para todos los símbolos utilizados en el programa. Vamos a crear la colección de series temporales, y también los métodos para establecer los parámetros de las series temporales contenidas en la colección. Asimismo, rellenaremos por primera vez con datos históricos las series temporales creadas en la colección.
Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana
Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana

Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana

MetaTrader 5 ofrece 21 períodos de tiempo para el análisis. Puede aprovechar los objetos gráficos especiales que puede colocar en el gráfico existente y establecer el símbolo, el período de tiempo y otras propiedades. En este artículo se va a proporcionar una información detallada acerca de estos objetos gráficos: crearemos un indicador con controles (botones) que nos permitirán establecer múltiples objetos gráficos en una subventana al mismo tiempo. Además, se encajarán los objetos gráficos con precisión en la subventana y se ajustarán automáticamente al modificar el tamaño del gráfico principal o el de la ventana del terminal.
Promocione sus proyectos de desarrollo usando las librerías EX5
Promocione sus proyectos de desarrollo usando las librerías EX5

Promocione sus proyectos de desarrollo usando las librerías EX5

Ocultar los detalles de la implementación de las clases/funciones en un archivo .ex5 le permitirá compartir sus algoritmos propios con otros desarrolladores, iniciar proyectos y promocionarlos en la Web. Y mientras el equipo de MetaQuotes no escatima esfuerzos para tener la posibilidad de heredar directamente las clases de las librerías ex5, vamos a implementarlas ahora.
Indicadores técnicos y filtros digitales
Indicadores técnicos y filtros digitales

Indicadores técnicos y filtros digitales

En este artículo, se tratan los indicadores técnicos como si fueran filtros digitales. Se explican los principios de funcionamiento y las características básicas de los filtros digitales. Además, se van a tratar algunos métodos prácticos para obtener la respuesta al impulso (kernel) del filtro en el terminal de MetaTrader 5 y su integración con un analizador de espectro, que ya existe, descrito en el artículo "Construyendo un analizador de espectro". Como ejemplos, se usan las características del impulso y el espectro de los filtros digitales típicos.