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
Motor de decisión Multi-IA para MQL5 (Parte 1): Integrar múltiples IA con votación por consenso

Motor de decisión Multi-IA para MQL5 (Parte 1): Integrar múltiples IA con votación por consenso

Presentamos una arquitectura en la que el EA habla con un AI Manager que consulta a OpenAI, Claude, Gemini y DeepSeek, parsea sus JSON y los convierte a un estándar AIResponse. Con un prompt común y un sistema de votación ponderada con quórum, se obtiene una señal final COMPRAR/VENDER/MANTENER. Incluye gestión de errores, temporizador y un EA mínimo para su integración práctica.
preview
Desarrollo de un sistema de repetición (Parte 43): Proyecto Chart Trade (II)

Desarrollo de un sistema de repetición (Parte 43): Proyecto Chart Trade (II)

Gran parte de las personas que quieren, o desean aprender a programar, no tienen en realidad idea de lo que están haciendo. Lo que hacen es intentar crear las cosas de una determinada manera. Sin embargo, cuando programamos no estamos realmente intentando crear una solución. Si intentas hacerlo de esta manera, generarás más problemas que soluciones. Aquí haremos algo un poco más avanzado, y por consecuencia diferente.
preview
Del básico al intermedio: Eventos (II)

Del básico al intermedio: Eventos (II)

En este artículo veremos que no siempre es necesario implementar las cosas de una u otra manera. Existen formas alternativas de hacer las cosas. Comprender los conceptos explicados en artículos anteriores es primordial para entender adecuadamente el contenido de este artículo. El contenido expuesto aquí tiene como objetivo único y exclusivo la didáctica. En ningún caso debe considerarse una aplicación final, en la que el objetivo no sea el estudio de los conceptos aquí mostrados.
preview
Desarrollando un cliente MQTT para MetaTrader 5: un enfoque TDD - Final

Desarrollando un cliente MQTT para MetaTrader 5: un enfoque TDD - Final

Este artículo es la última parte de una serie que describe nuestros pasos de desarrollo de un cliente MQL5 nativo para el protocolo MQTT 5.0. Aunque la biblioteca aún no está lista para la producción, en esta parte utilizaremos nuestro cliente para actualizar un símbolo personalizado con ticks (o precios) procedentes de otro broker. Por favor, consulte la parte inferior de este artículo para obtener más información sobre el estado actual de la biblioteca, lo que falta para que sea totalmente compatible con el protocolo MQTT 5.0, una posible hoja de ruta, y cómo seguir y contribuir a su desarrollo.
preview
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte V): Modelos profundos de Markov

Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte V): Modelos profundos de Markov

En esta discusión, aplicaremos una cadena de Markov simple en un indicador RSI, para observar cómo se comporta el precio después de que el indicador pasa por niveles clave. Concluimos que las señales de compra y venta más fuertes en el par NZDJPY se generan cuando el RSI está en el rango 11-20 y 71-80, respectivamente. Demostraremos cómo puedes manipular tus datos para crear estrategias comerciales óptimas que se aprenden directamente de los datos que tienes. Además, demostraremos cómo entrenar una red neuronal profunda para aprender a utilizar la matriz de transición de manera óptima.
preview
Redes neuronales en el trading: Representación adaptativa de grafos (NAFS)

Redes neuronales en el trading: Representación adaptativa de grafos (NAFS)

Hoy le proponemos familiarizarse con el método Node-Adaptive Feature Smoothing (NAFS), que supone un enfoque no paramétrico para crear representaciones de nodos que no requiere entrenamiento de parámetros. El NAFS extrae las características de cada nodo considerando sus vecinos y luego combina adaptativamente dichas características para formar la representación final.
preview
Observador de Connexus (Parte 8): Cómo agregar un observador de solicitudes

Observador de Connexus (Parte 8): Cómo agregar un observador de solicitudes

En esta última entrega de nuestra serie de bibliotecas Connexus, exploramos la implementación del patrón Observer, así como refactorizaciones esenciales de rutas de archivos y nombres de métodos. Esta serie cubrió todo el desarrollo de Connexus, diseñado para simplificar la comunicación HTTP en aplicaciones complejas.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 13): Herramienta RSI Sentinel

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

