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
Dominando los registros (Parte 7): Cómo mostrar los registros en un gráfico

Dominando los registros (Parte 7): Cómo mostrar los registros en un gráfico

Descubre cómo mostrar los registros directamente en el gráfico de MetaTrader de forma organizada, con marcos, títulos y scroll automático. En este artículo te mostramos cómo crear un sistema visual de registros con MQL5, ideal para supervisar en tiempo real lo que hace tu robot.
preview
Del básico al intermedio: Estructuras (VII)

Del básico al intermedio: Estructuras (VII)

En este artículo se mostrará cómo podemos abordar los problemas para estructurar las cosas y crear una solución más sencilla y atractiva. Aunque el contenido está orientado a la didáctica y, por lo tanto, no se trata de un código real, es necesario asimilar muy bien los conceptos y conocimientos que se verán aquí. Así, en el futuro, podrás seguir los códigos que iremos mostrando.
preview
Indicador de estacionalidad por horas, días de la semana y meses

Indicador de estacionalidad por horas, días de la semana y meses

Este artículo explica cómo desarrollar una herramienta para analizar patrones de precios recurrentes en los mercados financieros, ya sea por el día del mes (1-31), el día de la semana (lunes a domingo) o la hora del día (0-23). El indicador analiza datos históricos, calcula la rentabilidad media de cada periodo y muestra los resultados en forma de histograma con una previsión. Incluye parámetros personalizables: tipo de estacionalidad, número de barras analizadas, visualización como porcentajes o valores absolutos, colores del gráfico.
preview
Algoritmo de mercado bursátil — Exchange Market Algorithm (EMA)

Algoritmo de mercado bursátil — Exchange Market Algorithm (EMA)

Este artículo ofrece un análisis detallado del algoritmo de mercado bursátil (EMA), inspirado en el comportamiento de los tráders en el mercado de valores. El algoritmo simula el proceso de negociación de acciones, donde los participantes del mercado con distintos niveles de éxito emplean distintas estrategias para maximizar sus beneficios.
preview
Optimización basada en biogeografía — Biogeography-Based Optimization (BBO)

Optimización basada en biogeografía — Biogeography-Based Optimization (BBO)

La optimización basada en biogeografía (BBO) supone un elegante método de optimización global inspirado en los procesos naturales de migración de especies entre islas de archipiélagos. El algoritmo se basa en una idea simple pero poderosa: las soluciones de alta calidad comparten activamente sus características, mientras que las soluciones de baja calidad adoptan activamente nuevas características, creando un flujo natural de información desde las mejores soluciones hacia las peores. El BBO, un operador de mutación adaptativa único que ofrece un excelente equilibrio entre exploración y explotación, demuestra una alta eficiencia en una variedad de tareas.
preview
Dominando los registros (Parte 6): Guardando los registros en la base de datos

Dominando los registros (Parte 6): Guardando los registros en la base de datos

Este artículo explora el uso de bases de datos para almacenar registros de forma estructurada y escalable. Abarca conceptos fundamentales, operaciones esenciales, configuración e implementación de un controlador de base de datos en MQL5. Finalmente, valida los resultados y destaca los beneficios de este enfoque para la optimización y la monitorización eficiente.
preview
De novato a experto: Dominando la generación de informes detallados de trading con Reporting EA

De novato a experto: Dominando la generación de informes detallados de trading con Reporting EA

En este artículo, profundizamos en cómo mejorar los detalles de los informes de operaciones y cómo enviar el documento final por correo electrónico en formato PDF. Esto supone un avance respecto a nuestro trabajo anterior, ya que seguimos explorando cómo aprovechar el potencial de MQL5 y Python para generar y programar informes de operaciones en los formatos más adecuados y profesionales. Acompáñenos en este análisis para obtener más información sobre cómo optimizar la generación de informes de operaciones dentro del ecosistema MQL5.
preview
Del básico al intermedio: Objetos (IV)

Del básico al intermedio: Objetos (IV)

