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
La estrategia comercial de captura de liquidez

La estrategia comercial de captura de liquidez

La estrategia de negociación basada en la captura de liquidez es un componente clave de Smart Money Concepts (SMC), que busca identificar y aprovechar las acciones de los actores institucionales en el mercado. Implica apuntar a áreas de alta liquidez, como zonas de soporte o resistencia, donde las órdenes grandes pueden desencadenar movimientos de precios antes de que el mercado reanude su tendencia. Este artículo explica en detalle el concepto de «liquidity grab» (captura de liquidez) y describe el proceso de desarrollo de la estrategia de negociación basada en la captura de liquidez en MQL5.
preview
Simulación de mercado: Position View (I)

Simulación de mercado: Position View (I)

El contenido que veremos a partir de ahora es mucho más complicado en términos de teorías y conceptos. Intentaré dejar el contenido lo más simple posible. La parte referente a la programación en sí es incluso bastante simple y directa. Pero, si no comprendes toda la teoría que hay detrás, te quedarás completamente sin recursos para poder mejorar o incluso adaptar el sistema de repetición/simulador a algo diferente de lo que voy a mostrar. Mi intención no es que simplemente compiles y uses el código que estoy mostrando. Quiero que aprendas, entiendas y, si es posible, puedas crear algo todavía mejor.
preview
Creación de barras 3D basadas en el tiempo, el precio y el volumen

Creación de barras 3D basadas en el tiempo, el precio y el volumen

Qué son los gráficos de precios multidimensionales en 3D y cómo se crean. Cómo las barras 3D predicen las inversiones de precios, y cómo Python y MetaTrader 5 permiten construir estas barras volumétricas en tiempo real.
preview
Automatización de estrategias de trading en MQL5 (Parte 3): Sistema RSI de recuperación de zona para la gestión dinámica de operaciones

Automatización de estrategias de trading en MQL5 (Parte 3): Sistema RSI de recuperación de zona para la gestión dinámica de operaciones

En este artículo, creamos un sistema (un EA) de recuperación de zona RSI en MQL5, utilizando señales RSI para lanzar operaciones y una estrategia de recuperación para gestionar las pérdidas. Implementamos una clase «ZoneRecovery» para automatizar las entradas de operaciones, la lógica de recuperación y la gestión de posiciones. El artículo concluye con información sobre backtesting para optimizar el rendimiento y mejorar la eficacia del EA.
preview
Redes neuronales en el trading: Sistema multiagente con validación conceptual (FinCon)

Redes neuronales en el trading: Sistema multiagente con validación conceptual (FinCon)

Hoy le proponemos familiarizarnos con el framework FinCon, un sistema multiagente basado en grandes modelos lingüísticos (LLM). El framework usa el refuerzo verbal conceptual para mejorar la toma de decisiones y la gestión del riesgo con el fin de realizar eficazmente diversas tareas financieras.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 3): Asesor Experto Analytics Master

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 3): Asesor Experto Analytics Master

Pasar de un simple script de trading a un Asesor Experto (EA) totalmente funcional puede mejorar significativamente su experiencia de trading. Imagina tener un sistema que supervisa automáticamente tus gráficos, realiza cálculos esenciales en segundo plano y proporciona actualizaciones periódicas cada dos horas. Este EA estaría equipado para analizar métricas clave que son cruciales para tomar decisiones comerciales informadas, lo que garantiza que usted tenga acceso a la información más actualizada para ajustar sus estrategias de manera eficaz.
preview
Teoría de Categorías en MQL5 (Parte 23): Otra mirada a la media móvil exponencial doble

Teoría de Categorías en MQL5 (Parte 23): Otra mirada a la media móvil exponencial doble

En este artículo, seguiremos analizando desde un nuevo ángulo los indicadores comerciales más populares. Vamos a procesar una composición horizontal de transformaciones naturales. El mejor indicador para ello será la media móvil exponencial doble (Double Exponential Moving Average, DEMA).
preview
Desarrollamos un asesor experto multidivisa (Parte 19): Creando las etapas implementadas en Python

Desarrollamos un asesor experto multidivisa (Parte 19): Creando las etapas implementadas en Python

