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
Automatización de estrategias de trading en MQL5 (Parte 32): Creación de un sistema para el patrón armónico 5 Drives basado en Price Action

Automatización de estrategias de trading en MQL5 (Parte 32): Creación de un sistema para el patrón armónico 5 Drives basado en Price Action

En este artículo, desarrollaremos un sistema basado en el patrón 5 Drives en MQL5 que identifica patrones armónicos 5 Drives alcistas y bajistas mediante puntos de pivote y ratios de Fibonacci, y ejecuta operaciones con niveles de entrada, stop loss y take profit personalizables según las opciones seleccionadas por el usuario. Asimismo, mejoraremos la comprensión de los traders con información visual mediante objetos gráficos como triángulos, líneas de tendencia y etiquetas, para mostrar con claridad la estructura del patrón A-B-C-D-E-F.
preview
Automatización del indicador del sentimiento del mercado

Automatización del indicador del sentimiento del mercado

En este artículo, automatizaremos un indicador personalizado del sentimiento del mercado que clasifica las condiciones del mercado en alcistas, bajistas, de apetito por el riesgo, de aversión al riesgo y neutras. El asesor experto ofrece información en tiempo real sobre el sentimiento predominante, al tiempo que agiliza el proceso de análisis de las tendencias o la dirección actuales del mercado.
preview
Evaluación de la calidad de la operativa con spreads en función de los factores de estacionalidad en el mercado Forex en el terminal MetaTrader 5

Evaluación de la calidad de la operativa con spreads en función de los factores de estacionalidad en el mercado Forex en el terminal MetaTrader 5

En este artículo se analiza la evaluación de la calidad del enfoque de trading estacional en el marco temporal diario, tanto para símbolos individuales como para spreads. Se presta especial atención a la identificación de ciclos mensuales recurrentes y a las posibilidades de aplicarlos en el trading durante el año en curso.
preview
Del básico al intermedio: Subventanas (I)

Del básico al intermedio: Subventanas (I)

En este artículo comenzaremos a ver cómo trabajar con subventanas en MetaTrader 5 mediante MQL5. Es un tema amplio, con varios aspectos prácticos que pueden resultar complicados, así que haremos una breve introducción. Aun así, querido lector, es importante que comprendas lo que veremos aquí, pues podría marcar una gran diferencia en tu futuro.
preview
Simplificación de bases de datos en MQL5 (Parte 1): Introducción a las bases de datos y SQL

Simplificación de bases de datos en MQL5 (Parte 1): Introducción a las bases de datos y SQL

Analizamos cómo manipular bases de datos en MQL5 utilizando las funciones nativas del lenguaje. Cubrimos todo, desde la creación de tablas, la inserción, la actualización y la eliminación de datos hasta la importación y exportación de datos, todo ello con código de ejemplo. El contenido sirve como base sólida para comprender el funcionamiento interno del acceso a los datos, allanando el camino para el análisis de los ORM, donde crearemos uno en MQL5.
preview
Ecuación simbólica de previsión del precio con SymPy

Ecuación simbólica de previsión del precio con SymPy

El artículo describe un enfoque interesante del trading algorítmico basado en ecuaciones matemáticas simbólicas, en lugar de las tradicionales «cajas negras» del aprendizaje automático. El autor muestra cómo transformar redes neuronales opacas en ecuaciones matemáticas legibles utilizando la biblioteca SymPy y la regresión polinómica, lo que permite comprender plenamente la lógica que subyace a las decisiones de trading. Este enfoque combina la potencia computacional del aprendizaje automático con la transparencia de los métodos clásicos, lo que permite a los traders analizar, ajustar y adaptar los modelos en tiempo real.
preview
Sincronización de gráficos para facilitar el análisis técnico

Sincronización de gráficos para facilitar el análisis técnico

