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
Características del Wizard MQL5 que debe conocer (Parte 71): Uso de los patrones del MACD y del OBV

Características del Wizard MQL5 que debe conocer (Parte 71): Uso de los patrones del MACD y del OBV

El oscilador de convergencia-divergencia de la media móvil (MACD) y el oscilador de volumen en equilibrio (OBV) son otro par de indicadores que podrían utilizarse conjuntamente en un asesor experto de MQL5. Esta combinación, tal y como es habitual en esta serie de artículos, resulta complementaria, ya que el MACD confirma las tendencias, mientras que el OBV analiza el volumen. Como de costumbre, utilizamos el asistente de MQL5 para desarrollar y probar todo el potencial que estos dos puedan tener.
preview
Simulación de mercado: Position View (XVIII)

Simulación de mercado: Position View (XVIII)

En este artículo mostré, de la forma más didáctica posible, cómo puedes modificar y desarrollar un código capaz de cumplir determinados objetivos alterando lo mínimo posible un código ya existente. Añadiremos un indicador de volumen y, al mismo tiempo, impediremos que el usuario u operador elimine los objetos que se están creando por el indicador de posición.
preview
Del básico al intermedio: Colas, listas y árboles (VII)

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

En este artículo mostraremos y explicaremos con claridad cómo se elimina un nodo de un árbol. Este proceso suele confundir a los principiantes más que ayudarlos a comprender cómo se lleva a cabo y por qué debe realizarse de una forma determinada.
preview
De novato a experto: Trading con filtrado temporal

De novato a experto: Trading con filtrado temporal

El hecho de que los ticks lleguen constantemente no significa que cada momento sea una oportunidad para operar. Hoy, realizaremos un estudio en profundidad del arte de la sincronización, centrándonos en el desarrollo de un algoritmo de aislamiento temporal para ayudar a los operadores a identificar y operar dentro de sus ventanas de mercado más favorables. Cultivar esta disciplina permite a los traders minoristas sincronizarse más estrechamente con el timing institucional, donde la precisión y la paciencia suelen ser clave para el éxito. Acompáñanos en esta discusión mientras exploramos la ciencia del timing y el trading selectivo a través de las capacidades analíticas de MQL5.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte 13): Llevando nuestra estrategia de cruce a nuevas dimensiones (Parte 2)

Reimaginando las estrategias clásicas en MQL5 (Parte 13): Llevando nuestra estrategia de cruce a nuevas dimensiones (Parte 2)

Únase a nosotros en nuestra discusión mientras buscamos mejoras adicionales para nuestra estrategia de cruce de medias móviles con el fin de reducir el retraso en nuestra estrategia de negociación a niveles más confiables, aprovechando nuestras habilidades en ciencia de datos. Es un hecho ampliamente estudiado que aumentar la dimensionalidad de los conjuntos de datos puede, en ocasiones, mejorar el rendimiento de los modelos de aprendizaje automático. Demostraremos qué significa esto en la práctica para usted como trader y le mostraremos cómo puede aprovechar este poderoso principio utilizando su terminal MetaTrader 5.
preview
Simulación de mercado: Position View (XVII)

Simulación de mercado: Position View (XVII)

En el artículo anterior hicimos que el indicador mostrara el resultado financiero. Sin embargo, no a todos les gusta utilizar este modo de visualización. El motivo puede variar de un operador a otro, aunque en algunos casos me parece bastante razonable y justificable. Adaptar el código para ofrecer esta posibilidad no es, ni mucho menos, una de las tareas más complejas. En realidad, se trata de algo bastante sencillo. En este artículo veremos cómo hacerlo.
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
Introducción a MQL5 (Parte 26): Creación de un EA basado en zonas de soporte y resistencia

Introducción a MQL5 (Parte 26): Creación de un EA basado en zonas de soporte y resistencia

Este artículo te enseña cómo crear un Asesor Experto MQL5 que detecta automáticamente las zonas de soporte y resistencia y ejecuta operaciones basándose en ellas. Aprenderás a programar tu EA para identificar estos niveles clave del mercado, monitorear las reacciones de los precios y tomar decisiones de trading sin intervención manual.
preview
Del básico al intermedio: Clases (III)

Del básico al intermedio: Clases (III)