Hasta ahora, hemos analizado la automatización del inicio de los procedimientos de optimización secuencial de los asesores expertos exclusivamente en el simulador de estrategias estándar. Pero, ¿qué ocurrirá si, entre una ejecución y otra, queremos procesar los datos ya adquiridos con otras herramientas? Hoy intentaremos añadir la posibilidad de crear nuevos pasos de optimización ejecutados por programas escritos en Python.
preview
Descifrando las estrategias de trading intradía de ruptura del rango de apertura

Descifrando las estrategias de trading intradía de ruptura del rango de apertura

Las estrategias de ruptura del rango de apertura (Opening Range Breakout, ORB) se basan en la idea de que el rango de negociación inicial establecido poco después de la apertura del mercado refleja niveles de precios significativos en los que compradores y vendedores acuerdan el valor. Al identificar rupturas por encima o por debajo de un determinado rango, los operadores pueden aprovechar el impulso que suele producirse cuando la dirección del mercado se vuelve más clara. En este artículo, exploraremos tres estrategias ORB adaptadas del Grupo Concretum.
preview
Desarrollo de un sistema de repetición (Parte 33): Sistema de órdenes (II)

Desarrollo de un sistema de repetición (Parte 33): Sistema de órdenes (II)

Vamos a continuar el desarrollo del sistema de órdenes, pero verás que haremos una reutilización masiva de cosas ya vistas en otros artículos. Aun así, tendremos una pequeña recompensa en este artículo. Desarrollaremos, en primer lugar, un sistema que pueda ser operado junto al servidor de negociación real, ya sea usando una cuenta demo o una cuenta real. Haremos uso masivo y extensivo de la plataforma MetaTrader 5 para proporcionarnos todo el soporte que necesitaremos en este inicio de viaje.
preview
Teoría de categorías en MQL5 (Parte 22): Una mirada distinta a las medias móviles

Teoría de categorías en MQL5 (Parte 22): Una mirada distinta a las medias móviles

En el presente artículo intentaremos simplificar los conceptos tratados en esta serie centrándonos en solo un indicador, el más común y probablemente el más fácil de entender: la media móvil. También veremos el significado y las posibles aplicaciones de las transformaciones naturales verticales.
preview
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 4)

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

Este artículo supone la cuarta parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT. En esta parte, veremos las propiedades de MQTT v5.0, su semántica, cómo leemos algunas de ellas, y ofreceremos un breve ejemplo de cómo se pueden usar las propiedades para ampliar el protocolo.
preview
Características del Wizard MQL5 que debe conocer (Parte 22): Redes generativas adversativas (RGAs) condicionales

Características del Wizard MQL5 que debe conocer (Parte 22): Redes generativas adversativas (RGAs) condicionales

Las redes generativas antagónicas son un emparejamiento de redes neuronales que se entrenan entre sí para obtener resultados más precisos. Adoptamos el tipo condicional de estas redes mientras buscamos una posible aplicación en la previsión de series de tiempo financieras dentro de una clase de señales expertas.
preview
Asesor de autoaprendizaje con red neuronal basada en matriz de estados

Asesor de autoaprendizaje con red neuronal basada en matriz de estados

Asesor de autoaprendizaje con red neuronal basada en matriz de estados. Hoy combinaremos cadenas de Márkov con una red neuronal multicapa MLP, escrita en la biblioteca ALGLIB MQL5. ¿Cómo podemos combinar las cadenas de Márkov y las redes neuronales para realizar previsiones en Forex?
preview
Algoritmo de optimización de reacciones químicas (CRO) (Parte I): Química de procesos en la optimización

Algoritmo de optimización de reacciones químicas (CRO) (Parte I): Química de procesos en la optimización

En la primera parte de este artículo, nos sumergiremos en el mundo de las reacciones químicas y descubriremos un nuevo enfoque de la optimización. La optimización de reacciones químicas (Chemical Reaction Optimization, CRO) utiliza principios derivados de las leyes de la termodinámica para lograr resultados eficientes. Desvelaremos los secretos de la descomposición, la síntesis y otros procesos químicos que se convirtieron en la base de este innovador método.
preview
DoEasy. Elementos de control (Parte 31): Desplazamiento por el contenido del control "ScrollBar"

DoEasy. Elementos de control (Parte 31): Desplazamiento por el contenido del control "ScrollBar"

En este artículo, crearemos la funcionalidad necesaria para desplazar el contenido del contenedor usando los botones de la barra de desplazamiento horizontal.
preview
Redes neuronales: así de sencillo (Parte 71): Previsión de estados futuros basada en objetivos (GCPC)

