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
Del básico al intermedio: Colas, listas y árboles (II)

Del básico al intermedio: Colas, listas y árboles (II)

Este es un artículo que tú, mi estimado lector, deberás estudiar con mucha calma. Esto se debe al tipo de contenido que se explicará en él. Aunque hemos procurado mantener las cosas lo más simples y didácticas posible, el contenido presentado aquí es, sin duda, algo muy complicado para quienes se están iniciando en la programación. Sin embargo, esto no es motivo para que te desanimes o ignores lo que se explica aquí, ya que este artículo establecerá un vínculo entre dos temas completamente diferentes, aunque íntimamente relacionados.
preview
Arbitraje estadístico mediante acciones cointegradas (Parte 2): Asesor Experto, pruebas retrospectivas y optimización

Arbitraje estadístico mediante acciones cointegradas (Parte 2): Asesor Experto, pruebas retrospectivas y optimización

Este artículo presenta un ejemplo de implementación de un asesor experto para operar con una cesta de cuatro acciones del Nasdaq. Las acciones se filtraron inicialmente a partir de pruebas de correlación de Pearson. A continuación, se evaluó la cointegración del grupo filtrado mediante pruebas de Johansen. Por último, se verificó la estacionariedad del spread cointegrado mediante las pruebas ADF y KPSS. A continuación veremos algunas notas sobre este proceso y los resultados de las pruebas retrospectivas tras una pequeña optimización.
preview
Simulación de mercado: Position View (XV)

Simulación de mercado: Position View (XV)

En este artículo intentaré explicar, de la forma más sencilla posible, cómo puedes utilizar el intercambio de mensajes entre aplicaciones. El objetivo es que puedas desarrollar algo funcional de la manera más simple y eficaz, siempre que sea posible. No sé si lograré transmitir la idea que sustenta este concepto, pues no resulta fácil de asimilar para quien lo encuentra por primera vez. También aprovecharé para mostrarte cómo modificar el sistema de repetición/simulador, de modo que puedas depurar un Asesor Experto o cualquier otro código que estés desarrollando. Todo ello de una forma igualmente sencilla y directa.
preview
Procesos gaussianos en el aprendizaje automático (Parte 2): Implementación y prueba de un modelo de clasificación en MQL5

Procesos gaussianos en el aprendizaje automático (Parte 2): Implementación y prueba de un modelo de clasificación en MQL5

En esta parte analizaremos la implementación de las interfaces clave de la biblioteca de procesos gaussianos en MQL5: IKernel, ILikelihood e IInference. Además, mostraremos su funcionamiento con datos sintéticos y escribiremos indicadores de clasificación y regresión que demuestren su funcionamiento en modo online, con reentrenamiento del modelo en cada nueva barra.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (3) — Política de votación ponderada

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (3) — Política de votación ponderada

Este artículo analiza por qué determinar el número óptimo de estrategias en un conjunto puede ser una tarea compleja y cómo el optimizador genético de MetaTrader 5 facilita su resolución. MQL5 Cloud también se utiliza como recurso clave para acelerar las pruebas retrospectivas y la optimización. En síntesis, nuestro análisis aquí sienta las bases para desarrollar modelos estadísticos que permitan evaluar y mejorar las estrategias de negociación a partir de nuestros resultados iniciales del conjunto de estrategias.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte 14): Análisis de múltiples estrategias

Reimaginando las estrategias clásicas en MQL5 (Parte 14): Análisis de múltiples estrategias

En este artículo, continuamos nuestro análisis sobre cómo crear un conjunto de estrategias de trading y utilizar el optimizador genético de MT5 para ajustar los parámetros de las estrategias. Hoy hemos analizado los datos en Python, demostrando que nuestro modelo podía predecir mejor qué estrategia obtendría mejores resultados, logrando una mayor precisión que al pronosticar directamente la rentabilidad del mercado. Sin embargo, cuando probamos nuestra aplicación con sus modelos estadísticos, nuestros niveles de rendimiento se desplomaron. Posteriormente descubrimos que, lamentablemente, el optimizador genético favorecía estrategias muy correlacionadas, lo que nos llevó a revisar nuestro método para mantener fijas las ponderaciones de los votos y centrar la optimización en los ajustes de los indicadores.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (3) — Política de votación ponderada

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (3) — Política de votación ponderada