La «Sincronización de gráficos para facilitar el análisis técnico» es una herramienta que garantiza que todos los marcos temporales de los gráficos muestren objetos gráficos coherentes, como líneas de tendencia, rectángulos o indicadores, en los distintos marcos temporales de un mismo valor. Acciones como el desplazamiento, el zoom o los cambios de símbolos se reflejan en todos los gráficos sincronizados, lo que permite a los operadores visualizar y comparar sin problemas el mismo contexto de evolución de los precios en varios marcos temporales.
preview
Creación de un sistema de trading (Parte 4): Cómo influyen las salidas aleatorias en la esperanza matemática del trading

Creación de un sistema de trading (Parte 4): Cómo influyen las salidas aleatorias en la esperanza matemática del trading

Muchos traders se han encontrado en esta situación: a menudo se ciñen a sus criterios de entrada, pero les cuesta gestionar las operaciones. Incluso con las configuraciones de entrada adecuadas, la toma de decisiones basada en las emociones —como cerrar posiciones por pánico antes de que alcancen sus niveles de take profit o de stop loss— puede provocar una curva de capital descendente. ¿Cómo se puede superar este problema y mejorar los resultados? En este artículo se abordarán estas cuestiones analizando las tasas de aciertos aleatorias y demostrando, mediante una simulación de Monte Carlo, cómo los traders pueden perfeccionar sus estrategias tomando beneficios a niveles razonables antes de alcanzar el objetivo inicial.
preview
Automatización de estrategias de trading en MQL5 (Parte 34): Sistema de ruptura de líneas de tendencia con evaluación de la calidad del ajuste mediante R²

Automatización de estrategias de trading en MQL5 (Parte 34): Sistema de ruptura de líneas de tendencia con evaluación de la calidad del ajuste mediante R²

En este artículo, desarrollamos un sistema de ruptura de líneas de tendencia en MQL5 que identifica líneas de soporte y resistencia a partir de puntos de giro, validadas mediante el coeficiente de determinación R² y restricciones angulares, para automatizar las operaciones de ruptura. Nuestro plan consiste en detectar máximos y mínimos de giro dentro de un período retrospectivo determinado, trazar líneas de tendencia con un número mínimo de puntos de contacto y validarlas mediante métricas de R² y restricciones del ángulo de inclinación para garantizar su fiabilidad.
preview
Predicción de una distribución condicional mediante un perceptrón multicapa (MLP)

Predicción de una distribución condicional mediante un perceptrón multicapa (MLP)

En este artículo, analizaremos un modelo de regresión basado en un perceptrón multicapa (MLP) que predice no solo la esperanza condicional, sino también la varianza condicional. En otras palabras, entrenaremos nuestra red para que prediga la distribución completa de los precios futuros basándose en el vector de características de entrada. Pero para ello tendremos que implementar nuestra propia función de pérdida.
preview
Automatización de estrategias de trading en MQL5 (Parte 33): Creación de un sistema basado en el patrón armónico Shark y la acción del precio

Automatización de estrategias de trading en MQL5 (Parte 33): Creación de un sistema basado en el patrón armónico Shark y la acción del precio

En este artículo, desarrollaremos en MQL5 un sistema basado en el patrón Shark que identifica patrones armónicos Shark alcistas y bajistas mediante puntos pivote y ratios de Fibonacci, y ejecuta operaciones con niveles personalizables de entrada, stop loss y take profit según las opciones seleccionadas por el usuario. Asimismo, mejoraremos la comprensión de los traders con información visual mediante objetos gráficos como triángulos, líneas de tendencia y etiquetas, para mostrar con claridad la estructura del patrón X-A-B-C-D.
preview
Pipelines en MQL5

Pipelines en MQL5

En este artículo, analizaremos un paso clave en la preparación de datos para el aprendizaje automático que está cobrando cada vez más importancia: los pipelines de preprocesamiento de datos. En esencia, supone una secuencia optimizada de pasos de transformación de datos que preparan los datos brutos antes de introducirlos en un modelo. Por muy poco interesante que pueda parecer a primera vista para quienes no estén familiarizados con el tema, esta «estandarización de datos» no solo ahorra tiempo de entrenamiento y costos de ejecución, sino que contribuye en gran medida a garantizar una mejor generalización. En este artículo nos centraremos en algunas funciones de preprocesamiento de SCIKIT-LEARN y, aunque no vamos a utilizar el asistente de MQL5, volveremos a él en próximos artículos.
preview
Superando las limitaciones del aprendizaje automático (Parte 3): Una nueva perspectiva sobre el error irreducible