Redes neuronales: así de sencillo (Parte 71): Previsión de estados futuros basada en objetivos (GCPC)

En trabajos anteriores, hemos introducido el método del Decision Transformer y varios algoritmos derivados de él. Asimismo, hemos experimentado con distintos métodos de fijación de objetivos. Durante los experimentos, hemos trabajado con distintas formas de fijar objetivos, pero el aprendizaje de la trayectoria ya recorrida por parte del modelo siempre quedaba fuera de nuestra atención. En este artículo, queremos presentar un método que llenará este vacío.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 5): Sistema de notificaciones (Parte I)

Creación de un modelo de restricción de tendencia de velas (Parte 5): Sistema de notificaciones (Parte I)

Desglosaremos el código principal de MQL5 en fragmentos de código especificados para ilustrar la integración de Telegram y WhatsApp para recibir notificaciones de señales del indicador Trend Constraint que estamos creando en esta serie de artículos. Esto ayudará a los traders, tanto novatos como experimentados, a comprender el concepto con facilidad. En primer lugar, vamos a cubrir la configuración de MetaTrader 5 para las notificaciones y su importancia para el usuario. Esto ayudará a los desarrolladores a tomar notas para aplicarlas en sus sistemas.
preview
Métodos de optimización de la biblioteca ALGLIB (Parte I)

Métodos de optimización de la biblioteca ALGLIB (Parte I)

En este artículo nos familiarizaremos con los métodos de optimización de la biblioteca ALGLIB para MQL5. El artículo incluye ejemplos sencillos e ilustrativos de la aplicación de ALGLIB para resolver problemas de optimización, lo que hará que el proceso de dominio de los métodos resulte lo más accesible posible. Asimismo, analizaremos con detalle la conectividad de algoritmos como BLEIC, L-BFGS y NS y resolveremos un sencillo problema de prueba basado en ellos.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 05): Vistas previas

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 05): Vistas previas

Hemos logrado desarrollar una forma de ejecutar la repetición de mercado de manera bastante realista y aceptable. Ahora, vamos a continuar con nuestro proyecto y agregar datos para mejorar el comportamiento de la repetición.
preview
Teoría de categorías en MQL5 (Parte 4): Intervalos, experimentos y composiciones

Teoría de categorías en MQL5 (Parte 4): Intervalos, experimentos y composiciones

La teoría de categorías es una rama de las matemáticas diversa y en expansión, relativamente inexplorada aún en la comunidad MQL5. Esta serie de artículos tiene como objetivo describir algunos de sus conceptos para crear una biblioteca abierta y seguir utilizando esta maravillosa sección para crear estrategias comerciales.
preview
Redes neuronales en el trading: Resultados prácticos del método TEMPO

Redes neuronales en el trading: Resultados prácticos del método TEMPO

Continuamos familiarizándonos con el método TEMPO. En este artículo, analizaremos la efectividad de los enfoques propuestos con datos históricos reales.
preview
Operar con el Calendario Económico MQL5 (Parte 1): Dominar las funciones del Calendario Económico MQL5

Operar con el Calendario Económico MQL5 (Parte 1): Dominar las funciones del Calendario Económico MQL5

En este artículo, exploramos cómo utilizar el Calendario Económico MQL5 para operar, comenzando por comprender sus funciones principales. A continuación, implementamos las funciones clave del Calendario Económico en MQL5 para extraer datos relevantes de noticias que nos ayuden a tomar decisiones de trading. Finalmente, concluimos mostrando cómo utilizar esta información para mejorar las estrategias comerciales de manera efectiva.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 12): Nacimiento del SIMULADOR (II)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 12): Nacimiento del SIMULADOR (II)

Desarrollar un simulador puede resultar mucho más interesante de lo que parece. Así que demos algunos pasos más en esta dirección, porque las cosas están empezando a ponerse interesantes.
preview
Ingeniería de características con Python y MQL5 (Parte I): Predicción de medias móviles para modelos de IA de largo plazo

Ingeniería de características con Python y MQL5 (Parte I): Predicción de medias móviles para modelos de IA de largo plazo

Las medias móviles son, con diferencia, los mejores indicadores para que nuestros modelos de IA realicen predicciones. Sin embargo, podemos mejorar aún más nuestra precisión transformando cuidadosamente nuestros datos. Este artículo le mostrará cómo puede crear modelos de IA capaces de realizar previsiones a más largo plazo que las que realiza actualmente sin que ello suponga una disminución significativa de su nivel de precisión. Es realmente sorprendente lo útiles que son las medias móviles.
preview
Desarrollamos un asesor experto para controlar los puntos de entrada en las operaciones swing