Puede que este sea el artículo más divertido hasta ahora. Esto ocurre porque aquí implementaremos una modificación de un objeto presente en MetaTrader 5 para crear otro que no existe originalmente en la plataforma. Claro, lo que verás aquí puede parecer una locura, pero funciona y tiene un objetivo muy interesante.
preview
Simulación de mercado: Position View (II)

Simulación de mercado: Position View (II)

En este artículo, mostraré, de la forma más simple y práctica posible, cómo podrás usar un indicador como forma de observar posiciones abiertas en el servidor de trading. Lo hago así, y poco a poco, precisamente para mostrar que no necesitas incorporar necesariamente todo esto en un Asesor Experto. Muchos de ustedes ya deben de estar bastante acostumbrados a hacer esto, por un motivo u otro. La verdad es que eso es una tontería, ya que, a medida que avancemos en esta implementación, quedará claro que podrás crear o implementar diversos tipos de indicadores para este propósito.
preview
Simulación de mercado (Parte 24): Iniciando SQL (VII)

Simulación de mercado (Parte 24): Iniciando SQL (VII)

En el artículo anterior terminamos de hacer las debidas presentaciones sobre SQL. Así, lo que me había propuesto mostrar y explicar sobre SQL, a mi juicio, quedó debidamente explicado. Esto, para que todos los que vengan a ver el sistema de repetición/simulador en construcción consigan, como mínimo, tener alguna noción de lo que puede estar ocurriendo allí. Esto se debe a que no tiene sentido programar diversas cosas que SQL puede cubrir perfectamente.
preview
Teoría de grafos: Aplicación del algoritmo de Dijkstra al trading

Teoría de grafos: Aplicación del algoritmo de Dijkstra al trading

El algoritmo de Dijkstra, una solución clásica para hallar el camino más corto en la teoría de grafos, puede optimizar las estrategias de trading mediante la modelización de las redes de mercado. Los traders pueden utilizarlo para encontrar las rutas más eficientes en los datos del gráfico de velas.
preview
Aprendizaje automático y Data Science (Parte 36): Cómo lidiar con mercados financieros sesgados

Aprendizaje automático y Data Science (Parte 36): Cómo lidiar con mercados financieros sesgados

Los mercados financieros no están perfectamente equilibrados. Algunos mercados son alcistas, otros bajistas y otros presentan comportamientos laterales que indican incertidumbre en cualquier dirección. Esta información desequilibrada, cuando se utiliza para entrenar modelos de aprendizaje automático, puede resultar engañosa, ya que los mercados cambian con frecuencia. En este artículo vamos a analizar varias maneras de abordar este problema.
preview
Características del Wizard MQL5 que debe conocer (Parte 62): Uso de patrones del ADX y el CCI con aprendizaje por refuerzo TRPO

Características del Wizard MQL5 que debe conocer (Parte 62): Uso de patrones del ADX y el CCI con aprendizaje por refuerzo TRPO

El oscilador ADX y el oscilador CCI son indicadores de seguimiento de tendencias y de impulso que pueden combinarse al desarrollar un asesor experto. Retomamos donde lo dejamos en el artículo anterior y analizamos cómo es posible llevar a cabo el entrenamiento en condiciones reales y la actualización del modelo que hemos desarrollado gracias al aprendizaje por refuerzo. Estamos utilizando un algoritmo que aún no hemos tratado en esta serie, conocido como «optimización de políticas de región de confianza» (Trusted Region Policy Optimization, TRPO). Y, como siempre, la creación de asesores expertos mediante el Asistente de MQL5 (Wizard MQL5) nos permite configurar nuestros modelos para su prueba de forma mucho más rápida y, además, de manera que puedan distribuirse y probarse con diferentes tipos de señales.
preview
Características del Wizard MQL5 que debe conocer (Parte 60): Aprendizaje por inferencia (Wasserstein-VAE) con patrones de media móvil y oscilador estocástico

Características del Wizard MQL5 que debe conocer (Parte 60): Aprendizaje por inferencia (Wasserstein-VAE) con patrones de media móvil y oscilador estocástico

