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
Características del Wizard MQL5 que debe conocer (Parte 13): DBSCAN para la clase experta de señales

Características del Wizard MQL5 que debe conocer (Parte 13): DBSCAN para la clase experta de señales

El agrupamiento basado en densidad para aplicaciones con ruido (DBSCAN) es una forma no supervisada de agrupar datos que apenas requiere parámetros de entrada, salvo solo 2, lo cual, en comparación con otros enfoques como k-means, es una ventaja. Profundizamos en cómo esto podría ser constructivo para probar y eventualmente operar con Asesores Expertos montados por Wizard MQL5.
preview
Algoritmo de optimización Brain Storm - Brain Storm Optimization (Parte I): Clusterización

Algoritmo de optimización Brain Storm - Brain Storm Optimization (Parte I): Clusterización

En este artículo analizaremos un innovador método de optimización denominado BSO (Brain Storm Optimization), inspirado en el fenómeno natural de la tormenta de ideas. También discutiremos un nuevo enfoque de resolución de tareas de optimización multimodales que utiliza el método BSO y nos permite encontrar múltiples soluciones óptimas sin tener que determinar de antemano el número de subpoblaciones. En este artículo, también analizaremos los métodos de clusterización K-Means y K-Means++.
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
Simulación de mercado (Parte 11): Sockets (V)

Simulación de mercado (Parte 11): Sockets (V)

Vamos a empezar a implementar la comunicación entre Excel y MetaTrader 5, pero antes es necesario entender algunas cosas importantes. Así no te quedarás rascándote la cabeza tratando de comprender por qué las cosas funcionan o no. Y antes de que frunzas el ceño ante la integración entre Python y Excel, veamos cómo podemos usar xlwings para controlar, en cierta medida, MetaTrader 5 a través de Excel. Lo que voy a mostrar aquí se centrará principalmente en la didáctica. No pienses que solo podemos hacer lo que mostraré.
preview
Teoría de Categorías en MQL5 (Parte 17): Funtores y monoides

Teoría de Categorías en MQL5 (Parte 17): Funtores y monoides

Este es el último artículo de la serie sobre funtores. En él, revisaremos los monoides como categoría. Los monoides, que ya hemos introducido en esta serie, se utilizan aquí para ayudar a dimensionar la posición junto con los perceptrones multicapa.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 1): Proyector de gráficos

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 1): Proyector de gráficos

Este proyecto tiene como objetivo aprovechar el lenguaje MQL5 para desarrollar un conjunto integral de herramientas de análisis para MetaTrader 5. Estas herramientas, que van desde scripts e indicadores hasta modelos de IA y asesores expertos, automatizarán el proceso de análisis del mercado. En ocasiones, este desarrollo producirá herramientas capaces de realizar análisis avanzados sin intervención humana y pronosticar resultados para las plataformas adecuadas. Ninguna oportunidad jamás se perderá. Únase a mí mientras exploramos el proceso de creación de un conjunto sólido de herramientas personalizadas para el análisis de mercado. Comenzaremos desarrollando un programa MQL5 simple que he llamado "Proyector de gráficos" (Chart Projector).
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
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: Transformador jerárquico de doble torre (Final)

Redes neuronales en el trading: Transformador jerárquico de doble torre (Final)

Seguimos construyendo el modelo del transformador jerárquico Hidformer de dos torres, diseñado para analizar y predecir series temporales multivariantes complejas. En este artículo llevaremos el trabajo iniciado anteriormente a su conclusión lógica probando el modelo con datos históricos reales.
preview
Obtenga una ventaja sobre cualquier mercado (Parte IV): Índices CBOE de volatilidad del euro y el oro

Obtenga una ventaja sobre cualquier mercado (Parte IV): Índices CBOE de volatilidad del euro y el oro

Analizaremos datos alternativos curados por el 'Chicago Board Of Options Exchange' (CBOE) para mejorar la precisión de nuestras redes neuronales profundas al pronosticar el símbolo XAUEUR (oro).
preview
Análisis causal de series temporales mediante entropía de transferencia

