Artículos sobre programación en el lenguaje 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
Aprendizaje automático y Data Science (Parte 42): Pronóstico de series temporales de Forex con ARIMA en Python, todo lo que necesitas saber

Aprendizaje automático y Data Science (Parte 42): Pronóstico de series temporales de Forex con ARIMA en Python, todo lo que necesitas saber

ARIMA, siglas de AutoRegressive Integrated Moving Average —en español, “modelo autorregresivo integrado de media móvil”—, es un potente modelo tradicional de pronóstico de series temporales. Gracias a su capacidad para detectar picos y fluctuaciones en los datos de una serie temporal, este modelo puede realizar predicciones precisas sobre los valores siguientes. En este artículo, vamos a entender qué es, cómo funciona, qué se puede hacer con él para predecir los próximos precios del mercado con gran precisión y mucho más.
preview
Minería de datos de los balances de los bancos centrales y obtención de un panorama de la liquidez global

Minería de datos de los balances de los bancos centrales y obtención de un panorama de la liquidez global

La minería de datos del balance de los bancos centrales ofrece una imagen de la liquidez global en el mercado Forex y en las divisas clave. Hoy combinaremos datos de la Fed, el BCE, el BOJ y el PBoC en un índice compuesto y utilizaremos el aprendizaje automático para descubrir patrones ocultos. Este enfoque convierte los datos sin procesar en señales comerciales reales combinando el análisis fundamental y técnico.
preview
Aprendizaje automático y Data Science (Parte 41): Detección de patrones en los mercados de divisas y de valores mediante YOLOv8

Aprendizaje automático y Data Science (Parte 41): Detección de patrones en los mercados de divisas y de valores mediante YOLOv8

Detectar patrones en los mercados financieros es un reto porque implica ver lo que aparece en el gráfico, algo difícil de realizar en MQL5 debido a las limitaciones de las imágenes. En este artículo, vamos a analizar un modelo eficaz creado en Python que nos ayuda a detectar patrones presentes en el gráfico con un mínimo esfuerzo.
preview
Características del Wizard MQL5 que debe conocer (Parte 55): SAC con Prioritized Experience Replay (PER)

Características del Wizard MQL5 que debe conocer (Parte 55): SAC con Prioritized Experience Replay (PER)

Los búferes de reproducción en el aprendizaje por refuerzo son especialmente importantes con algoritmos fuera de política como DQN o SAC. Esto pone entonces el foco en el proceso de muestreo de este búfer de memoria. Mientras que las opciones predeterminadas con SAC, por ejemplo, utilizan una selección aleatoria de este búfer, los búferes de reproducción de experiencia priorizada ajustan esto mediante un muestreo del búfer basado en una puntuación TD. Repasamos la importancia del aprendizaje por refuerzo y, como siempre, examinamos solo esta hipótesis (no la validación cruzada) en un asesor experto creado por un asistente.
preview
Del básico al intermedio: Objetos (III)

Del básico al intermedio: Objetos (III)

En este artículo veremos cómo podemos implementar un sistema de interacción muy atractivo e interesante, sobre todo para quienes están empezando a practicar programación en MQL5. No se trata de algo realmente nuevo. La forma en que abordaré el tema hará que todo sea mucho más fácil de entender, ya que veremos, en la práctica, cómo se desarrolla una programación estructural con un objetivo bastante divertido.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte X): Interfaz basada en recursos externos

Creación de un Panel de administración de operaciones en MQL5 (Parte X): Interfaz basada en recursos externos

Actualmente estamos aprovechando las capacidades de MQL5 para utilizar recursos externos, como imágenes en formato BMP, para crear una interfaz de inicio con un estilo único para el Panel de Administración de Operaciones. La estrategia que se muestra aquí resulta especialmente útil al empaquetar múltiples recursos, incluyendo imágenes, sonidos y más, para una distribución más eficiente. En este artículo exploramos cómo se implementan estas características para ofrecer una interfaz moderna y visualmente atractiva para nuestro New_Admin_Panel EA.
preview
Red neuronal en la práctica: la práctica lleva a la perfección

