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 20): Estrategia multisímbolo con CCI y AO

Automatización de estrategias de trading en MQL5 (Parte 20): Estrategia multisímbolo con CCI y AO

En este artículo, creamos una estrategia de trading multisimbolo utilizando los indicadores CCI y AO para captar reversiones de tendencia. Analizamos su diseño, la implementación de MQL5 y el proceso de backtesting. El artículo concluye con consejos para mejorar el rendimiento.
preview
Repetición y simulación de mercado: Gran final

Repetición y simulación de mercado: Gran final

Sé que muchos podrían haber imaginado que publicaría más artículos para explicar otros aspectos del sistema. Los elementos que faltan son sencillos de implementar. Aun así, su desarrollo te permitirá comprobar hasta qué punto estás realmente preparado.
preview
Del básico al intermedio: Sobrecarga de operadores (V)

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

En este artículo vemos cómo manipular un código para implementar una solución completamente diferente de lo que muchos creen posible en MQL5. Una observación importante: para comprender adecuadamente este contenido, es necesario haber asimilado correctamente los conceptos tratados en los artículos anteriores.
preview
Motor de decision Multi-IA para MQL5 (Parte 5): backtest del motor en el simulador de estrategias y comparacion contra reglas simples.

Motor de decision Multi-IA para MQL5 (Parte 5): backtest del motor en el simulador de estrategias y comparacion contra reglas simples.

En esta última parte se pone a prueba el motor multi-IA de la serie. Se graban los votos reales de los modelos barra por barra en XAUUSD H1 y se reproducen en el Simulador de estrategias, para compararlo con reglas simples bajo el mismo riesgo y los mismos costos, dentro y fuera de muestra. Se reportan los resultados y su causa, y se incluye un arnés de grabación y reproducción y una prueba de diagnóstico aplicable a cualquier asesor con IA.
preview
Simulación de mercado: La unión hace la fuerza (III)

Simulación de mercado: La unión hace la fuerza (III)

En este artículo presentaré nuestro sistema para simular operaciones a mercado. Aunque está prácticamente terminado, todavía quedan algunas cosas por implementar y unos pocos cambios por realizar. Sin embargo, confieso que, después de todo lo que ya hemos desarrollado, estoy cansado de seguir atrapado en la implementación de este sistema.
preview
Del básico al intermedio: Sobrecarga de operadores (IV)

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

En este artículo, haremos una primera aproximación para mostrar cómo podemos implementar la sobrecarga del operador de subíndice y también del operador de asignación, intentando ofrecer un enfoque práctico e interesante para todos. Lo que veremos aquí es solo una parte de lo que aún pretendo mostrar y que está directamente relacionado con la sobrecarga de estos operadores.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 8): Análisis de múltiples estrategias (2)

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

Únase a nosotros en nuestra próxima charla, donde combinaremos nuestras dos primeras estrategias de trading en una estrategia de trading conjunta. Demostraremos los diferentes esquemas posibles para combinar múltiples estrategias y también cómo ejercer control sobre el espacio de parámetros, para garantizar que la optimización efectiva siga siendo posible incluso a medida que aumenta el tamaño de nuestros parámetros.
preview
Simulación de mercado: La unión hace la fuerza (II)

Simulación de mercado: La unión hace la fuerza (II)

Hasta ahora, la aplicación desarrollada a lo largo de esta serie de artículos se centraba exclusivamente en simular la parte gráfica. Sin embargo, para disponer de un sistema más completo, en el que podamos probar un Asesor Experto dentro del servicio de repetición/simulador, también debemos simular el servidor de trading. Observarás que esta simulación incluirá únicamente los elementos imprescindibles. No obstante, tú, estimado lector, podrás completar las partes que falten. Como esos componentes adicionales no influyen en lo que pretendo mostrar, ya contamos con más que suficiente para desarrollar lo que hemos planificado.
preview
Del básico al intermedio: Sobrecarga de operadores (III)

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

En este artículo veremos cómo implementar la sobrecarga tanto de operadores lógicos como de operadores relacionales. Hacerlo requiere cierto cuidado y una buena dosis de atención. Un simple descuido al implementar la sobrecarga de estos operadores puede hacer que todo el código termine siendo completamente inservible. Si la sobrecarga presenta algún problema, toda una base de datos creada a partir de los resultados generados por el código deberá descartarse por completo o, como mínimo, revisarse íntegramente.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 24): Herramienta de cuantificación de la acción del precio

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 24): Herramienta de cuantificación de la acción del precio