Concluimos nuestro análisis de la combinación complementaria del MA (media móvil) y el oscilador estocástico examinando qué papel puede desempeñar el aprendizaje por inferencia en un contexto posterior al aprendizaje supervisado y al aprendizaje por refuerzo. Evidentemente, existen multitud de maneras de abordar el aprendizaje por inferencia en este caso; sin embargo, nuestro enfoque consiste en utilizar autoencoders variacionales. Exploramos esto en Python antes de exportar nuestro modelo entrenado en formato ONNX para su uso en un Asesor Experto generado con el Asistente en MetaTrader 5.
preview
Características del Wizard MQL5 que debe conocer (Parte 64): Uso de los patrones de DeMarker y los canales de envolvente con el núcleo de ruido blanco

Características del Wizard MQL5 que debe conocer (Parte 64): Uso de los patrones de DeMarker y los canales de envolvente con el núcleo de ruido blanco

El oscilador DeMarker y el indicador de envolventes son herramientas de impulso y de soporte/resistencia que pueden combinarse al desarrollar un asesor experto. Retomamos el punto de nuestro artículo anterior, en el que presentamos este par de indicadores, añadiendo ahora el aprendizaje automático a la ecuación. Estamos utilizando una red neuronal recurrente que emplea un núcleo de ruido blanco para procesar señales vectorizadas procedentes de estos dos indicadores. Esto se realiza en un archivo de clase de señal personalizado que funciona con el asistente MQL5 para ensamblar un Asesor Experto.
preview
Simulación de mercado: Position View (III)

Simulación de mercado: Position View (III)

En estos últimos artículos, he mencionado que, en algunos momentos, necesitamos definir un valor para la propiedad ZOrder. ¿Pero por qué?!?! El motivo es que muchos de los códigos que agregan objetos al gráfico simplemente no usan, o mejor dicho, no definen un valor para esa propiedad. Bien, no estoy aquí para decir qué debe o no debe hacer cada programador, ni cómo debe o no debe escribir su código. Estoy aquí para mostrarte, estimado lector e interesado en comprender realmente cómo funcionan las cosas, lo que ocurre entre bastidores.
preview
Del básico al intermedio: Como burbujas de jabón

Del básico al intermedio: Como burbujas de jabón

En este artículo, se explicará un mecanismo muy simple y fácil de entender, cuyo propósito es ordenar un array cualquiera. En él, veremos que no siempre el resultado obtenido es el que esperamos tener, por lo que será necesario adaptar la propia implementación para conseguir los resultados adecuados.
preview
Simulación de mercado: Iniciando SQL en MQL5 (IV)

Simulación de mercado: Iniciando SQL en MQL5 (IV)

Muchos suelen infrautilizar SQL, o incluso no utilizarlo, porque no comprenden bien cómo funciona en realidad. Al consultar una base de datos SQL, no siempre buscamos una respuesta genérica; en algunos casos queremos una respuesta muy concreta y práctica. Si tú creas una base de datos con cierta estructuración y modelado, podrás introducir prácticamente cualquier tipo de información en ella.
preview
Redes neuronales en el trading: Segmentación periódica adaptativa (LightGTS)

Redes neuronales en el trading: Segmentación periódica adaptativa (LightGTS)

Les invitamos a explorar la innovadora técnica de segmentación adaptativa, una forma de segmentar series temporales de forma flexible en función de su periodicidad inherente. Además, se usan técnicas de codificación eficientes que permiten preservar características semánticas importantes al trabajar con datos de diferentes escalas. Estos métodos descubren nuevas posibilidades para procesar con precisión datos complejos a múltiples escalas, típicos de los mercados financieros, y mejoran significativamente la estabilidad y la validez de las previsiones.
preview
Simulación de mercado: Position View (VII)

Simulación de mercado: Position View (VII)

En este artículo, comenzaremos a realizar algunas mejoras en el indicador de posición, para poder interactuar con él y modificar las líneas de precio, o cerrar una posición directamente mediante la interacción con el indicador de posición. Antes de entrar realmente en la implementación, conviene aclarar algo, sobre todo para quienes no estén al tanto. No es posible, de ninguna manera, usar un indicador para modificar algo en el servidor de trading. Esto se debe a que MetaTrader 5 cuenta con un sistema de seguridad que permite únicamente a los Asesores Expertos actuar sobre una orden o una posición. Ninguna otra aplicación que no sea un Asesor Experto podrá manipular órdenes o posiciones.
preview
Del básico al intermedio: Eventos en objetos (I)