Superando las limitaciones del aprendizaje automático (Parte 3): Una nueva perspectiva sobre el error irreducible

Este artículo ofrece una nueva perspectiva sobre una fuente de error geométrica y oculta que influye de forma imperceptible en todas las predicciones que realizan sus modelos. Al replantearnos cómo medimos y aplicamos las previsiones del aprendizaje automático en el ámbito del trading, ponemos de manifiesto cómo esta perspectiva, a menudo pasada por alto, puede dar lugar a decisiones más acertadas, mayores rendimientos y una forma más inteligente de trabajar con modelos que creíamos que ya entendíamos.
preview
Simplificación de bases de datos en MQL5 (Parte 2): Uso de la metaprogramación para crear entidades

Simplificación de bases de datos en MQL5 (Parte 2): Uso de la metaprogramación para crear entidades

Hoy hemos analizado el uso avanzado de #define para la metaprogramación en MQL5, creando entidades que representan tablas y metadatos de columnas (tipo, clave primaria, autoincremento, posibilidad de valores nulos, etc.). Además, hemos centralizado estas definiciones en el archivo TickORM.mqh, automatizando la generación de clases de metadatos y allanando el camino para una manipulación eficiente de los datos por parte del ORM, sin necesidad de escribir SQL manualmente.
preview
Redes neuronales en el trading: De los Transformer a las neuronas de impulsos (SpikingBrain)

Redes neuronales en el trading: De los Transformer a las neuronas de impulsos (SpikingBrain)

El framework SpikingBrain presenta un enfoque único para el procesamiento de datos: las neuronas solo responden a eventos significativos, lo que permite filtrar eficazmente el ruido. Su arquitectura basada en eventos reduce los costes computacionales al tiempo que conserva la información clave sobre la evolución de los precios. Los umbrales adaptativos y la posibilidad de utilizar módulos preentrenados garantizan la flexibilidad y la escalabilidad del modelo.
preview
Características del Wizard MQL5 que debe conocer (Parte 80): Uso de patrones Ichimoku y ADX-Wilder con aprendizaje por refuerzo TD3

Características del Wizard MQL5 que debe conocer (Parte 80): Uso de patrones Ichimoku y ADX-Wilder con aprendizaje por refuerzo TD3

Este artículo da continuidad a la "Parte 74", en la que examinamos la combinación de Ichimoku y el ADX en un marco de aprendizaje supervisado, y centra ahora la atención en el aprendizaje por refuerzo. Ichimoku y ADX forman una combinación complementaria para identificar los niveles de soporte y resistencia y determinar la fuerza de la tendencia. En esta entrega, analizamos cómo se puede utilizar el algoritmo Twin Delayed Deep Deterministic Policy Gradient (TD3) con este conjunto de indicadores. Al igual que en las partes anteriores de la serie, la implementación se realiza en una clase de señales personalizada diseñada para integrarse con el Asistente de MQL5, lo que facilita la creación de asesores expertos sin complicaciones.
preview
Reimaginando las estrategias clásicas (parte 16): Rupturas de las bandas de Bollinger dobles

Reimaginando las estrategias clásicas (parte 16): Rupturas de las bandas de Bollinger dobles

Este artículo guía al lector a través de una versión renovada de la clásica estrategia de ruptura de las bandas de Bollinger. En él se señalan las principales deficiencias del enfoque original, como su conocida propensión a las falsas rupturas. El artículo tiene como objetivo presentar una posible solución: la estrategia de trading de las bandas de Bollinger dobles. Este enfoque, relativamente menos conocido, soluciona las deficiencias de la versión clásica y ofrece una perspectiva más dinámica de los mercados financieros. Además, nos ayuda a superar las antiguas limitaciones impuestas por las normas originales, proporcionando a los traders un marco más sólido y adaptable.
preview
Algoritmo del Bisonte: Bison Algorithm (BIA)