La evolución de los precios puede analizarse eficazmente identificando divergencias, con indicadores técnicos como el RSI que proporcionan señales de confirmación cruciales. En el siguiente artículo, explicamos cómo el análisis automatizado de divergencias del RSI puede identificar continuaciones y reversiones de tendencias, ofreciendo así información valiosa sobre el sentimiento del mercado.
preview
Redes neuronales en el trading: Framework de predicción cruzada de dominios de series temporales (TimeFound)

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

En este artículo, construiremos paso a paso el núcleo del modelo inteligente TimeFound, adaptado a tareas de pronóstico de series temporales del mundo real. Si está interesado en la implementación práctica de algoritmos de parcheo de redes neuronales en MQL5, está en el lugar correcto.
preview
Desarrollo de un sistema de repetición (Parte 46): Proyecto Chart Trade (V)

Desarrollo de un sistema de repetición (Parte 46): Proyecto Chart Trade (V)

¿Cansado de perder tiempo buscando ese archivo que es necesario para que tu aplicación funcione? ¿Qué tal si incluimos todo en el ejecutable? Así nunca perderás tiempo buscando las cosas. Sé que muchos utilizan exactamente esa forma de distribuir y guardar las cosas. Pero existe una manera mucho más adecuada. Al menos en lo que respecta a la distribución de ejecutables y almacenamiento de los mismos. La forma que explicaré aquí, puede ser de gran ayuda. Ya que puedes usar el propio MetaTrader 5 como un gran ayudante, así como el MQL5. No es algo tan complejo ni difícil de entender.
preview
Redes neuronales: así de sencillo (Parte 76): Exploración de diversos patrones de interacción con Multi-future Transformer

Redes neuronales: así de sencillo (Parte 76): Exploración de diversos patrones de interacción con Multi-future Transformer

Este artículo continúa con el tema de la predicción del próximo movimiento de los precios. Le invito a conocer la arquitectura del Transformador Multifuturo. Su idea principal es descomponer la distribución multimodal del futuro en varias distribuciones unimodales, lo que permite simular eficazmente varios modelos de interacción entre agentes en la escena.
preview
Operaciones de arbitraje en Forex: Panel de evaluación de correlaciones

Operaciones de arbitraje en Forex: Panel de evaluación de correlaciones

Hoy analizaremos la creación de un panel de arbitraje en el lenguaje MQL5. ¿Cómo obtener tipos de cambio justos en Forex de formas diferentes? En esta ocasión, crearemos un indicador para obtener las desviaciones de los precios de mercado respecto a los tipos justos, y para estimar el beneficio de las vías de arbitraje para cambiar una divisa por otra (como en el arbitraje triangular).
preview
Visión por computadora para el trading (Parte 2): Complicamos la arquitectura para el análisis 2D de imágenes RGB

Visión por computadora para el trading (Parte 2): Complicamos la arquitectura para el análisis 2D de imágenes RGB

La visión por computadora para el trading: cómo funciona y cómo se desarrolla paso a paso. Creamos un algoritmo para reconocer imágenes RGB de los gráficos de precios utilizando un mecanismo de atención y una capa LSTM bidireccional. Como resultado, obtenemos un modelo de trabajo para predecir el precio del euro-dólar con una precisión de hasta el 55% en la sección de validación.
preview
Desarrollo de un sistema de repetición (Parte 52): Esto complica las cosas (IV)

Desarrollo de un sistema de repetición (Parte 52): Esto complica las cosas (IV)

En este artículo vamos a cambiar el indicador de mouse para poder interactuar con el indicador de control, ya que esta se está realizando de forma errática.
preview
Características del Wizard MQL5 que debe conocer (Parte 37): Regresión de procesos gaussianos con núcleos Matérn y lineales

Características del Wizard MQL5 que debe conocer (Parte 37): Regresión de procesos gaussianos con núcleos Matérn y lineales

Los núcleos lineales son la matriz más simple de su tipo utilizada en el aprendizaje automático para regresión lineal y máquinas de vectores de soporte. Por otro lado, el kernel Matérn es una versión más versátil de la función de base radial que analizamos en un artículo anterior, y es apto para mapear funciones que no son tan suaves como asumiría la RBF. Creamos una clase de señal personalizada que utiliza ambos núcleos para pronosticar condiciones largas y cortas.
preview
Neurona biológica para la previsión de series temporales financieras