Del básico al intermedio: Eventos en objetos (I)

En este artículo, veré tres de los seis eventos que MetaTrader 5 puede disparar cuando algo sucede con un objeto presente en el gráfico. Estos eventos son muy útiles cuando se trata de interacción con el usuario. Esto se debe a que, sin entender estos eventos, tendrás mucho más trabajo para mantener cierta configuración en el gráfico, al intentar controlar objetos con finalidades específicas.
preview
Del básico al intermedio: Eventos en Objetos (II)

Del básico al intermedio: Eventos en Objetos (II)

En este artículo, veremos cómo funcionan los tres últimos tipos de eventos que puede disparar un objeto. Entender esto será muy divertido, ya que, al final, haremos algo que, para muchos, puede parecer una especie de locura, pero que es perfectamente posible y tiene un resultado bastante sorprendente.
preview
Del básico al intermedio: Eventos en Objetos (III)

Del básico al intermedio: Eventos en Objetos (III)

En este artículo, prepararemos el terreno para algo que se verá en el próximo artículo. ambién veremos cómo permitir que un objeto de tipo OBJ_LABEL pueda editarse y moverse de forma completamente interactiva. Es decir, podremos cambiar tanto el texto como la posición de un objeto de tipo OBJ_LABEL, sin abrir la ventana de propiedades del objeto.
preview
Acceso a la información de ticks de MetaTrader desde los servicios de MQL5 a una aplicación de Python mediante sockets

Acceso a la información de ticks de MetaTrader desde los servicios de MQL5 a una aplicación de Python mediante sockets

A veces no todo se puede programar en el lenguaje MQL5. E incluso si fuera posible convertir las bibliotecas avanzadas existentes en MQL5, llevaría mucho tiempo. Este artículo pretende demostrar que es posible sortear la dependencia de Windows transmitiendo información de ticks —como el precio bid, precio ask y hora— a través de los servicios de MetaTrader a una aplicación de Python mediante sockets.
preview
Del básico al intermedio: SandBox y MetaTrader

Del básico al intermedio: SandBox y MetaTrader

¿Sabes qué es una SandBox? ¿Sabes cómo trabajar con ella? Si la respuesta a cualquiera de estas preguntas es no, lee este artículo para entender el principio básico que hay detrás de una SandBox. Y entiende por qué MetaTrader 5 utiliza una SandBox para garantizar la integridad de algunos de sus datos. El contenido expuesto aquí tiene única y exclusivamente un objetivo didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Características del Wizard MQL5 que debe conocer (Parte 63): Uso de los patrones de DeMarker y los canales de envolvente

Características del Wizard MQL5 que debe conocer (Parte 63): Uso de los patrones de DeMarker y los canales de envolvente

El oscilador DeMarker y el indicador de envolvente son herramientas de impulso y de soporte/resistencia que pueden combinarse al desarrollar un asesor experto. Por lo tanto, examinamos patrón por patrón qué podría ser útil y qué podría evitarse. Como siempre, estamos utilizando un Asesor Experto creado mediante un asistente, junto con las funciones de uso de patrones integradas en la clase Expert Signal.
preview
Del básico al intermedio: SandBox y MetaTrader

Del básico al intermedio: SandBox y MetaTrader

¿Sabes qué es una SandBox? ¿Sabes cómo trabajar con ella? Si la respuesta a cualquiera de estas preguntas es no, lee este artículo para entender el principio básico que hay detrás de una SandBox. Y entiende por qué MetaTrader 5 utiliza una SandBox para garantizar la integridad de algunos de sus datos. El contenido expuesto aquí tiene única y exclusivamente un objetivo didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Introducción a MQL5 (Parte 19): Automatización de la detección de las ondas de Wolfe

Introducción a MQL5 (Parte 19): Automatización de la detección de las ondas de Wolfe