Algoritmo del Bisonte: Bison Algorithm (BIA)

Un nuevo método de optimización, el Algoritmo del Bisonte: Bison Algorithm (BIA), utiliza dos estrategias inspiradas en el comportamiento del bisonte para resolver problemas de optimización continua con una única función objetivo. Las características clave del BIA son dos principios fundamentales inspirados en el comportamiento del bisonte: la capacidad de moverse de forma dinámica y una estrategia defensiva.
preview
Arbitraje estadístico mediante acciones cointegradas (Parte 5): Filtrado

Arbitraje estadístico mediante acciones cointegradas (Parte 5): Filtrado

Este artículo propone un proceso de filtrado de activos para una estrategia de arbitraje estadístico basada en acciones cointegradas. El sistema comienza con el filtrado habitual por factores económicos, como el sector y la industria de los activos, y concluye con una lista de criterios para un sistema de puntuación. Para cada prueba estadística utilizada en el filtrado, se desarrolló una clase de Python correspondiente: correlación de Pearson, cointegración de Engle-Granger, cointegración de Johansen y estacionariedad mediante ADF/KPSS. Estas clases de Python se incluyen junto con una nota personal del autor sobre el uso de asistentes de IA para el desarrollo de software.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 42): Pruebas interactivas en gráficos con lógica basada en botones y niveles estadísticos

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 42): Pruebas interactivas en gráficos con lógica basada en botones y niveles estadísticos

En un mundo en el que la rapidez y la precisión son fundamentales, las herramientas de análisis deben ser tan inteligentes como los mercados en los que operamos. Este artículo presenta un asesor experto (EA) basado en la lógica basada en botones: un sistema interactivo que transforma al instante los datos brutos de precios en niveles estadísticos significativos. Con un solo clic, calcula y muestra la media, la desviación estándar, los percentiles y mucho más, convirtiendo los análisis avanzados en señales claras directamente en el gráfico. Destaca las zonas en las que es más probable que el precio rebote, retroceda o rompa un nivel, lo que hace que el análisis sea más rápido y práctico.
preview
Algoritmo de búsqueda basado en cuervos — Crow Search Algorithm (CSA)

Algoritmo de búsqueda basado en cuervos — Crow Search Algorithm (CSA)

El algoritmo de búsqueda del cuervo (CSA) es una elegante metaheurística, inspirada en la capacidad de los cuervos para esconder comida y encontrar los escondites ajenos, que resuelve problemas de optimización mediante el equilibrio entre el seguimiento de soluciones exitosas y la exploración aleatoria del espacio de búsqueda. Vamos a averiguar qué rendimiento tiene el algoritmo.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 43): Probabilidad de las velas japonesas y rupturas

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 43): Probabilidad de las velas japonesas y rupturas

Mejore su análisis de mercado con el EA «Candlestick Probability», nativo de MQL5, una herramienta ligera que transforma las barras de precios sin procesar en información sobre probabilidades en tiempo real y específica para cada instrumento. Clasifica los patrones pinbar, envolvente y doji al cierre de la barra, utiliza un filtrado basado en el ATR y ofrece confirmación opcional de las rupturas. El EA calcula los porcentajes brutos y ponderados por volumen de continuación del precio en la dirección indicada por el patrón, lo que le ayuda a comprender el resultado típico de cada patrón en símbolos y marcos temporales concretos. Los marcadores en el gráfico, un panel de control compacto y los botones interactivos facilitan la validación y permiten centrarse en lo esencial. Exporte registros CSV detallados para realizar pruebas sin conexión. Úselos para elaborar perfiles de probabilidad, optimizar estrategias y convertir el reconocimiento de patrones en una ventaja cuantificable.
preview
Creación de sistemas de trading basados en IA en MQL5 (Parte 3): Actualización a una interfaz de usuario orientada a un único chat con desplazamiento