Los patrones de velas japonesas ofrecen información valiosa sobre los posibles movimientos del mercado. Algunas velas individuales señalan la continuación de la tendencia actual, mientras que otras presagian cambios de tendencia, dependiendo de su posición dentro de la acción del precio. Este artículo presenta un Asesor Experto (EA) que identifica automáticamente cuatro formaciones clave de velas japonesas. Explore las siguientes secciones para descubrir cómo esta herramienta puede mejorar su análisis de la evolución de los precios.
preview
Simulación de mercado: La unión hace la fuerza (I)

Simulación de mercado: La unión hace la fuerza (I)

Estamos llegando a la recta final. El desarrollo del sistema de repetición/simulador está casi terminado. Es cierto que aún tendremos que completar algunas cosas, pero, en comparación con todo lo que ya hemos hecho, implementar lo que falta será sencillo. Sin embargo, todo lo que se mostrará en este artículo deberá asimilarse y comprenderse adecuadamente. Quiero que tú, estimado lector y entusiasta...
preview
Del básico al intermedio: Sobrecarga de operadores (II)

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

Este artículo puede parecer bastante confuso al principio por el contenido que presentaré. Sin embargo, he intentado presentar todo de la forma más sencilla y didáctica posible. Espero que comprendas lo que voy a mostrar aquí y que te resulte útil en algún momento.
preview
Simulación de mercado: Position View (XX)

Simulación de mercado: Position View (XX)

En este artículo veremos cómo modificar el código del indicador de posición para crear una especie de sombra que nos permita visualizar dónde se encuentra actualmente el precio que continúa vigente en el servidor de trading. Este mecanismo pretende facilitar la planificación de operaciones en las que desplazamos las líneas de stop loss o take profit. Añadir esta función, es decir, las sombras de precio, puede parecer extremadamente complejo. En este artículo mostraré que puedes implementarla de una forma muy sencilla y práctica.
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
De novato a experto: Trayectorias predictivas del precio

De novato a experto: Trayectorias predictivas del precio

Los niveles de Fibonacci proporcionan un marco práctico que los mercados suelen respetar, destacando las zonas de precios donde es más probable que se produzcan reacciones. En este artículo, desarrollamos un asesor experto que aplica la lógica de retroceso de Fibonacci para anticipar posibles movimientos futuros y operar con retrocesos mediante órdenes pendientes. En este artículo recorremos todo el flujo de trabajo, desde la detección de oscilaciones hasta la representación gráfica de niveles, los controles de riesgo y la ejecución.
preview
Introducción a MQL5 (Parte 27): Cómo dominar las API y la función WebRequest() en MQL5

Introducción a MQL5 (Parte 27): Cómo dominar las API y la función WebRequest() en MQL5

Este artículo explica cómo utilizar la función WebRequest() y las API en MQL5 para comunicarse con plataformas externas. Aprenderá a crear un bot de Telegram, obtener identificadores de chat y de grupo, y enviar, editar y eliminar mensajes directamente desde MT5, sentando así una base sólida para dominar la integración de API en tus futuros proyectos MQL5.
preview
Simulación de mercado: Position View (XIX)

Simulación de mercado: Position View (XIX)

Una de las cuestiones que más me ha incomodado es que la clase C_ElementsTrade contenga código que permite acceder a las posiciones. No lo interpretes como un fallo, porque en realidad no lo es. Sin embargo, hace que algunas de las tareas que deberemos realizar más adelante sean algo más propensas a errores. Todo el trabajo destinado a implementar el indicador de posición se ha desarrollado pensando en utilizarlo dentro del sistema de repetición/simulador. Sin embargo, cuando se ejecute en ese entorno, no tendremos acceso alguno a una posición real. Por tanto, cualquier llamada a la biblioteca de MQL5 destinada a consultar datos de una posición no tendrá ningún efecto en el código.
preview
Del básico al intermedio: Colas, listas y árboles (VIII)

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

En este artículo veremos cómo implementar un algoritmo de equilibrado del árbol. Lo que presentaré aquí es mi propuesta para implementar este algoritmo. Existen muchos otros algoritmos con el mismo objetivo. Sin embargo, cada uno tiene sus ventajas y sus inconvenientes. Depende de ti, mi querido lector, estudiarlos y encontrar el que mejor se adapte a tus necesidades.
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.