Análisis causal de series temporales mediante entropía de transferencia

En este artículo, analizamos cómo se puede aplicar la causalidad estadística para identificar variables predictivas. Exploraremos el vínculo entre causalidad y entropía de transferencia, además de presentar código MQL5 para detectar transferencias direccionales de información entre dos variables.
preview
Red neuronal en la práctica: Función de recta

Red neuronal en la práctica: Función de recta

En este artículo, pasaremos rápidamente por algunos métodos para obtener la función que podría representar nuestros datos en la base. No me adentraré en detalles sobre cómo usar estadísticas y estudios de probabilidad para interpretar los resultados. Dejo esto como tarea para aquellos que realmente deseen profundizar en la parte matemática del asunto. De todas formas, estudiar estos temas será crucial para que puedas comprender todo lo que involucra los estudios de redes neuronales. Aquí seré bastante suave con el tema.
preview
Aprendizaje automático y Data Science (Parte 18): La batalla por dominar la complejidad del mercado: SVD truncado frente a NMF

Aprendizaje automático y Data Science (Parte 18): La batalla por dominar la complejidad del mercado: SVD truncado frente a NMF

La descomposición del valor singular truncado (SVD, Singular Value Decomposition) y la factorización de matrices no negativas (NMF, Non-Negative Matrix Factorization) son técnicas de reducción de la dimensionalidad. Ambos desempeñan un papel importante en la elaboración de estrategias de negociación basadas en datos. Descubra el arte de reducir la dimensionalidad, desentrañar ideas y optimizar los análisis cuantitativos para obtener un enfoque informado que le permita navegar por las complejidades de los mercados financieros.
preview
Aplicación de la selección de características localizadas en Python y MQL5

Aplicación de la selección de características localizadas en Python y MQL5

Este artículo explora un algoritmo de selección de características introducido en el artículo 'Local Feature Selection for Data Classification' de Narges Armanfard et al. El algoritmo se implementa en Python para construir modelos clasificadores binarios que pueden integrarse con aplicaciones de MetaTrader 5 para la inferencia.
preview
Información mutua como criterio para la selección de características paso a paso

Información mutua como criterio para la selección de características paso a paso

En este artículo, presentamos una implementación MQL5 de selección de características paso a paso basada en la información mutua entre un conjunto de predictores óptimos y una variable objetivo.
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
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
Desarrollamos un asesor experto multidivisa (Parte 16): Efecto de diferentes historias de cotizaciones en los resultados de las pruebas

Desarrollamos un asesor experto multidivisa (Parte 16): Efecto de diferentes historias de cotizaciones en los resultados de las pruebas

El asesor experto que estamos desarrollando debería mostrar buenos resultados al negociar con diferentes brókeres. Pero hasta ahora hemos usado las cotizaciones de la cuenta demo de MetaQuotes para las pruebas. Veamos si nuestro asesor experto está listo para trabajar en una cuenta comercial con cotizaciones diferentes a las utilizadas durante las pruebas y la optimización.
preview
DoEasy. Elementos de control (Parte 30): Animando el elemento de control "ScrollBar"

DoEasy. Elementos de control (Parte 30): Animando el elemento de control "ScrollBar"

En este artículo, continuaremos desarrollando el control ScrollBar y comenzaremos a crear la funcionalidad de interacción con el ratón. Además, ampliaremos las listas de banderas de estado y eventos de ratón.
preview
Desarrollo de un sistema de repetición (Parte 45): Proyecto Chart Trade (IV)

Desarrollo de un sistema de repetición (Parte 45): Proyecto Chart Trade (IV)

Lo principal en este artículo es precisamente la presentación y explicación de la clase C_ChartFloatingRAD. Tenemos el indicador Chart Trade, que funciona de una manera bastante interesante. No obstante, si te das cuenta, aún tenemos un número bastante reducido de objetos en el gráfico. Y aun así, tenemos exactamente el comportamiento esperado. Se pueden editar los valores presentes en el indicador. La pregunta es: ¿Cómo es esto posible? En este artículo comenzarás a entenderlo.
preview
Del básico al intermedio: Sobrecarga