Creación de sistemas de trading basados en IA en MQL5 (Parte 3): Actualización a una interfaz de usuario orientada a un único chat con desplazamiento

En este artículo, actualizaremos el programa en MQL5 integrado con ChatGPT para dotarlo de una interfaz de usuario orientada a un único chat con desplazamiento, mejorando la visualización del historial de conversaciones mediante marcas de tiempo y desplazamiento dinámico. El sistema se basa en el análisis de JSON para gestionar mensajes de varios turnos y admite modos de barra de desplazamiento personalizables y efectos al pasar el cursor para mejorar la interacción con el usuario.
preview
Desarrollamos un asesor experto multidivisas (Parte 29): Mejoras en el proceso de optimización automatizada

Desarrollamos un asesor experto multidivisas (Parte 29): Mejoras en el proceso de optimización automatizada

Vamos a mejorar la facilidad de uso de la cadena automatizada de optimización: analizaremos el proceso desde la creación de un proyecto de optimización hasta la prueba del EA final. Para mayor claridad, repasemos todo el proceso paso a paso hasta crear el EA definitivo, deteniéndonos para realizar las correcciones que consideremos oportunas.
preview
Características del Wizard MQL5 que debe conocer (Parte 81): Uso de patrones de Ichimoku y ADX-Wilder con aprendizaje por inferencia mediante β-VAE

Características del Wizard MQL5 que debe conocer (Parte 81): Uso de patrones de Ichimoku y ADX-Wilder con aprendizaje por inferencia mediante β-VAE

Este artículo da continuidad a la «Parte 80», en la que examinamos la combinación de Ichimoku y ADX en un framework de aprendizaje por refuerzo. Ahora centraremos nuestra atención en el aprendizaje por inferencia. Como ya hemos comentado, Ichimoku y ADX son complementarios; sin embargo, vamos a repasar las conclusiones del último artículo en relación con el uso de la cadena de procesamiento. Para nuestro aprendizaje por inferencia, utilizaremos el algoritmo beta de un autocodificador variacional (VAE). Además, seguiremos utilizando una implementación de una clase de señal personalizada diseñada para integrarse con el Asistente de MQL5.
preview
Características del Wizard MQL5 que debe conocer (Parte 82): Uso de patrones del TRIX y del WPR con aprendizaje por refuerzo mediante una red Q profunda (DQN)

Características del Wizard MQL5 que debe conocer (Parte 82): Uso de patrones del TRIX y del WPR con aprendizaje por refuerzo mediante una red Q profunda (DQN)

En el último artículo, analizamos la combinación de Ichimoku y ADX en el framework del aprendizaje por inferencia. En este artículo retomamos el tema del aprendizaje por refuerzo cuando se utiliza junto con un par de indicadores que ya analizamos en la «Parte 68». El indicador TRIX y el rango porcentual de Williams. El algoritmo que usaremos en este análisis será la red Q profunda (DQN) con regresión por cuantiles. Como es habitual, presentamos este enfoque como una clase de señal personalizada diseñada para su implementación con el Asistente de MQL5.
preview
Creación de un robot probabilístico y neutral respecto al mercado basado en la distribución de rentabilidades

Creación de un robot probabilístico y neutral respecto al mercado basado en la distribución de rentabilidades

Una estrategia de negociación neutral respecto al mercado, basada en la distribución empírica de las rentabilidades, proporciona una alternativa a los métodos clásicos de análisis técnico, sustituyendo la previsión de la dirección del precio por la colocación estadística de órdenes en niveles que el precio probablemente alcanzará. El artículo analiza con detalle el marco matemático para el cálculo de los percentiles, los algoritmos de ponderación de los volúmenes de las posiciones en función de la probabilidad de ejecución y los mecanismos de adaptación a los cambios en las condiciones del mercado mediante la expiración de la red de órdenes. Así, presentamos una implementación completa en MQL5.