Este artículo analiza por qué determinar el número óptimo de estrategias en un conjunto puede ser una tarea compleja y cómo el optimizador genético de MetaTrader 5 facilita su resolución. MQL5 Cloud también se utiliza como recurso clave para acelerar las pruebas retrospectivas y la optimización. En síntesis, nuestro análisis aquí sienta las bases para desarrollar modelos estadísticos que permitan evaluar y mejorar las estrategias de negociación a partir de nuestros resultados iniciales del conjunto de estrategias.
preview
Operaciones CRUD en Firebase con MQL

Operaciones CRUD en Firebase con MQL

Este artículo ofrece una guía paso a paso para dominar las operaciones CRUD (Create, Read, Update, Delete; crear, leer, actualizar y eliminar) en Firebase, centrándose en su Firebase Realtime Database (base de datos en tiempo real de Firebase) y en Firestore. Descubre cómo usar los métodos del SDK de Firebase para gestionar datos de forma eficiente en aplicaciones web y móviles, desde añadir nuevos registros hasta consultar, modificar y eliminar entradas. Explora ejemplos de código prácticos y las mejores prácticas para estructurar y gestionar datos en tiempo real, lo que permite a los desarrolladores crear aplicaciones dinámicas y escalables con la arquitectura NoSQL flexible de Firebase.
preview
Del básico al intermedio: Sobrecarga de operadores (I)

Del básico al intermedio: Sobrecarga de operadores (I)

En este artículo comenzaremos a estudiar cómo se implementa la denominada sobrecarga de operadores. Primero veremos qué motiva esta implementación. También comprobaremos que las cosas no siempre son tan complicadas como parecen.
preview
Del básico al intermedio: Indicadores técnicos (I)

Del básico al intermedio: Indicadores técnicos (I)

En este artículo veremos los conceptos básicos sobre cómo utilizar los indicadores técnicos incluidos y mantenidos por MetaTrader 5. Conocer y comprender este tipo de indicadores puede hacer que la implementación de una solución sea una tarea mucho más sencilla, rápida y eficiente, ya que no necesitas preocuparte por los cálculos que deben realizarse. La propia plataforma se encarga de realizarlos por nosotros.
preview
Características del Wizard MQL5 que debe conocer (Parte 73): Uso de patrones de Ichimoku y del ADX-Wilder

Características del Wizard MQL5 que debe conocer (Parte 73): Uso de patrones de Ichimoku y del ADX-Wilder

El indicador Ichimoku Kinko Hyo y el oscilador ADX-Wilder son una combinación que podría utilizarse de forma complementaria en un asesor experto de MQL5. El Ichimoku tiene múltiples facetas; sin embargo, en este artículo nos centraremos principalmente en su capacidad para definir los niveles de soporte y resistencia. Por otra parte, también utilizamos el ADX para definir nuestra tendencia. Como de costumbre, utilizamos el asistente de MQL5 para desarrollar y probar todo el potencial que estos dos puedan tener.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 39): Automatización de la detección de BOS y ChoCH en MQL5

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 39): Automatización de la detección de BOS y ChoCH en MQL5

Este artículo presenta «Fractal Reaction System», un sistema compacto en MQL5 que convierte pivotes fractales en señales de estructura de mercado accionables. Mediante lógica de barras cerradas para evitar el repintado, el EA detecta advertencias de «cambio de carácter» (ChoCH) y confirma «rupturas de estructura» (BOS), dibuja objetos persistentes en el gráfico y registra y emite alertas de cada evento confirmado (de escritorio, móviles y sonoras). Siga leyendo para conocer el diseño del algoritmo, las notas de implementación, los resultados de las pruebas y el código completo del EA, de modo que pueda compilar, probar y desplegar el detector usted mismo.
preview
Red neuronal en la práctica: Iniciando la cadena