Desarrollamos un asesor experto para controlar los puntos de entrada en las operaciones swing

A medida que el año se acerca a su fin, los tráders a largo plazo suelen hacer balance del año, analizando la historia, el comportamiento y las tendencias del mercado para evaluar el potencial de los movimientos futuros. En este artículo, analizaremos el desarrollo de un asesor experto para el seguimiento de operaciones a largo plazo utilizando MQL5. El objetivo será hacer frente a problemas como la pérdida de oportunidades comerciales debido al trading manual y a la falta de sistemas de supervisión automatizados. Como ejemplo de definición eficaz de una estrategia para nuestra solución y también para desarrollar la misma, utilizaremos uno de los pares comerciales más destacados.
preview
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte IV): Apilamiento de modelos

Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte IV): Apilamiento de modelos

Hoy demostraremos cómo se pueden crear aplicaciones comerciales impulsadas por IA capaces de aprender de sus propios errores. Demostraremos una técnica conocida como apilamiento, mediante la cual usamos 2 modelos para hacer 1 predicción. El primer modelo suele ser un alumno más débil, y el segundo modelo suele ser un modelo más potente que aprende los residuos de nuestro alumno más débil. Nuestro objetivo es crear un conjunto de modelos, para lograr, con suerte, una mayor precisión.
preview
Capacidades de SQLite en MQL5: Ejemplo de panel interactivo con estadísticas comerciales por símbolos y números mágicos

Capacidades de SQLite en MQL5: Ejemplo de panel interactivo con estadísticas comerciales por símbolos y números mágicos

En este artículo, analizaremos la creación de un indicador que mostrará en un panel interactivo las estadísticas comerciales según la cuenta, y también según los símbolos y estrategias comerciales. Asimismo, escribiremos un código basándonos en los ejemplos de la Documentación y el artículo sobre el trabajo con bases de datos.
preview
Utilización del modelo de aprendizaje automático CatBoost como filtro para estrategias de seguimiento de tendencias

Utilización del modelo de aprendizaje automático CatBoost como filtro para estrategias de seguimiento de tendencias

CatBoost es un potente modelo de aprendizaje automático basado en árboles que se especializa en la toma de decisiones basada en características estacionarias. Otros modelos basados en árboles, como XGBoost y Random Forest, comparten características similares en cuanto a su solidez, capacidad para manejar patrones complejos e interpretabilidad. Estos modelos tienen una amplia gama de usos, desde el análisis de características hasta la gestión de riesgos. En este artículo, vamos a explicar el procedimiento para utilizar un modelo CatBoost entrenado como filtro para una estrategia clásica de seguimiento de tendencias con cruce de medias móviles.
preview
Evaluación visual y ajuste comercial en MetaTrader 5

Evaluación visual y ajuste comercial en MetaTrader 5

En el simulador de estrategias no solo es posible optimizar los parámetros de un robot comercial. Hoy le mostraremos cómo evaluar post-facto la historia comercial de su cuenta y realizar ajustes en el trading en el simulador cambiando el tamaño de las órdenes stop para las posiciones abiertas.
preview
Algoritmo de viaje evolutivo en el tiempo — Time Evolution Travel Algorithm (TETA)

Algoritmo de viaje evolutivo en el tiempo — Time Evolution Travel Algorithm (TETA)

Se trata de un algoritmo propio. En este artículo, le presentaremos el Algoritmo de viaje evolutivo en el tiempo (TETA), inspirado en el concepto de universos paralelos y flujos temporales. La idea básica del algoritmo es que, si bien no es posible viajar en el tiempo en el sentido habitual, podemos elegir una secuencia de acontecimientos que generen realidades distintas.
preview
Características del Wizard MQL5 que debe conocer (Parte 07): Dendrogramas

Características del Wizard MQL5 que debe conocer (Parte 07): Dendrogramas