Del básico al intermedio: Sobrecarga

Este tal vez será el artículo más confuso para ti, principiante. Ya que aquí mostraré que no siempre tendremos, en un mismo código, todas las funciones y procedimientos con nombres exclusivos. Podemos, sí, tener funciones y procedimientos con un mismo nombre, y esto se conoce como sobrecarga. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Perspectivas bursátiles a través del volumen: más allá de los gráficos OHLC

Perspectivas bursátiles a través del volumen: más allá de los gráficos OHLC

Sistema de negociación algorítmica que combina el análisis de volumen con técnicas de aprendizaje automático, concretamente redes neuronales LSTM. A diferencia de los enfoques tradicionales de negociación, que se centran principalmente en los movimientos de los precios, este sistema hace hincapié en los patrones de volumen y sus derivados para predecir los movimientos del mercado. La metodología incorpora tres componentes principales: análisis de derivadas de volumen (derivadas primera y segunda), predicciones LSTM para patrones de volumen e indicadores técnicos tradicionales.
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
Creación de un Panel de administración de operaciones en MQL5 (Parte II): Mejorar la capacidad de respuesta y la rapidez de los mensajes

Creación de un Panel de administración de operaciones en MQL5 (Parte II): Mejorar la capacidad de respuesta y la rapidez de los mensajes

En este artículo, vamos a mejorar la capacidad de respuesta del Panel de administración que hemos creado anteriormente. Además, exploraremos la importancia de los mensajes rápidos en el contexto de las señales de negociación.
preview
Modelos ocultos de Markov para la predicción de la volatilidad siguiendo tendencias

Modelos ocultos de Markov para la predicción de la volatilidad siguiendo tendencias

Los modelos ocultos de Markov (Hidden Markov Models, HMM) son potentes herramientas estadísticas que identifican los estados subyacentes del mercado mediante el análisis de los movimientos observables de los precios. En el ámbito bursátil, los HMM mejoran la predicción de la volatilidad y proporcionan información para las estrategias de seguimiento de tendencias mediante la modelización y la anticipación de los cambios en los regímenes de mercado. En este artículo, presentaremos el procedimiento completo para desarrollar una estrategia de seguimiento de tendencias que utiliza HMM para predecir la volatilidad como filtro.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 7): Signal Pulse EA

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 7): Signal Pulse EA

Aproveche todo el potencial del análisis multitemporal con «Signal Pulse», un asesor experto MQL5 que integra las bandas de Bollinger y el oscilador estocástico para ofrecer señales de trading precisas y de alta probabilidad. Descubra cómo implementar esta estrategia y visualizar eficazmente las oportunidades de compra y venta utilizando flechas personalizadas. Ideal para operadores que buscan mejorar su capacidad de juicio mediante análisis automatizados en múltiples marcos temporales.
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
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 en el trading: Framework comercial híbrido con codificación predictiva (StockFormer)

Redes neuronales en el trading: Framework comercial híbrido con codificación predictiva (StockFormer)

Hoy le presentamos el StockFormer, un sistema comercial híbrido que combina algoritmos de codificación predictiva y de aprendizaje por refuerzo (RL). El framework utiliza 3 ramas del Transformer con un mecanismo Diversified Multi-Head Attention (DMH-Attn) integrado que mejora el módulo de atención vainilla gracias a un bloque Feed-Forward multicabeza que permite captar diversos patrones de series temporales en diferentes subespacios.
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
Algoritmo de optimización Brain Storm - Brain Storm Optimization (Parte II): Multimodalidad

Algoritmo de optimización Brain Storm - Brain Storm Optimization (Parte II): Multimodalidad

En la segunda parte del artículo pasaremos a la aplicación práctica del algoritmo BSO, realizaremos tests con funciones de prueba y compararemos la eficacia de BSO con otros métodos de optimización.
preview
Reimaginando las estrategias clásicas (Parte IV): SP500 y bonos del Tesoro de EE.UU.

Reimaginando las estrategias clásicas (Parte IV): SP500 y bonos del Tesoro de EE.UU.