En este artículo veremos cómo controlar mejor el código cuando trabajamos con programación orientada a objetos. Aunque apenas estamos comenzando a estudiar la programación orientada a objetos, lo que veremos aquí te ayudará a comprender diversos aspectos. También reducirá las dudas que puedan surgir más adelante.
preview
Simulación de mercado: Position View (XVI)

Simulación de mercado: Position View (XVI)

En este artículo realizaremos las modificaciones necesarias para que el indicador de posición muestre un resultado financiero. De este modo, el operador podrá hacerse una idea del resultado financiero que se obtiene con una posición abierta. Además, compartiré contigo algo que muchos desconocen, incluso quienes llevan mucho tiempo utilizando MQL5: cómo utilizar variables estáticas para compartir memoria y evitar declarar una variable global en el código principal.
preview
Del básico al intermedio: Clases (II)

Del básico al intermedio: Clases (II)

Este artículo busca ser lo más didáctico posible, porque el tema que abordaremos ya suele generar bastante confusión. Por eso, mi querido lector, intenta poner en práctica lo que se explica aquí. Ante cualquier duda, no dejes de comentar, pues comprender los destructores no es precisamente una de las tareas más sencillas.
preview
Aprendizaje automático y Data Science (Parte 44): Pronóstico de series temporales OHLC de Forex mediante autorregresión vectorial (VAR)

Aprendizaje automático y Data Science (Parte 44): Pronóstico de series temporales OHLC de Forex mediante autorregresión vectorial (VAR)

Descubra cómo los modelos de autorregresión vectorial (VAR) pueden pronosticar datos de series temporales OHLC (apertura, máximo, mínimo y cierre) del mercado Forex. Este artículo trata sobre la implementación de VAR, el entrenamiento de modelos y la previsión en tiempo real en MetaTrader 5, lo que ayuda a los traders a analizar los movimientos interdependientes de las divisas y a mejorar sus estrategias de trading.
preview
De novato a experto: Períodos del mercado Forex

De novato a experto: Períodos del mercado Forex

Cada período de mercado tiene un principio y un final, y cada uno cierra con un precio que define su sentimiento, al igual que cualquier sesión de velas japonesas. Comprender estos puntos de referencia nos permite evaluar el estado de ánimo predominante del mercado, revelando si las fuerzas alcistas o bajistas tienen el control. En este análisis, damos un paso importante al desarrollar una nueva función dentro del Sincronizador de Períodos de Mercado, que visualiza las sesiones del mercado Forex para facilitar la toma de decisiones de trading más informadas. Esta herramienta puede ser especialmente útil para identificar, en tiempo real, qué bando —alcistas o bajistas— domina la sesión. Exploremos este concepto y descubramos las conclusiones que ofrece.
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
Dominando los registros (Parte 8): Registros de errores con traducción automática

Dominando los registros (Parte 8): Registros de errores con traducción automática

En esta octava entrega de la serie «Dominando los registros», exploramos la implementación de mensajes de error multilingües en Logify, una potente biblioteca de registro de eventos para MQL5. Aprenderás a estructurar los errores con contexto, traducir mensajes a varios idiomas y formatear registros dinámicamente según su nivel de gravedad. Todo ello con un diseño limpio, extensible y listo para la producción.
preview
Optimización por Comunidad de Científicos: Teoría

Optimización por Comunidad de Científicos: Teoría

Secretos para la optimización efectiva de estrategias de trading en enfoques metaheurísticos. El algoritmo de Optimización de Comunidad de Científicos (CoSO) es un nuevo algoritmo basado en la población, inspirado en los mecanismos de la comunidad científica. A diferencia de las metáforas naturales tradicionales, el CoSO modela aspectos únicos de la actividad científica humana: la publicación de resultados en revistas, la competencia por subvenciones y la formación de equipos de investigación.
preview
Introducción a MQL5 (Parte 25): Creación de un asesor experto (EA) que opere a partir de objetos del gráfico (II)

Introducción a MQL5 (Parte 25): Creación de un asesor experto (EA) que opere a partir de objetos del gráfico (II)

Este artículo explica cómo crear un Asesor Experto (EA) que interactúe con los objetos del gráfico, en particular con las líneas de tendencia, para identificar y operar con oportunidades de ruptura y reversión. Aprenderás cómo el Asesor Experto (EA) confirma las señales válidas, gestiona la frecuencia de las operaciones y mantiene la coherencia con las estrategias seleccionadas por el usuario.
preview
Simulación de mercado: Position View (XIV)