Red neuronal en la práctica: la práctica lleva a la perfección

En este artículo, mostraré cómo un simple cambio en el código, a fin de hacer que la neurona sea un poco más especializada, puede hacer que la fase de entrenamiento sea considerablemente más rápida Puesto que, una vez que la neurona, o red neuronal, como se verá más adelante, ya haya sido entrenada, el trabajo que realice será mucho más rápido. También hablaré de un problema que existe y que pocos mencionan
preview
Redes neuronales en el trading: Transformer parámetro-eficiente con atención segmentada (PSformer)

Redes neuronales en el trading: Transformer parámetro-eficiente con atención segmentada (PSformer)

Hoy proponemos al lector un primer contacto con el nuevo framework PSformer, que adapta la arquitectura del Transformer vainilla para resolver problemas de previsión de series temporales multidimensionales. El framework se basa en dos innovaciones clave: el mecanismo de compartición de parámetros (PS) y la atención a los segmentos espaciotemporales (SegAtt).
preview
Del básico al intermedio: Eventos de mouse

Del básico al intermedio: Eventos de mouse

Este artículo es uno de esos en los que, definitivamente, no basta con ver el código y estudiarlo para entender qué ocurre. De hecho, es necesario crear una aplicación ejecutable y usarla en cualquier gráfico. Esto, para poder entender pequeños detalles que, de otro modo, son muy complicados de comprender. Como, por ejemplo, la combinación del teclado con el mouse para construir ciertos tipos de cosas.
preview
Desarrollamos un asesor experto multidivisas (Parte 28): Añadimos un gestor de cierre de posiciones

Desarrollamos un asesor experto multidivisas (Parte 28): Añadimos un gestor de cierre de posiciones

Cuando se ejecutan varias estrategias en paralelo, resulta recomendable cerrar periódicamente todas las posiciones abiertas y volver a empezar las estrategias. El código existente solo permite implementar este comportamiento con manipulaciones manuales. Vamos a intentar automatizar esta parte.
preview
Algoritmo de ecolocalización de delfines — Dolphin Echolocation Algorithm (DEA)

Algoritmo de ecolocalización de delfines — Dolphin Echolocation Algorithm (DEA)

En este artículo, analizaremos más de cerca el algoritmo DEA, un método de optimización metaheurística inspirado en la capacidad única de los delfines para encontrar presas mediante la ecolocalización. Desde los fundamentos matemáticos hasta la implementación práctica en MQL5, desde el análisis hasta la comparación con algunos algoritmos clásicos, examinaremos con detalle por qué este método relativamente nuevo merece un lugar en el arsenal de quienes se enfrentan a problemas de optimización.
preview
Simulación de mercado (Parte 18): Iniciando SQL (I)

Simulación de mercado (Parte 18): Iniciando SQL (I)

Da igual si vamos a usar uno u otro programa de SQL, ya sea MySQL, SQL Server, SQLite, OpenSQL o cualquier otro. Todos tienen algo en común. Ese algo en común es el lenguaje SQL. Aunque no vayas a usar una WorkBench, podrás manipular o trabajar con una base de datos directamente en MetaEditor o a través de MQL5 para hacer cosas en MetaTrader 5, pero necesitarás tener conocimientos de SQL. Así que aquí aprenderemos, al menos, lo básico.
preview
Características del Wizard MQL5 que debe conocer (Parte 61): Uso de patrones del ADX y el CCI con aprendizaje supervisado

Características del Wizard MQL5 que debe conocer (Parte 61): Uso de patrones del ADX y el CCI con aprendizaje supervisado

El oscilador ADX y el oscilador CCI son indicadores de seguimiento de tendencias y de impulso que pueden combinarse al desarrollar un asesor experto. Analizamos cómo se puede sistematizar esto utilizando los tres modos principales de entrenamiento del aprendizaje automático. Los asesores expertos ensamblados por el Wizard MQL5 (Asistente MQL5) nos permiten evaluar los patrones que presentan estos dos indicadores, y comenzamos analizando cómo se puede aplicar el aprendizaje supervisado con estos patrones.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 26): Herramienta de patrones pin bar y envolventes con divergencia del RSI (patrones múltiples)

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 26): Herramienta de patrones pin bar y envolventes con divergencia del RSI (patrones múltiples)