Neurona biológica para la previsión de series temporales financieras

Construimos un sistema de neuronas biológicamente correcto para la predicción de series temporales. La introducción de un medio similar al plasma en la arquitectura de una red neuronal ha creado una especie de "mente colectiva", en la que cada neurona influye en el trabajo del sistema no solo a través de conexiones directas, sino también mediante interacciones electromagnéticas de largo alcance. ¿Cómo se comportará el sistema de modelización neural del cerebro en el mercado?
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte XI): Interfaz moderna de funciones de comunicación (I)

Creación de un Panel de administración de operaciones en MQL5 (Parte XI): Interfaz moderna de funciones de comunicación (I)

Hoy nos centramos en mejorar la interfaz de mensajería del Panel de Comunicaciones para adaptarla a los estándares de las aplicaciones de comunicación modernas y de alto rendimiento. Esta mejora se logrará actualizando la clase CommunicationsDialog. Únase a nosotros en este artículo y debate mientras exploramos ideas clave y describimos los próximos pasos para avanzar en la programación de interfaces utilizando MQL5.
preview
Ingeniería de características con Python y MQL5 (Parte II): El ángulo del precio

Ingeniería de características con Python y MQL5 (Parte II): El ángulo del precio

Hay muchas publicaciones en el foro MQL5 pidiendo ayuda para calcular la pendiente de los cambios de precios. Este artículo demostrará una forma posible de calcular el ángulo formado por los cambios de precio en cualquier mercado en el que desee operar. Además, responderemos si vale la pena invertir el esfuerzo y el tiempo extra para diseñar esta nueva característica. Exploraremos si la pendiente del precio puede mejorar la precisión de nuestro modelo de IA al pronosticar el par USDZAR en M1.
preview
Integración de Discord con MetaTrader 5: Creación de un robot comercial con notificaciones en tiempo real

Integración de Discord con MetaTrader 5: Creación de un robot comercial con notificaciones en tiempo real

En este artículo veremos cómo integrar MetaTrader 5 y el servidor Discord para recibir notificaciones de transacciones en tiempo real desde cualquier parte del mundo. Además, aprenderemos a configurar la plataforma y Discord para asegurarnos de que las alertas se envían a Discord, y hablaremos de los problemas de seguridad que surgen al utilizar WebRequest y webhooks para estos métodos de notificación.
preview
Desarrollo de un sistema de repetición (Parte 66): Presionando play en el servicio (VII)

Desarrollo de un sistema de repetición (Parte 66): Presionando play en el servicio (VII)

En este artículo, implementaremos una primera solución para identificar cuándo puede aparecer una nueva barra en el gráfico. Esta solución es aplicable a diversas situaciones. Sin embargo, comprender su desarrollo puede ayudarte a entender varios aspectos. El contenido expuesto aquí tiene como único propósito la enseñanza. En ningún caso debe considerarse una aplicación cuyo objetivo no sea el aprendizaje y el estudio de los conceptos presentados.
preview
Desarrollando un cliente MQTT para MetaTrader 5: metodología TDD (Parte 6)

Desarrollando un cliente MQTT para MetaTrader 5: metodología TDD (Parte 6)

Este artículo supone la sexta parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT 5.0. En esta parte, describiremos los principales cambios en nuestra primera refactorización, obteniendo un borrador de trabajo de nuestras clases de construcción de paquetes, creando los paquetes PUBLISH y PUBACK y la semántica de los códigos de motivo PUBACK.
preview
Del básico al intermedio: Precedencia de operadores

Del básico al intermedio: Precedencia de operadores

Se trata, sin duda, del tema más complicado de explicar únicamente con la parte teórica. Por esta razón, te aconsejo que practiques lo que se mostrará aquí. Aunque al principio todo parezca simple, esta cuestión sobre los operadores solo se comprenderá bien con la práctica aliada a un estudio constante. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea aprender y estudiar los conceptos mostrados.
preview
Del básico al intermedio: Plantilla y Typename (V)

Del básico al intermedio: Plantilla y Typename (V)