Red neuronal en la práctica: Iniciando la cadena

Ha llegado el momento de empezar a ver y entender cómo conectar perceptrones en una cadena. Esto nos permitirá implementar lo que conocemos como una red de perceptrones. Esta red constituye la base de todo aquello que conoces y utilizas como alguna forma de «inteligencia artificial». Sin embargo, construir una red de este tipo plantea diversos desafíos. Aquí comenzaremos a ver cuáles son.
preview
Del básico al intermedio: Colas, listas y árboles (V)

Del básico al intermedio: Colas, listas y árboles (V)

En este artículo, implementamos los primeros componentes de una estructura arbórea. Como sé que esta estructura puede resultar extremadamente compleja cuando se empieza a aprender, la implementaremos con calma y paso a paso. Así, todos podrán entender cómo funciona un árbol y cuál es el mejor momento para utilizarlo.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 10): Factorización de matrices

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 10): Factorización de matrices

La factorización es un proceso matemático que se utiliza para obtener información sobre las características de los datos. Cuando aplicamos la factorización a grandes conjuntos de datos de mercado —organizados en filas y columnas—, podemos descubrir patrones y características del mercado. La factorización es una herramienta muy potente, y en este artículo te mostraremos cómo puedes utilizarla en la plataforma MetaTrader 5, mediante la API de MQL5, para obtener una visión más profunda de tus datos de mercado.
preview
Redes neuronales en el trading: Framework de predicción cruzada de dominios de series temporales (Final)

Redes neuronales en el trading: Framework de predicción cruzada de dominios de series temporales (Final)

El artículo trata sobre la construcción práctica del modelo TimeFound para la predicción de series temporales. Asimismo, se analizan las etapas clave de la implementación de los principales enfoques del framework con MQL5.
preview
Automatización de estrategias de trading en MQL5 (Parte 30): creación de un patrón armónico AB-CD de acción del precio con información visual

Automatización de estrategias de trading en MQL5 (Parte 30): creación de un patrón armónico AB-CD de acción del precio con información visual

En este artículo, desarrollaremos en MQL5 un EA basado en el patrón AB=CD que identifica patrones armónicos AB=CD alcistas y bajistas utilizando puntos de pivote y ratios de Fibonacci, y que ejecuta operaciones con niveles precisos de entrada, stop loss y take profit. Asimismo, mejoraremos la comprensión de los traders con información visual mediante objetos gráficos.
preview
Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Final)

Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Final)

El framework Extralonger demuestra una capacidad única para integrar factores espaciales y temporales en un solo modelo, proporcionando una alta precisión en los pronósticos. Su arquitectura permite adaptarse a distintos horizontes de planificación e instrumentos financieros, manteniendo la transparencia y la capacidad de control del sistema.
preview
Del básico al intermedio: Subventanas (III)

Del básico al intermedio: Subventanas (III)

Este texto detalla el uso de subventanas en indicadores MQL5: creación básica, detección de instancias y prevención de duplicados. Aborda INDICATOR_SHORTNAME, la consulta de ventanas e indicadores del gráfico y la diferencia entre la visualización en el gráfico principal y en una ventana separada. También muestra cómo definir la altura y los límites de la subventana para estandarizar la interfaz y facilitar la disposición de objetos.
preview
Tablas en el paradigma MVC en MQL5: integramos el componente Model en el componente View

Tablas en el paradigma MVC en MQL5: integramos el componente Model en el componente View

En este artículo crearemos la primera versión del control TableControl (TableView). Se tratará de una tabla estática sencilla, creada a partir de los datos de entrada definidos por dos arrays: un array de datos y un array de encabezados de columnas.s
preview
Herramientas de trading de MQL5 (Parte 7): Panel informativo para el seguimiento de posiciones en múltiples símbolos y de la cuenta