Simulación de mercado: Position View (XIV)

Ahora implementaremos esta solución porque MQL5 sigue el mismo principio que la programación basada en eventos. Los desarrolladores utilizan este modelo con frecuencia al crear DLL. Sé que, al principio, el funcionamiento basado en eventos parecerá confuso y carente de lógica. Pero, en este artículo, presentaré los principios de la programación basada en eventos con mayor claridad para que tú, que estás empezando, comprendas adecuadamente su funcionamiento. Entender lo que comenzaré a explicar en este artículo te ayudará en tu vida como programador.
preview
Del básico al intermedio: Clases (I)

Del básico al intermedio: Clases (I)

En este artículo explicamos qué es una clase y por qué surgió este concepto. Aunque el tema es interesante, aquí nos centraremos en los principios que rigen la programación en MQL5. Este artículo es solo una introducción.
preview
Simulación de mercado: Position View (XIII)

Simulación de mercado: Position View (XIII)

En este artículo mostraré cómo implementar, sin mucho esfuerzo, una indicación que muestre si una posición genera pérdidas o beneficios. El procedimiento es sencillo y eficaz. Incluso sin grandes conocimientos, este indicador te permitirá reconocer con facilidad cuándo conviene cerrar una posición. Así evitarás resultados inesperados, ya que el cálculo refleja el resultado efectivo que produciría el cierre de la posición.
preview
Características del Wizard MQL5 que debe conocer (Parte 70): Uso de patrones del SAR y el RVI con una red de kernel exponencial

Características del Wizard MQL5 que debe conocer (Parte 70): Uso de patrones del SAR y el RVI con una red de kernel exponencial

Retomamos nuestro último artículo, donde presentamos el par de indicadores SAR y RVI, y ahora analizamos cómo se podría ampliar este par de indicadores con el aprendizaje automático. SAR y RVI forman una combinación complementaria de tendencia e impulso. Nuestro enfoque de aprendizaje automático usa una CNN 1D con escalado exponencial en el tamaño de los kernels y en el número de canales, al tiempo que ajusta las previsiones de este par de indicadores. Como siempre, esto se realiza en un archivo de clase de señal personalizado que funciona con el asistente MQL5 para ensamblar un Asesor Experto.
preview
Algoritmo de Aprendizaje Competitivo — Competitive Learning Algorithm (CLA)

Algoritmo de Aprendizaje Competitivo — Competitive Learning Algorithm (CLA)

El artículo presenta el Algoritmo de Aprendizaje Competitivo (CLA), un nuevo método de optimización metaheurística basado en la modelización del proceso educativo. El algoritmo organiza la población de soluciones en clases con estudiantes y profesores, donde los agentes aprenden a través de tres mecanismos: siguiendo a los mejores de la clase, usando la experiencia personal y compartiendo conocimientos entre clases.
preview
De novato a experto: Revelando las sombras de las velas japonesas (mechas)

De novato a experto: Revelando las sombras de las velas japonesas (mechas)

En este análisis, damos un paso adelante para descubrir la acción del precio subyacente que se esconde tras las mechas de las velas japonesas. Al integrar una función de visualización de mechas en el Market Periods Synchronizer, mejoramos la herramienta con mayor profundidad analítica e interactividad. Este sistema mejorado permite a los traders visualizar los rechazos de precios en marcos temporales superiores directamente en gráficos de marcos temporales inferiores, revelando estructuras detalladas que antes estaban ocultas.
preview
Redes neuronales en el trading: Modelo multidimensional de extremo a extremo para la previsión de series temporales (Final)

Redes neuronales en el trading: Modelo multidimensional de extremo a extremo para la previsión de series temporales (Final)

Les presentamos la parte final de la serie dedicada a GinAR, un framework de red neuronal para la predicción de series temporales. En este artículo, vamos a analizar los resultados de las pruebas realizadas al modelo con datos nuevos y a evaluar su robustez en condiciones reales de mercado.
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
Simulación de mercado: Position View (XII)

Simulación de mercado: Position View (XII)