En este artículo, veremos un último caso simple de uso de plantillas, pero también veremos cuál es la utilidad y por qué la necesidad de utilizar typename en tus códigos. Aunque este artículo pueda parecer un tanto complicado al principio, es necesario comprenderlo adecuadamente para que futuras aplicaciones que utilicen plantilla y typename, sean, de hecho, comprendidas.
preview
Redes neuronales en el trading: Modelos bidimensionales del espacio de enlaces (Final)

Redes neuronales en el trading: Modelos bidimensionales del espacio de enlaces (Final)

Continuamos nuestra introducción al innovador framework Chimera, un modelo bidimensional de espacio de estados que utiliza tecnologías de redes neuronales para analizar series temporales multidimensionales. Este método proporciona una gran precisión de predicción con un bajo costo computacional.
preview
Redes neuronales en el trading: Integración de la teoría del caos en la previsión de series temporales (Final)

Redes neuronales en el trading: Integración de la teoría del caos en la previsión de series temporales (Final)

Seguimos integrando en los modelos comerciales los métodos propuestos por los autores del framework Attraos. Recordemos que este framework usa conceptos de la teoría del caos para resolver problemas de previsión de series temporales, interpretándolos como proyecciones de sistemas dinámicos caóticos multidimensionales.
preview
Aprendizaje automático y Data Science (Parte 39): Noticias + Inteligencia artificial, ¿apostarías por ella?

Aprendizaje automático y Data Science (Parte 39): Noticias + Inteligencia artificial, ¿apostarías por ella?

Las noticias impulsan los mercados financieros, especialmente las publicaciones importantes como las de nóminas no agrícolas (NFP, por sus siglas en inglés). Todos hemos sido testigos de cómo un solo titular puede desencadenar fuertes fluctuaciones de precios. En este artículo, profundizamos en la poderosa intersección entre los datos de noticias y la Inteligencia Artificial.
preview
Redes neuronales: así de sencillo (Parte 96): Extracción multinivel de características (MSFformer)

Redes neuronales: así de sencillo (Parte 96): Extracción multinivel de características (MSFformer)

Extraer y combinar eficazmente las dependencias a largo plazo y las características a corto plazo sigue siendo una tarea importante en el análisis de series temporales. Para crear modelos predictivos precisos y fiables deberemos comprender e integrar estos adecuadamente.
preview
Kit de herramientas de negociación MQL5 (Parte 7): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente cancelada

Kit de herramientas de negociación MQL5 (Parte 7): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente cancelada

Aprenda a completar la creación del módulo final en la librería History Manager EX5, centrándose en las funciones responsables de gestionar la orden pendiente cancelada más recientemente. Esto le proporcionará las herramientas necesarias para recuperar y almacenar de manera eficiente los detalles clave relacionados con las órdenes pendientes canceladas con MQL5.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 18): Introducción a la teoría de los cuartos (III) — Quarters Board

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 18): Introducción a la teoría de los cuartos (III) — Quarters Board

En este artículo mejoramos el script Quarters original con la introducción del Quarters Board, una herramienta que te permite alternar los niveles de cuartos directamente en el gráfico sin necesidad de volver a revisar el código. Puede activar o desactivar fácilmente niveles específicos, y el EA también proporciona comentarios sobre la dirección de la tendencia para ayudarle a comprender mejor los movimientos del mercado.
preview
Negociamos con opciones sin opciones (Parte 1): Teoría básica y emulación a través de activos subyacentes

Negociamos con opciones sin opciones (Parte 1): Teoría básica y emulación a través de activos subyacentes

El artículo describe una variante de emulación de opciones a través de un activo subyacente, implementada en el lenguaje de programación MQL5. Asimismo, se comparan las ventajas y desventajas del enfoque elegido con opciones bursátiles reales utilizando el ejemplo del mercado de futuros FORTS de la bolsa de Moscú MOEX y la bolsa de criptomonedas Bybit.
preview
Características del Wizard MQL5 que debe conocer (Parte 11): Muros numéricos

Características del Wizard MQL5 que debe conocer (Parte 11): Muros numéricos