Herramientas de trading de MQL5 (Parte 7): Panel informativo para el seguimiento de posiciones en múltiples símbolos y de la cuenta

En este artículo, desarrollamos un panel informativo en MQL5 para monitorizar posiciones en múltiples símbolos y métricas de cuenta como saldo, equidad y margen libre. Implementamos una tabla ordenable con actualizaciones en tiempo real, exportación a CSV y un efecto de encabezado brillante para mejorar la usabilidad y el atractivo visual.
preview
Redes neuronales en el trading: señales de trading estables en cualquier régimen de mercado (Módulos de atención)

Redes neuronales en el trading: señales de trading estables en cualquier régimen de mercado (Módulos de atención)

En este artículo continuaremos con la implementación de los enfoques del framework ST-Expert, centrándonos en los aspectos prácticos de su uso mediante MQL5. En artículos anteriores, hemos analizado los fundamentos teóricos y los componentes clave del modelo; ahora pasaremos a trabajar directamente con los algoritmos de atención de grafos y de distribución de atención local y global. El objetivo principal de este artículo es mostrar cómo las ideas conceptuales de ST-Expert se convierten en soluciones funcionales para el análisis y la previsión de series financieras.
preview
Del nivel básico al intermedio: Objetos y subventanas (III)

Del nivel básico al intermedio: Objetos y subventanas (III)

Este artículo describe un flujo seguro para manejar la eliminación de objetos gráficos: interceptar eventos, recrear el objeto y recuperar el conjunto mínimo de propiedades. Mostramos cómo evitar errores al trabajar con punteros, impedir recreaciones indebidas durante el cierre y guardar la posición y las dimensiones, actualizándolas mediante DRAG/CHANGE. De este modo, el indicador se mantiene íntegro y el usuario conserva parte de sus personalizaciones.
preview
Redes neuronales en el trading: Desentrañando las componentes estructuradas (Codificador)

Redes neuronales en el trading: Desentrañando las componentes estructuradas (Codificador)

Les proponemos familiarizarse con la continuación de la implementación del framework SCNN, que combina flexibilidad e interpretabilidad y permite identificar con precisión las componentes estructurales de una serie temporal. El artículo expone en detalle los mecanismos de normalización adaptativa y atención, lo que proporciona robustez al modelo ante las condiciones cambiantes del mercado.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 40): Pasaporte de ADN del mercado

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 40): Pasaporte de ADN del mercado

Este artículo analiza la identidad única de cada par de divisas desde la perspectiva de su acción del precio histórica. Inspirándonos en el concepto del ADN genético, que codifica el plano específico de cada ser vivo, aplicamos un marco similar a los mercados, considerando la acción del precio como el «ADN» de cada par. Desglosando comportamientos estructurales como la volatilidad, las oscilaciones, los retrocesos, los picos y las características de las sesiones, la herramienta revela el perfil subyacente que distingue a un par de otro. Este enfoque proporciona una visión más profunda del comportamiento del mercado y ofrece a los operadores una forma estructurada de alinear sus estrategias con las tendencias naturales de cada instrumento.
preview
Del básico al intermedio: Subventanas (II)

Del básico al intermedio: Subventanas (II)

El artículo profundiza en el uso de las subventanas en MetaTrader 5 y muestra cómo la dirección del cálculo en OnCalculate afecta a los búferes y al trazado de las medias. Explica, en la práctica, cómo se encadenan indicadores mediante FIRST INDICATOR’S DATA y PREVIOUS INDICATOR’S DATA, el efecto de la eliminación en cadena de los indicadores dependientes y cómo se comporta indicatorseparatewindow. El lector aprenderá a diagnosticar problemas de visualización y a estructurar indicadores que funcionen correctamente en subventanas.
preview
Arbitraje estadístico mediante acciones cointegradas (Parte 4): actualización del modelo en tiempo real

Arbitraje estadístico mediante acciones cointegradas (Parte 4): actualización del modelo en tiempo real