En este artículo, aprenderás a crear una señal visual en tu plataforma de trading para identificar directamente en el gráfico si la posición es larga o corta, sin necesidad de acceder al terminal. Además, el texto aborda la implementación de una funcionalidad que mejora la visualización al mover las líneas de take profit y stop loss, ocultando la línea horizontal que sigue al cursor del mouse mientras se reposicionan dichas líneas para evitar confusiones. La lectura ofrece conocimientos prácticos para personalizar sistemas de simulación de mercado.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 28): Herramienta de ruptura del rango de apertura

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 28): Herramienta de ruptura del rango de apertura

Al comienzo de cada sesión de negociación, la tendencia direccional del mercado a menudo solo se hace evidente después de que el precio supera el rango de apertura. En este artículo, exploramos cómo crear un Asesor Experto MQL5 que detecte y analice automáticamente las rupturas del rango de apertura, proporcionándole señales oportunas basadas en datos para realizar entradas intradía con confianza.
preview
Redes neuronales en el trading: Modelo multidimensional de extremo a extremo para la previsión de series temporales (Componentes principales)

Redes neuronales en el trading: Modelo multidimensional de extremo a extremo para la previsión de series temporales (Componentes principales)

Hoy les invitamos a explorar una nueva implementación de los componentes clave del framework GinAR, un algoritmo adaptativo para trabajar con series temporales de grafos. El artículo ofrece un análisis paso a paso de la arquitectura y los algoritmos de propagación directa e inversa del error.
preview
Introducción a MQL5 (Parte 24): Creación de un asesor experto (EA) que opere a partir de objetos del gráfico

Introducción a MQL5 (Parte 24): Creación de un asesor experto (EA) que opere a partir de objetos del gráfico

En este artículo se explica cómo crear un asesor experto que detecte las zonas de soporte y resistencia trazadas en el gráfico y ejecute operaciones automáticamente en función de ellas.
preview
Automatización de estrategias de trading en MQL5 (Parte 18): Estrategia de scalping «Trend Bounce» con envolventes: Ejecución de operaciones y gestión del riesgo (Parte II)

Automatización de estrategias de trading en MQL5 (Parte 18): Estrategia de scalping «Trend Bounce» con envolventes: Ejecución de operaciones y gestión del riesgo (Parte II)

En este artículo, implementamos la ejecución de operaciones y la gestión de riesgos para la estrategia de scalping Envelopes Trend Bounce en MQL5. Implementamos la apertura de órdenes y controles de riesgo, como la orden de stop-loss y el dimensionamiento de posiciones. Concluimos con el backtesting y la optimización, partiendo de los fundamentos de la Parte 18.
preview
De novato a experto: Utilidad de control de parámetros

De novato a experto: Utilidad de control de parámetros

Imagínese transformar las propiedades de entrada tradicionales de un EA o indicador en una interfaz de control en tiempo real directamente en el gráfico. Este análisis se basa en nuestro trabajo fundamental sobre el indicador Market Periods Synchronizer, lo que supone una evolución significativa en la forma en que visualizamos y gestionamos las estructuras de mercado en marcos temporales superiores (HTF). Aquí, convertimos ese concepto en una herramienta totalmente interactiva: un panel de control que ofrece control dinámico y una visualización mejorada de la acción del precio en múltiples períodos directamente en el gráfico. Acompáñanos a explorar cómo esta innovación transforma la manera en que los traders interactúan con sus herramientas.
preview
Características del Wizard MQL5 que debe conocer (Parte 69): Uso de patrones del SAR y del RVI

Características del Wizard MQL5 que debe conocer (Parte 69): Uso de patrones del SAR y del RVI

El Parabolic SAR (SAR) y el Relative Vigor Index (RVI) son otro par de indicadores que podrían utilizarse conjuntamente en un asesor experto de MQL5. Este par de indicadores, al igual que los que hemos analizado anteriormente, también es complementario, ya que el SAR define la tendencia mientras que el RVI evalúa el impulso. Como de costumbre, utilizamos el asistente MQL5 para construir y probar cualquier potencial que pueda tener este emparejamiento de indicadores.
preview
Introducción a MQL5 (Parte 23): Automatización de la estrategia de ruptura del rango de apertura (ORB)

Introducción a MQL5 (Parte 23): Automatización de la estrategia de ruptura del rango de apertura (ORB)