En línea con nuestro objetivo de desarrollar herramientas prácticas basadas en la acción del precio, este artículo analiza la creación de un Asesor Experto (EA) que detecta patrones de «pin bar» y «engulfing», utilizando la divergencia del RSI como señal de confirmación antes de generar cualquier señal de trading.
preview
Detección y clasificación de patrones fractales mediante aprendizaje automático

Detección y clasificación de patrones fractales mediante aprendizaje automático

En este artículo, nos familiarizaremos con el fascinante tema del análisis fractal y la previsión de mercado mediante el aprendizaje automático. Estos serán solo los primeros pasos para explorar las diversas estructuras fractales que se forman en los gráficos de precios financieros. Así, utilizaremos la correlación para encontrar patrones y el algoritmo CatBoost para clasificar dichos patrones.
preview
Simulación de mercado: Iniciando SQL en MQL5 (V)

Simulación de mercado: Iniciando SQL en MQL5 (V)

En el artículo anterior mostré cómo debías proceder para poder añadir el mecanismo de consulta. Esto para que, dentro del código MQL5, pudieras usar SQL plenamente y obtener los resultados al usar el comando SELECT FROM de SQL. Pero faltó hablar de la última función que necesitamos implementar. Esta es la función DatabaseReadBind. Y, como para entenderla adecuadamente hace falta una explicación un poco más amplia, se decidió hacerlo no en aquel artículo anterior, sino en este. Entonces, como el tema será relativamente largo, vayamos directamente al siguiente apartado.
preview
Características del Wizard MQL5 que debe conocer (Parte 58): Aprendizaje por refuerzo (DDPG) con patrones de media móvil y oscilador estocástico

Características del Wizard MQL5 que debe conocer (Parte 58): Aprendizaje por refuerzo (DDPG) con patrones de media móvil y oscilador estocástico

La media móvil y el oscilador estocástico son indicadores muy comunes cuyos patrones colectivos analizamos en el artículo anterior, mediante una red de aprendizaje supervisado, para ver qué «patrones se mantendrían». Partiendo de los análisis de ese artículo, vamos un paso más allá y analizamos los efectos que tendría en el rendimiento el aprendizaje por refuerzo, cuando se utiliza con esta red entrenada. Los lectores deben tener en cuenta que nuestras pruebas se han realizado en un periodo de tiempo muy limitado. No obstante, seguimos aprovechando los requisitos mínimos de programación que ofrece el Asistente de MQL5 (MQL5 Wizard) para mostrar esto.
preview
Detección y clasificación de patrones fractales mediante aprendizaje automático

Detección y clasificación de patrones fractales mediante aprendizaje automático

En este artículo, nos familiarizaremos con el fascinante tema del análisis fractal y la previsión de mercado mediante el aprendizaje automático. Estos serán solo los primeros pasos para explorar las diversas estructuras fractales que se forman en los gráficos de precios financieros. Así, utilizaremos la correlación para encontrar patrones y el algoritmo CatBoost para clasificar dichos patrones.
preview
Operando con el Calendario Económico MQL5 (Parte 8): Optimización del backtesting basado en noticias mediante el filtrado inteligente de eventos y el registro selectivo

Operando con el Calendario Económico MQL5 (Parte 8): Optimización del backtesting basado en noticias mediante el filtrado inteligente de eventos y el registro selectivo

En este artículo, optimizamos nuestro calendario económico mediante un filtrado inteligente de eventos y un registro selectivo, con el fin de lograr un backtesting más rápido y claro, tanto en modo en vivo como en modo sin conexión. Optimizamos el procesamiento de eventos y centramos los registros en los eventos críticos relacionados con las operaciones y los paneles de control, lo que mejora la visualización de las estrategias. Estas mejoras permiten probar y perfeccionar sin problemas las estrategias de negociación basadas en noticias.
preview
Simulación de mercado: iniciando SQL en MQL5 (II)