Este artículo describe un pipeline de arbitraje estadístico sencillo pero completo para operar con una cesta de acciones cointegradas. Incluye un script de Python totalmente funcional para la descarga y el almacenamiento de datos; pruebas de correlación, cointegración y estacionariedad, junto con una implementación de ejemplo de un Servicio de MetaTrader 5 para la actualización de la base de datos y el Asesor Experto correspondiente. Aquí se recogen algunas decisiones de diseño a modo de referencia y para facilitar la reproducción del experimento.
preview
Algoritmo de optimización del dingo — Dingo Optimization Algorithm (DOA)

Algoritmo de optimización del dingo — Dingo Optimization Algorithm (DOA)

En este artículo se presenta un nuevo método metaheurístico basado en las estrategias de caza de los dingos australianos: el ataque en grupo, la persecución y la búsqueda de carroña. Veamos cómo se comporta, desde el punto de vista algorítmico, el algoritmo de optimización del dingo (DOA).
preview
Automatización de estrategias de trading en MQL5 (parte 31): Creación de un sistema de patrón armónico de 3 Drivesbasado en la acción del precio

Automatización de estrategias de trading en MQL5 (parte 31): Creación de un sistema de patrón armónico de 3 Drivesbasado en la acción del precio

En este artículo, desarrollamos un sistema basado en el patrón de 3 Drives en MQL5 que identifica patrones armónicos alcistas y bajistas de 3 Drives utilizando puntos de pivote y ratios de Fibonacci, y que ejecuta operaciones con niveles personalizables de entrada, stop loss y take profit en función de las opciones seleccionadas por el usuario. Asimismo, mejoraremos la comprensión de los traders con información visual mediante objetos gráficos.
preview
Del básico al intermedio: Colas, listas y árboles (VI)

Del básico al intermedio: Colas, listas y árboles (VI)

En este artículo retomaremos la implementación de un árbol. Ahora que conocemos los conceptos básicos sobre el funcionamiento de los constructores y destructores, finalmente podremos corregir el código presentado en el último artículo. Prepárate para una verdadera aventura en la programación con MQL5.
preview
Redes neuronales en el trading: Entrenamiento de metaparámetros basado en la heterogeneidad (Final)

Redes neuronales en el trading: Entrenamiento de metaparámetros basado en la heterogeneidad (Final)

En este artículo se describe la implementación práctica del framework HimNet, basado en MQL5, listo para integrarse en el trading automatizado. Asimismo, mostramos cómo los metaparámetros adaptados a la heterogeneidad convierten el modelo en una herramienta universal capaz de hacer frente a una volatilidad cambiante.
preview
Red neuronal en la práctica: Descenso de gradiente

Red neuronal en la práctica: Descenso de gradiente

En este artículo intentaré presentar, de la forma más sencilla y didáctica posible, una de las cuestiones más controvertidas cuando se habla de redes neuronales: cómo buscar el mejor punto posible o el menor costo de una función. Mostraré la diferencia entre una regresión lineal y un descenso de gradiente. Ambos casos son bastante sencillos y sirven para demostrar que no siempre el camino que parece obvio es realmente el mejor.
preview
Red neuronal en la práctica: Perceptrón

Red neuronal en la práctica: Perceptrón

Este artículo presenta el perceptrón como base de una red neuronal y detalla su implementación en MQL5. Explicamos las funciones de activación y sus derivadas, la diferencia entre forward propagation y backpropagation, y el uso de la función de costo de mínimos cuadrados y del gradiente. Aprenderás a entrenar pesos y sesgos, validar el resultado mediante scripts de prueba y ajustar la tasa de aprendizaje para obtener una convergencia estable.
preview
Redes neuronales en el trading: Modelo de difusión adaptativa sobre grafos (SAGDFN)

Redes neuronales en el trading: Modelo de difusión adaptativa sobre grafos (SAGDFN)