Este artículo explica cómo identificar mediante programación los patrones de onda de Wolfe alcistas y bajistas y cómo operar con ellos utilizando MQL5. Veremos cómo identificar las estructuras de la onda de Wolfe mediante programación y cómo ejecutar operaciones basadas en ellas utilizando MQL5. Esto incluye detectar puntos de inflexión clave, validar las reglas de los patrones y preparar el EA para que actúe en función de las señales que detecte.
preview
Redes neuronales en el trading: Previsión probabilística de series temporales (Final)

Redes neuronales en el trading: Previsión probabilística de series temporales (Final)

Le invitamos a explorar el framework K²VAE y a descubrir cómo integrar los enfoques propuestos en su sistema de negociación. Hoy aprenderá cómo el enfoque híbrido Koopman-Kalman-VAE ayuda a construir modelos adaptativos e interpretables. Al final del artículo le presentaremos los resultados prácticos del uso de las soluciones implementadas.
preview
De novato a experto: Noticias animadas utilizando MQL5 (VI) Estrategia de órdenes pendientes para el trading basado en noticias

De novato a experto: Noticias animadas utilizando MQL5 (VI) Estrategia de órdenes pendientes para el trading basado en noticias

En este artículo, nos centramos en la integración de una lógica de ejecución de órdenes basada en las noticias, lo que permite que el asesor experto actúe, y no solo informe. Acompáñanos a descubrir cómo implementar la ejecución automática de operaciones en MQL5 y convertir el asesor experto «News Headline» en un sistema de trading plenamente automatizado y capaz de responder en tiempo real. Los Asesores Expertos ofrecen ventajas significativas para los desarrolladores de algoritmos gracias a la amplia gama de funciones que admiten. Hasta ahora, nos hemos centrado en desarrollar una herramienta de presentación de noticias y eventos del calendario, que incluye paneles de análisis basados en inteligencia artificial e indicadores técnicos.
preview
Programación gráfica para principiantes (Parte I): Aprendiendo CCanvas con Crazy Scalper

Programación gráfica para principiantes (Parte I): Aprendiendo CCanvas con Crazy Scalper

Este artículo introduce la librería CCanvas en MQL5 mediante el desarrollo paso a paso de un minijuego que se ejecuta sobre el gráfico de MetaTrader 5. Se explican el sistema de coordenadas, el renderizado vectorial de formas, el canal alfa para transparencias, el bucle con temporizador, la máquina de estados, la física básica y la detección de colisiones AABB, además de la captura de teclado. Al finalizar, podrá crear superficies graficas interactivas y sentar las bases de paneles y minijuegos propios.
preview
Símbolos personalizados MQL5: Creamos un símbolo de barras 3D

Símbolos personalizados MQL5: Creamos un símbolo de barras 3D

Este artículo ofrece una guía detallada para crear el innovador indicador 3DBarCustomSymbol.mq5, que genera símbolos personalizados en MetaTrader 5 que combinan precio, tiempo, volumen y volatilidad en una única representación tridimensional. Asimismo, analizaremos los fundamentos matemáticos, la arquitectura del sistema y los aspectos prácticos de su implementación y aplicación en estrategias de negociación.
preview
De novato a experto: Noticias animadas utilizando MQL5 (VIII) Botones de operación rápida para trading de noticias

De novato a experto: Noticias animadas utilizando MQL5 (VIII) Botones de operación rápida para trading de noticias

Aunque los sistemas de trading algorítmico gestionan las operaciones de forma automatizada, muchos traders que operan en función de las noticias y los scalpers prefieren mantener un control activo durante noticias de alto impacto y en condiciones de mercado de ritmo acelerado, lo que exige una rápida ejecución y gestión de las órdenes. Esto pone de relieve la necesidad de contar con herramientas front-end intuitivas que integren fuentes de noticias en tiempo real, datos del calendario económico, análisis de indicadores, análisis basados en inteligencia artificial y controles de trading ágiles y de respuesta inmediata.
preview
Simulación de mercado: Position View (V)

Simulación de mercado: Position View (V)