Simulación de mercado: iniciando SQL en MQL5 (II)

Aunque muchos creen que podemos incluir sin problemas código SQL dentro de otro código, por lo general esto no es así. El motivo es que el código SQL siempre se incorpora al ejecutable como un string. Y este hecho de colocar el código SQL como string, si bien no genera inconvenientes en fragmentos pequeños, puede terminar provocándonos bastantes dolores de cabeza.
preview
Desarrollo de un sistema de repetición (Parte 64): Presionando play en el servicio (V)

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

En este artículo, mostraré cómo corregir dos errores presentes en el código. Sin embargo, he intentado explicarlas de manera que tú, aspirante a programador, entiendas que las cosas no siempre ocurrirán como habías previsto. Pero esto no debe ser motivo de desesperación, sino una oportunidad para aprender. El contenido expuesto aquí tiene como único propósito ser didáctico. En ningún caso debe interpretarse como una aplicación cuya finalidad sea distinta al aprendizaje y estudio de los conceptos presentados.
preview
Herramientas de trading de MQL5 (Parte 2): Mejora del asistente interactivo de trading con retroalimentación visual dinámica

Herramientas de trading de MQL5 (Parte 2): Mejora del asistente interactivo de trading con retroalimentación visual dinámica

En este artículo, actualizamos nuestra herramienta de asistente de operaciones añadiendo la función de arrastrar y soltar en los paneles y efectos al pasar el cursor, con el fin de que la interfaz resulte más intuitiva y receptiva. Perfeccionamos la herramienta para validar la configuración de las órdenes en tiempo real, garantizando que las configuraciones de las operaciones se ajusten con precisión a los precios de mercado. También realizamos backtesting de estas mejoras para confirmar su fiabilidad.
preview
Análisis de las brechas temporales de precios en MQL5 (Parte I): Creando un indicador básico

Análisis de las brechas temporales de precios en MQL5 (Parte I): Creando un indicador básico

El análisis de brechas temporales ayuda a los tráders a identificar posibles puntos de reversión del mercado. El artículo analiza qué es un desfase temporal, cómo interpretarlo y de qué manera se puede utilizar para detectar la inyección de un gran volumen en el mercado.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 23): Medidor de fortaleza de divisas

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 23): Medidor de fortaleza de divisas

¿Sabes qué es lo que realmente determina la dirección de un par de divisas? Es la fortaleza de cada divisa por separado. En este artículo, mediremos la fortaleza de una divisa recorriendo todos los pares de divisas en los que aparece. Esa información nos permite predecir cómo podrían moverse esos pares en función de sus fortalezas relativas. Sigue leyendo para obtener más información.
preview
Del básico al intermedio: Herencia

Del básico al intermedio: Herencia

Sin duda, se trata de un artículo al que deberás dedicarle bastante tiempo para entender cómo y por qué funcionan las cosas que se muestran aquí. Esto se debe simplemente a que todo lo que se verá y mostrará aquí está orientado originalmente a lo que sería la programación orientada a objetos. Pero, en realidad, se basa en principios de programación estructural.
preview
Reimaginando las estrategias clásicas (Parte 14): Configuraciones de alta probabilidad

Reimaginando las estrategias clásicas (Parte 14): Configuraciones de alta probabilidad

Las configuraciones de alta probabilidad son bien conocidas en nuestra comunidad de trading, pero lamentablemente no están bien definidas. En este artículo, nuestro objetivo será encontrar una forma empírica y algorítmica de definir con precisión qué constituye una configuración de alta probabilidad, identificándolas y explotándolas. Mediante el uso de árboles de potenciación de gradiente, demostramos cómo el lector puede mejorar el rendimiento de una estrategia de negociación arbitraria y comunicar mejor la tarea exacta que debe realizarse a nuestro ordenador de una manera más significativa y explícita.
preview
Características del Wizard MQL5 que debe conocer (Parte 65): Uso de los patrones FrAMA y Force Index