En esta serie de artículos, analizamos estrategias de trading clásicas utilizando algoritmos modernos para determinar si podemos mejorar la estrategia utilizando IA. En el artículo de hoy, retomamos un enfoque clásico para operar con el SP500 utilizando la relación que guarda con los bonos del Tesoro estadounidense.
preview
Desarrollamos un asesor experto multidivisa (Parte 7): Selección de grupos considerando el periodo forward

Desarrollamos un asesor experto multidivisa (Parte 7): Selección de grupos considerando el periodo forward

Anteriormente hemos evaluado la selección de un grupo de instancias de estrategias comerciales para mejorar el rendimiento cuando trabajan juntas solo durante el mismo periodo de tiempo en el que se han optimizado las instancias individuales. Veamos qué ocurre en el periodo forward.
preview
Análisis de la negociación a posteriori: ajustando el TrailingStop y los nuevos stops en el simulador de estrategias

Análisis de la negociación a posteriori: ajustando el TrailingStop y los nuevos stops en el simulador de estrategias

Continuamos con el tema del análisis de las transacciones completadas en el simulador de estrategias para mejorar la calidad de la negociación. Hoy veremos cómo el uso de diferentes trailings puede ayudar a cambiar los resultados comerciales ya obtenidos.
preview
Desarrollo de un sistema de repetición (Parte 71): Ajuste del tiempo (IV)

Desarrollo de un sistema de repetición (Parte 71): Ajuste del tiempo (IV)

En este artículo, mostraré cómo implementar lo presentado en el artículo anterior en el servicio de repetición/simulación. Pero, como suele ocurrir con muchas cosas en la vida, es habitual que surjan problemas. Y este caso no fue una excepción. Sigue leyendo y descubre cuál será el tema del próximo artículo de esta serie. 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 mostrados.
preview
Redes neuronales: así de sencillo (Parte 68): Optimización de políticas offline basada en preferencias

Redes neuronales: así de sencillo (Parte 68): Optimización de políticas offline basada en preferencias

Desde los primeros artículos sobre el aprendizaje por refuerzo, hemos tocado de un modo u otro dos problemas: la exploración del entorno y la definición de la función de recompensa. Los artículos más recientes se han centrado en el problema de la exploración en el aprendizaje offline. En este artículo, queremos presentar un algoritmo cuyos autores han abandonado por completo la función de recompensa.
preview
Creación de un Panel de Administración de Operaciones en MQL5 (Parte V): Panel de Gestión de Operaciones (II)

Creación de un Panel de Administración de Operaciones en MQL5 (Parte V): Panel de Gestión de Operaciones (II)

En este artículo, mejoraremos el Panel de Gestión Comercial de nuestro Panel de Administración multifuncional. Hoy introduciremos una potente función de ayuda que simplificará el código, mejorando su legibilidad, su mantenimiento y su eficiencia. También demostraremos cómo integrar sin problemas botones adicionales y mejorar la interfaz para gestionar una gama más amplia de tareas de negociación. Ya sea para gestionar posiciones, ajustar órdenes o simplificar las interacciones de los usuarios, esta guía le ayudará a desarrollar un panel de gestión de operaciones sólido y sencillo de usar.
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
Creación de un modelo de restricción de tendencia de velas (Parte 6): Integración todo en uno

Creación de un modelo de restricción de tendencia de velas (Parte 6): Integración todo en uno

Un reto importante es la gestión de varias ventanas de gráficos del mismo par que ejecutan el mismo programa con diferentes funciones. Vamos a discutir cómo consolidar varias integraciones en un programa principal. Además, compartiremos ideas sobre la configuración del programa para imprimir en un diario y comentar el éxito de la emisión de señales en la interfaz de gráficos. Encontrará más información en este artículo a medida que avancemos en la serie de artículos.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 03):  Haciendo ajustes (I)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 03): Haciendo ajustes (I)

Pongamos las cosas en su sitio, porque este comienzo no ha sido de los mejores. Si no lo hacemos ahora, pronto tendremos problemas.