A pesar de lo visto en el artículo anterior, esto parece algo simple. Allí tenemos diversos problemas y muchas cosas por resolver y hacer. Tú, estimado lector, puedes imaginar que todo es fácil y simple. De manera inocente, vas aceptando simplemente lo que se te presenta. Esto es un error del que tú, estimado lector, deberás intentar librarte. Peor que aceptar es simplemente no entender e intentar usar algo sin comprender realmente qué se está usando. No es raro, entre principiantes, pasar por la fase de copiar y pegar. Si no quieres quedarte siempre en esa fase, conviene aprender a usar ciertas herramientas. Una de las herramientas más utilizadas por los programadores es la documentación. La segunda herramienta está formada por las pruebas y los archivos de log. Aquí veremos cómo hacerlo.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte XII): Integración de una calculadora de valores Forex

Creación de un Panel de administración de operaciones en MQL5 (Parte XII): Integración de una calculadora de valores Forex

El cálculo preciso de los valores clave de las operaciones es una parte indispensable del flujo de trabajo de cualquier operador. En este artículo, analizaremos la integración de una potente herramienta —la calculadora de Forex— en el Panel de gestión de operaciones, lo que amplía aún más la funcionalidad de nuestro sistema «Trading Administrator» de múltiples paneles. A la hora de realizar operaciones, es fundamental determinar de forma eficaz el riesgo, el tamaño de la posición y el beneficio potencial, y esta nueva función está diseñada para que ese proceso sea más rápido e intuitivo dentro del panel. Veamos cómo se aplica MQL5 en la creación de paneles de trading avanzados.
preview
Redes neuronales en el trading: Previsión probabilística de series temporales (Codificador)

Redes neuronales en el trading: Previsión probabilística de series temporales (Codificador)

Le invitamos a explorar un nuevo enfoque que combina métodos clásicos y redes neuronales modernas para el análisis de series temporales. El artículo ofrece una descripción detallada de la arquitectura y los principios de funcionamiento del modelo K²VAE.
preview
Introducción a MQL5 (Parte 21): Automatización de la detección de patrones armónicos

Introducción a MQL5 (Parte 21): Automatización de la detección de patrones armónicos

Aprende a detectar y visualizar el patrón armónico de Gartley en MetaTrader 5 utilizando MQL5. Este artículo explica cada paso del proceso, desde la identificación de los puntos de oscilación hasta la aplicación de las proporciones de Fibonacci y el trazado del patrón completo en el gráfico para obtener una confirmación visual clara.
preview
Motor de decisión Multi-IA para MQL5 (Parte 2): Voto ponderado que aprende en cuál IA confiar, más gestión de riesgo

Motor de decisión Multi-IA para MQL5 (Parte 2): Voto ponderado que aprende en cuál IA confiar, más gestión de riesgo

Esta segunda parte convierte el motor multi-IA en un sistema que aprende en qué modelos confiar. Se registra cada predicción, se evalúa su acierto tras un horizonte y se actualiza un hit-rate por proveedor (EMA), para ponderar el voto por confianza × acierto real. Además, se añade gestión de riesgo: SL/TP basada en ATR con ratio recompensa-riesgo fijado en el código y tamaño de posición escalado por la confianza. Útil para pruebas de demostración.
preview
De novato a experto: Noticias animadas utilizando MQL5 (V) Sistema de recordatorio de eventos

De novato a experto: Noticias animadas utilizando MQL5 (V) Sistema de recordatorio de eventos

En esta discusión, exploraremos nuevas mejoras a medida que integramos una lógica mejorada de alertas de eventos para los acontecimientos del calendario económico que muestra el EA «News Headline». Esta mejora es fundamental, ya que garantiza que los usuarios reciban notificaciones oportunas poco antes de que tengan lugar eventos importantes. Acompáñanos en este análisis para descubrir más.
preview
Del básico al intermedio: Navegando por la SandBox

Del básico al intermedio: Navegando por la SandBox

En este artículo veremos dos formas de observar e incluso tener cierta interacción con el contenido de una SandBox, tomando MetaTrader 5 como base. Entender el contenido que se muestra en este artículo será fundamental para entender lo que se verá en los próximos artículos.