Características del Wizard MQL5 que debe conocer (Parte 65): Uso de los patrones FrAMA y Force Index

La media móvil adaptativa fractal (FrAMA) y el oscilador Force Index son otro par de indicadores que podrían utilizarse conjuntamente en un asesor experto de MQL5. Estos dos indicadores se complementan en cierta medida, ya que FrAMA es un indicador de seguimiento de tendencias, mientras que el Force Index es un oscilador basado en el volumen. Como siempre, utilizamos el asistente MQL5 para explorar rápidamente el potencial que puede tener esta combinación.
preview
Descarga de datos del Fondo Monetario Internacional en Python

Descarga de datos del Fondo Monetario Internacional en Python

Descarga de datos del Fondo Monetario Internacional en Python: extraemos datos del FMI para su uso en estrategias monetarias macroeconómicas. ¿Cómo puede la macroeconomía ayudar a los tráders y tráders algorítmicos?
preview
Determinación de los tipos de cambio justos en PPA usando los datos del FMI

Determinación de los tipos de cambio justos en PPA usando los datos del FMI

Construcción de un sistema de análisis de tipo de cambio basado en paridad de poder adquisitivo (PPA) en Python. El autor ha desarrollado un algoritmo con cinco métodos para calcular tipos de cambio justos utilizando datos del FMI. El presente artículo supone una guía práctica para el análisis fundamental de divisas, el procesamiento de datos económicos y la integración con sistemas comerciales. Encontrará el código completo en open source.
preview
Aplicación del modelo de Grey en el análisis técnico de series temporales financieras

Aplicación del modelo de Grey en el análisis técnico de series temporales financieras

En este artículo exploraremos el modelo de Grey, una herramienta prometedora que puede ampliar las capacidades de los tráders. Asimismo, analizaremos algunas opciones para aplicar este modelo al análisis técnico y a la elaboración de estrategias de negociación.
preview
Del básico al intermedio: Eventos en Objetos (IV)

Del básico al intermedio: Eventos en Objetos (IV)

En este artículo, terminaremos lo que comenzamos en el artículo anterior. Es decir, una forma total y completamente interactiva de redimensionar los objetos directamente en el gráfico. Aunque muchos imaginen que, para hacer algo así, haría falta mucho más conocimiento de MQL5, notarás que, con conceptos simples y conocimientos muy básicos, podemos implementar una forma de trabajar con los objetos directamente en el gráfico. Algo que da un resultado muy divertido y bastante interesante.
preview
Aplicación del modelo de Grey en el análisis técnico de series temporales financieras

Aplicación del modelo de Grey en el análisis técnico de series temporales financieras

En este artículo exploraremos el modelo de Grey, una herramienta prometedora que puede ampliar las capacidades de los tráders. Asimismo, analizaremos algunas opciones para aplicar este modelo al análisis técnico y a la elaboración de estrategias de negociación.
preview
Del básico al intermedio: FileSave y FileLoad

Del básico al intermedio: FileSave y FileLoad

En este artículo se explicarán y explorarán algunas formas de trabajar con las funciones de la biblioteca FileSave y FileLoad. Aunque mucha gente las considera poco prometedoras, debido a algunas limitaciones o dificultades que generan en ciertos escenarios, entender correctamente cómo funcionan estas dos funciones puede ahorrarte mucho trabajo en determinados momentos. Además, son una excelente forma de trabajar con archivos de log.
preview
Simulación de mercado: Iniciando SQL en MQL5 (I)

Simulación de mercado: Iniciando SQL en MQL5 (I)