Los muros numéricos (Number Walls) son una variante de los registros de desplazamiento lineal hacia atrás (Linear Shift Back Registers) que pre-evalúan las secuencias para su predictibilidad mediante la comprobación de la convergencia. Veamos cómo se pueden utilizar estas ideas en MQL5.
preview
Características del Wizard MQL5 que debe conocer (Parte 17): Negociación con multidivisas

Características del Wizard MQL5 que debe conocer (Parte 17): Negociación con multidivisas

La negociación con varias divisas no está disponible por defecto cuando se crea un asesor experto mediante el asistente. Examinamos dos posibles trucos que los operadores pueden utilizar para poner a prueba sus ideas con más de un símbolo a la vez.
preview
Métodos de conjunto para mejorar las tareas de clasificación en MQL5

Métodos de conjunto para mejorar las tareas de clasificación en MQL5

En este artículo, presentamos la implementación de varios clasificadores de conjunto en MQL5 y analizamos su eficacia en diferentes situaciones.
preview
Explorando técnicas avanzadas de aprendizaje automático en la estrategia Darvas Box Breakout

Explorando técnicas avanzadas de aprendizaje automático en la estrategia Darvas Box Breakout

La estrategia Darvas Box Breakout, creada por Nicolas Darvas, es un enfoque técnico de negociación que detecta posibles señales de compra cuando el precio de una acción sube por encima de un rango establecido, lo que sugiere un fuerte impulso alcista. En este artículo, aplicaremos este concepto estratégico como ejemplo para explorar tres técnicas avanzadas de aprendizaje automático. Entre ellas se incluyen el uso de un modelo de aprendizaje automático para generar señales en lugar de filtrar operaciones, el empleo de señales continuas en lugar de discretas y el uso de modelos entrenados en diferentes marcos temporales para confirmar las operaciones.
preview
Creación de un sistema personalizado de detección de regímenes de mercado en MQL5 (Parte 1): Indicador

Creación de un sistema personalizado de detección de regímenes de mercado en MQL5 (Parte 1): Indicador

Este artículo detalla la creación de un sistema de detección de regímenes de mercado MQL5 utilizando métodos estadísticos como la autocorrelación y la volatilidad. Se proporciona el código para que las clases clasifiquen las condiciones de tendencia, rango y volatilidad y un indicador personalizado.
preview
Trading con algoritmos: La IA y su camino hacia las alturas doradas

Trading con algoritmos: La IA y su camino hacia las alturas doradas

En este artículo veremos un método para crear estrategias comerciales para el oro utilizando el aprendizaje automático. Considerando el enfoque propuesto para el análisis y la previsión de series temporales desde distintos ángulos, podemos determinar sus ventajas e inconvenientes en comparación con otras formas de crear sistemas comerciales basados únicamente en el análisis y la previsión de series temporales financieras.
preview
Introducción a Connexus (Parte 1): ¿Cómo utilizar la función WebRequest?

Introducción a Connexus (Parte 1): ¿Cómo utilizar la función WebRequest?

Este artículo es el comienzo de una serie de desarrollos para una biblioteca llamada “Connexus” para facilitar las solicitudes HTTP con MQL5. El objetivo de este proyecto es brindarle al usuario final esta oportunidad y mostrarle cómo utilizar esta biblioteca auxiliar. Mi intención era hacerlo lo más sencillo posible para facilitar el estudio y ofrecer la posibilidad de desarrollos futuros.
preview
Selección de características paso a paso en MQL5

Selección de características paso a paso en MQL5

En este artículo, presentamos una versión modificada de la selección de características paso a paso, implementada en MQL5. Este enfoque se basa en las técnicas descritas en Algoritmos modernos de minería de datos en C++ y CUDA C de Timothy Masters.
preview
Ondas triangulares y de sierra: herramientas para el tráder

Ondas triangulares y de sierra: herramientas para el tráder

Uno de los métodos de análisis técnico es el análisis de ondas. En este artículo nos ocuparemos de las ondas triangulares y de sierra. Usando estas ondas como base, podemos construir varios indicadores técnicos, con la ayuda de los cuales se puede analizar el movimiento de los precios en el mercado.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 08): Bloqueo del indicador

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 08): Bloqueo del indicador

En este artículo te mostraré cómo bloquear un indicador, simplemente utilizando el lenguaje MQL5, de una forma muy interesante y sorprendente.