La clasificación de datos para el análisis y la predicción es un área muy diversa del aprendizaje automático con un gran número de enfoques y métodos. En este artículo analizaremos uno de estos enfoques, a saber, la Clasificación Jerárquica Aglomerativa (Agglomerative Hierarchical Classification).
preview
Algoritmos de optimización de la población: Algoritmo híbrido de optimización de forrajeo bacteriano con algoritmo genético (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

Algoritmos de optimización de la población: Algoritmo híbrido de optimización de forrajeo bacteriano con algoritmo genético (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

Este artículo presenta un nuevo enfoque para resolver problemas de optimización combinando las ideas de los algoritmos de optimización de forrajeo bacteriano (BFO) y las técnicas utilizadas en el algoritmo genético (GA) en un algoritmo híbrido BFO-GA. Dicha técnica utiliza enjambres bacterianos para buscar una solución óptima de manera global y operadores genéticos para refinar los óptimos locales. A diferencia del BFO original, ahora las bacterias pueden mutar y heredar genes.
preview
Clústeres de series temporales en inferencia causal

Clústeres de series temporales en inferencia causal

Los algoritmos de agrupamiento en el aprendizaje automático son importantes algoritmos de aprendizaje no supervisado que pueden dividir los datos originales en grupos con observaciones similares. Utilizando estos grupos, puede analizar el mercado de un grupo específico, buscar los grupos más estables utilizando nuevos datos y hacer inferencias causales. El artículo propone un método original de agrupación de series temporales en Python.
preview
Características del Wizard MQL5 que debe conocer (Parte 23): Redes neuronales convolucionales (CNNs, Convolutional Neural Networks)

Características del Wizard MQL5 que debe conocer (Parte 23): Redes neuronales convolucionales (CNNs, Convolutional Neural Networks)

Las redes neuronales convolucionales son otro algoritmo de aprendizaje automático que tiende a especializarse en descomponer conjuntos de datos multidimensionales en partes constituyentes clave. Examinamos cómo se consigue esto normalmente y exploramos una posible aplicación para los operadores en otra clase de señal del asistente MQL5.
preview
Operar con el Calendario Económico MQL5 (Parte 3): Añadiendo filtros de divisa, importancia y tiempo

Operar con el Calendario Económico MQL5 (Parte 3): Añadiendo filtros de divisa, importancia y tiempo

En este artículo, implementamos filtros en el panel del calendario económico MQL5 para refinar la visualización de eventos de noticias por divisa, importancia y hora. Primero establecemos criterios de filtrado para cada categoría y luego los integramos en el panel de control para mostrar solo los eventos relevantes. Por último, nos aseguramos de que cada filtro se actualice dinámicamente para proporcionar a los operadores información económica específica y en tiempo real.
preview
Características del Wizard MQL5 que debe conocer (Parte 25): Pruebas y operaciones en múltiples marcos temporales

Características del Wizard MQL5 que debe conocer (Parte 25): Pruebas y operaciones en múltiples marcos temporales

Las estrategias que se basan en múltiples marcos de tiempo no se pueden probar en los Asesores Expertos ensamblados por defecto debido a la arquitectura de código MQL5 utilizada en las clases de ensamblaje. Exploramos una posible solución a esta limitación para las estrategias que buscan utilizar múltiples marcos temporales en un estudio de caso con la media móvil cuadrática.
preview
Combinación de estrategias de análisis técnico y fundamental en MQL5 para principiantes

Combinación de estrategias de análisis técnico y fundamental en MQL5 para principiantes

En este artículo, analizaremos cómo integrar sin problemas el seguimiento de tendencias y los principios fundamentales en un Asesor Experto para crear una estrategia más sólida. Este artículo demostrará lo fácil que es para cualquiera comenzar a desarrollar algoritmos comerciales personalizados utilizando MQL5.
preview
Redes neuronales en el trading: Análisis de nubes de puntos (PointNet)

Redes neuronales en el trading: Análisis de nubes de puntos (PointNet)

El análisis directo de nubes de puntos evita alcanza un tamaño de datos innecesario y mejora la eficacia de los modelos en tareas de clasificación y segmentación. Estos enfoques demuestran un alto rendimiento y solidez frente a las perturbaciones de los datos de origen.
preview
Redes neuronales: así de sencillo (Parte 94): Optimización de la secuencia de entrada

Redes neuronales: así de sencillo (Parte 94): Optimización de la secuencia de entrada

Al trabajar con series temporales, siempre utilizamos los datos de origen en su secuencia histórica. Pero, ¿es ésta la mejor opción? Existe la opinión de que cambiar la secuencia de los datos de entrada mejorará la eficacia de los modelos entrenados. En este artículo te invito a conocer uno de los métodos para optimizar la secuencia de entrada.