Este artículo explora cómo crear un Asesor Experto de Ruptura de Rango de Apertura (ORB, por sus siglas en inglés) en MQL5. Explica cómo el Asesor Experto (EA) identifica las rupturas del rango inicial del mercado y abre operaciones en consecuencia. También aprenderás a controlar el número de posiciones abiertas y a establecer una hora límite específica para detener las operaciones automáticamente.
preview
Aprendizaje automático y Data Science (Parte 43): Detección de patrones ocultos en datos de indicadores con modelos de mezcla gaussiana latente (LGMM)

Aprendizaje automático y Data Science (Parte 43): Detección de patrones ocultos en datos de indicadores con modelos de mezcla gaussiana latente (LGMM)

¿Alguna vez has mirado un gráfico y has tenido esa extraña sensación... de que hay un patrón oculto justo debajo de la superficie? ¿Un código secreto que podría revelar hacia dónde se dirigen los precios si tan solo pudieras descifrarlo? Les presentamos LGMM, el detector de patrones ocultos del mercado. Un modelo de aprendizaje automático que ayuda a identificar esos patrones ocultos en el mercado.
preview
Motor de decisión Multi-IA para MQL5 (Parte 4): ¿El multi-IA le gana a una sola IA? Diario, scorecard y costo

Motor de decisión Multi-IA para MQL5 (Parte 4): ¿El multi-IA le gana a una sola IA? Diario, scorecard y costo

Esta parte añade la capa de evaluación al motor multi-IA. Cada ciclo queda registrado en un diario con la señal y la confianza de cada proveedor y el voto combinado; al vencer el horizonte, se califica a cada IA como si la siguiéramos sola y se compara en igualdad de condiciones. Además, se estima el costo de las llamadas y se muestra un cuadro de mando en el gráfico y un CSV para decidir si el conjunto aporta y qué modelo conviene podar o ajustar.
preview
De novato a experto: Sincronizador de períodos de mercado

De novato a experto: Sincronizador de períodos de mercado

En este análisis, presentamos una herramienta de sincronización de marcos temporales superiores a inferiores, diseñada para resolver el problema del análisis de patrones de mercado que abarcan períodos de tiempo superiores. Los marcadores de período integrados en MetaTrader 5 suelen ser limitados, rígidos y no se pueden personalizar fácilmente para marcos temporales no estándar. Nuestra solución aprovecha el lenguaje MQL5 para desarrollar un indicador que proporciona una forma dinámica y visual de alinear estructuras de marcos temporales superiores dentro de gráficos de marcos temporales inferiores. Esta herramienta puede resultar muy valiosa para realizar análisis de mercado detallados. Para conocer mejor sus características e implementación, le invito a seguir la discusión.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias

¿Cuál es la mejor manera de combinar múltiples estrategias para crear una estrategia de conjunto eficaz? Únete a nosotros en este debate mientras analizamos cómo integrar tres estrategias diferentes en nuestra aplicación de trading. Los operadores suelen emplear estrategias especializadas para abrir y cerrar posiciones, y queremos saber si nuestras máquinas pueden realizar esta tarea mejor. Para esta introducción nos familiarizaremos con las funcionalidades del probador de estrategias y los principios de la programación orientada a objetos que necesitaremos para esta tarea.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 7): Trading con múltiples períodos simultáneamente

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 7): Trading con múltiples períodos simultáneamente

En esta serie de artículos, hemos analizado diversas formas de determinar cuál es el mejor período para utilizar nuestros indicadores técnicos. Hoy, demostraremos al lector cómo puede aplicar la lógica opuesta; es decir, en lugar de elegir un único período óptimo, le mostraremos cómo emplear todos los períodos disponibles de forma eficaz. Este enfoque reduce la cantidad de datos descartados y ofrece casos de uso alternativos para los algoritmos de aprendizaje automático, más allá de la predicción habitual de precios.
preview
Introducción a MQL5 (Parte 22): Creación de un Asesor Experto para el patrón armónico 5-0

Introducción a MQL5 (Parte 22): Creación de un Asesor Experto para el patrón armónico 5-0

Este artículo explica cómo detectar y operar con el patrón armónico 5-0 en MQL5, validarlo utilizando niveles de Fibonacci y mostrarlo en el gráfico.
preview
Del básico al intermedio: Colas, listas y árboles (IV)

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

En este artículo, finalizaremos la parte relativa a la implementación y explicación de una lista enlazada. Sin embargo, la implementación mostrada aquí no incluirá cierto detalle que podemos implementar en una lista enlazada. Esto se verá más adelante, en otro artículo.