En este artículo, comenzaremos a explorar el uso de SQL dentro de un código MQL5. Veremos cómo podemos crear una base de datos. O, mejor dicho, cómo podemos crear un archivo de base de datos en SQLite, utilizando, para ello, recursos o procedimientos incluidos en el lenguaje MQL5. Veremos también cómo crear una tabla y, después, cómo crear una relación entre tablas mediante una clave primaria y una clave foránea. Todo esto usando, nuevamente, MQL5. Veremos lo sencillo que es crear un código que, en el futuro, podrá portarse a otras implementaciones de SQL, usando una clase que nos ayude a ocultar la implementación creada. Y, lo más importante de todo, veremos que, en diversos momentos, podemos correr el riesgo de que algo no salga bien al usar SQL. Esto se debe a que, dentro del código MQL5, un código SQL siempre se colocará dentro de una STRING.
preview
Del básico al intermedio: Indicador (V)

Del básico al intermedio: Indicador (V)

En este artículo, veremos cómo podemos lidiar con solicitudes del usuario para cambiar el modo de trazado del gráfico. Esto, para que podamos lograr que un indicador, orientado a usar el modo de trazado gráfico actual, no quede extraño ni diferente de lo que el usuario de MetaTrader 5 esperaría.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 22): Panel de correlación

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 22): Panel de correlación

Esta herramienta es un panel de correlación que calcula y muestra coeficientes de correlación en tiempo real entre múltiples pares de divisas. Al visualizar cómo se mueven los pares de divisas en relación unos con otros, se añade un contexto valioso al análisis de la acción del precio y se ayuda a anticipar la dinámica entre mercados. Sigue leyendo para descubrir sus características y aplicaciones.
preview
Redes neuronales en el trading: Segmentación periódica adaptativa (Final)

Redes neuronales en el trading: Segmentación periódica adaptativa (Final)

Le propongo sumergirse en el apasionante mundo de LightGTS, un framework de predicción de series temporales ligero pero potente que combina la convolución adaptativa y la codificación RoPE con métodos de atención innovadores. En el artículo de hoy, encontrará una descripción detallada de todos los componentes, desde la creación de parches hasta una compleja combinación de asesores expertos en un decodificador, listo para su integración en proyectos MQL5. ¡Descubra cómo LightGTS lleva el trading automatizado al siguiente nivel!
preview
Redes neuronales en el trading: Previsión probabilística de series temporales (K2VAE)

Redes neuronales en el trading: Previsión probabilística de series temporales (K2VAE)

Le invitamos a explorar la implementación original del framework K²VAE, un modelo flexible capaz de aproximar linealmente dinámicas complejas en el espacio latente. Este artículo le mostraremos cómo implementar componentes clave en MQL5, incluidas las matrices parametrizadas y su gestión fuera de las capas estándar de redes neuronales. Este material resultará útil a quienes busquen un enfoque práctico para crear modelos de series temporales interpretables.
preview
Herramientas personalizadas de depuración y perfilado para el desarrollo en MQL5 (Parte I): Registro avanzado

Herramientas personalizadas de depuración y perfilado para el desarrollo en MQL5 (Parte I): Registro avanzado

Descubra cómo implementar un potente marco de registro personalizado para MQL5 que va más allá de las simples instrucciones Print(), ya que admite niveles de gravedad, múltiples manejadores de salida y rotación automática de archivos, todo ello configurable sobre la marcha. Integre el singleton CLogger con ConsoleLogHandler y FileLogHandler para registrar entradas de registro contextuales y con marca de tiempo tanto en la pestaña «Expertos» como en archivos persistentes. Optimice la depuración y el seguimiento del rendimiento de sus asesores expertos gracias a formatos de registro claros y personalizables y a un control centralizado.
preview
Redes neuronales en el trading: Mejora de la eficiencia del Transformer mediante la reducción de la nitidez (Final)

Redes neuronales en el trading: Mejora de la eficiencia del Transformer mediante la reducción de la nitidez (Final)

El SAMformer ofrece una solución a los problemas clave del Transformer en la previsión de series temporales a largo plazo, incluida la complejidad del entrenamiento y la escasa generalización a muestras pequeñas. Su arquitectura poco profunda y la optimización con control de nitidez garantizan que se eviten los malos mínimos locales. En este artículo, proseguiremos la aplicación de enfoques utilizando MQL5 y evaluaremos su valor práctico.