En este artículo presentamos en detalle la arquitectura de SAGDFN, un framework moderno capaz de transformar el enfoque del procesamiento de datos espaciotemporales. Conserva la información clave incluso en grafos complejos y, al mismo tiempo, reduce los costos computacionales.
preview
Reimaginando las estrategias clásicas (Parte 15): Estrategia de ruptura diaria

Reimaginando las estrategias clásicas (Parte 15): Estrategia de ruptura diaria

Los traders humanos llevaban mucho tiempo participando en los mercados financieros antes del auge de los ordenadores, desarrollando reglas prácticas que guiaban sus decisiones. En este artículo, retomamos una estrategia de ruptura bien conocida para comprobar si dicha lógica de mercado, aprendida a través de la experiencia, puede competir de tú a tú con los métodos sistemáticos. Nuestros resultados muestran que, aunque la estrategia original ofrecía una alta tasa de acierto, adolecía de inestabilidad y de un control deficiente del riesgo. Al perfeccionar este enfoque, demostramos cómo los conocimientos discrecionales pueden adaptarse a estrategias de trading algorítmico más sólidas.
preview
Red neuronal en la práctica: Una cuestión de escala

Red neuronal en la práctica: Una cuestión de escala

Existe una falsa sensación, entre el público general, de que una red neuronal, o una inteligencia artificial, puede, de algún modo, comprender el mundo en el que vivimos. En algunos casos, esto incluso puede ser cierto. Pero tú, que quieres conseguir que una red neuronal, o incluso una neurona, converja más rápido, necesitas entender que la escala utilizada en los valores muchas veces termina influyendo en la velocidad de convergencia. Además, en este artículo mostraré algo extraño que ocurre en las redes neuronales. Algo que te llevará a la locura y hará que te cuestiones muchas cosas sobre el tema.
preview
Desarrollo de un indicador personalizado de matriz de rendimiento de cuenta

Desarrollo de un indicador personalizado de matriz de rendimiento de cuenta

Este indicador actúa como una herramienta para reforzar la disciplina, ya que realiza un seguimiento en tiempo real de la equity de la cuenta, las ganancias y pérdidas, y el drawdown, al tiempo que muestra un panel de rendimiento. Puede ayudar a los traders a mantener la constancia, evitar operar en exceso y cumplir las reglas de los retos de prop firm.
preview
Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Extralonger)

Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Extralonger)

El framework Extralonger muestra un enfoque para integrar factores espaciales y temporales en un único modelo, lo que permite considerar al mismo tiempo las regularidades locales y los ciclos a largo plazo. Esta arquitectura hace que la predicción de series temporales sea más resistente al ruido del mercado y permite analizar los datos en diferentes horizontes temporales. En el artículo se analiza en detalle cómo se llevan a la práctica estas ideas mediante OpenCL y MQL5.
preview
Del básico al intermedio: Indicadores técnicos (II)

Del básico al intermedio: Indicadores técnicos (II)

En este artículo mostramos cómo crear un indicador en MQL5 que dibuja múltiples medias móviles en un mismo gráfico, reduciendo el código duplicado. Se utilizan iMA, buffers de indicador, CopyBuffer, PlotIndexSetInteger/String y una estructura constante que agrupa períodos, métodos y colores. El dimensionamiento de indicatorbuffers e indicatorplots se deriva de Averange.Size(). El resultado facilita el mantenimiento y permite añadir o eliminar medias modificando únicamente una lista.
preview
Trading algorítmico de arbitraje basado en la teoría de grafos

Trading algorítmico de arbitraje basado en la teoría de grafos

En este artículo, el arbitraje triangular se presenta como un problema de búsqueda de ciclos en un grafo orientado, en el que los vértices son divisas y las aristas, pares de divisas con pesos que representan los tipos de cambio. Ciclo rentable: producto de los pesos >1. Los algoritmos de Floyd-Warshall y DFS que hemos desarrollado encuentran rutas óptimas para el cambio de divisas que permiten volver al vértice de origen con beneficio.