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
Otras clases en la biblioteca DoEasy (Parte 71): Eventos de la colección de objetos de gráfico
Otras clases en la biblioteca DoEasy (Parte 71): Eventos de la colección de objetos de gráfico

Otras clases en la biblioteca DoEasy (Parte 71): Eventos de la colección de objetos de gráfico

En el presente artículo, crearemos la funcionalidad necesaria para monitorear algunos eventos de los objetos del gráfico: añadir y eliminar gráficos de símbolos, añadir y eliminar subventanas en el gráfico, y también añadir/eliminar/cambiar indicadores en las ventanas del gráfico.
Implementando OLAP en la negociación (Parte 2): Visualización de los resultados del análisis interactivo de los datos multidimensionales
Implementando OLAP en la negociación (Parte 2): Visualización de los resultados del análisis interactivo de los datos multidimensionales

Implementando OLAP en la negociación (Parte 2): Visualización de los resultados del análisis interactivo de los datos multidimensionales

En este artículo, se consideran diversos aspectos del desarrollo de la interfaz gráfica interactiva de un programa MQL diseñado para el procesamiento analítico en línea (OLAP) del historial de la cuenta y de los informes comerciales. Para obtener un resultado visual, se usan las ventanas maximizadas y de escala, una disposición adaptable de los controles «de goma» y un nuevo control para mostrar diagramas. A base de eso, fue implementado GUI con una selección de indicadores a lo largo de los ejes de coordenadas, funciones agregadas, tipos de los gráficos y ordenaciones.
preview
Análisis del sentimiento en Twitter con sockets

Análisis del sentimiento en Twitter con sockets

Este innovador bot comercial integra MetaTrader 5 con Python para aprovechar el análisis del sentimiento de las redes sociales en tiempo real para tomar decisiones comerciales automatizadas. Mediante el análisis del sentimiento en Twitter relacionado con instrumentos financieros específicos, el bot traduce las tendencias de las redes sociales en señales de negociación procesables. Utiliza una arquitectura cliente-servidor con comunicación por socket, lo que permite una interacción perfecta entre las capacidades de negociación de MT5 y la potencia de procesamiento de datos de Python.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 52): Concepto multiplataforma de indicadores estándar de período y símbolo múltiples de búfer único

Trabajando con las series temporales en la biblioteca DoEasy (Parte 52): Concepto multiplataforma de indicadores estándar de período y símbolo múltiples de búfer único

En el presente artículo, vamos a considerar la creación del indicador estándar de período y símbolo múltiples Accumulation/Distribution. Vamos a mejorar un poco las clases de la biblioteca en cuanto a los indicadores para que los programas escritos para la plataforma obsoleta MetaTrader 4 y basados en la biblioteca en cuestión puedan funcionar sin problema cuando los usamos en MetaTrader 5.
Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos
Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos

Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos

En este artículo, continuaremos trabajando en el monitoreo de los eventos de los objetos gráficos estándar y crearemos una funcionalidad que nos permitirá controlar los cambios en las propiedades de los objetos gráficos colocados en cualquier gráfico abierto en el terminal.
preview
Características del Wizard MQL5 que debe conocer (Parte 1): Análisis de regresión

Características del Wizard MQL5 que debe conocer (Parte 1): Análisis de regresión

De manera consciente o inconsciente, el tráder moderno está casi siempre en busca de nuevas ideas, probando constantemente nuevas estrategias, modificándolas y descartando las que han fracasado. Este proceso de investigación requiere mucho tiempo y se ve acompañado por muchos errores. En esta serie de artículos, intentaré demostrar que el Wizard MQL5 es un verdadero apoyo para el tráder. Gracias al Wizard, el tráder podrá ahorrar tiempo a la hora de poner en práctica sus ideas. Asimismo, podrá reducir la probabilidad de que surjan errores por duplicación de código. En lugar de perder el tiempo con el código, los tráders tendrán la posibilidad de poner en práctica su filosofía comercial.
preview
Algoritmos de optimización de la población: Búsqueda por difusión estocástica (Stochastic Diffusion Search, SDS)

Algoritmos de optimización de la población: Búsqueda por difusión estocástica (Stochastic Diffusion Search, SDS)

En este artículo veremos la búsqueda por difusión estocástica, o SDS, que es un algoritmo de optimización muy potente y eficiente basado en los principios del paseo aleatorio. El algoritmo puede encontrar soluciones óptimas en espacios multidimensionales complejos, con una alta tasa de convergencia y la capacidad de evitar extremos locales.
preview
Redes neuronales en el trading: Modelo de doble atención para la previsión de tendencias

Redes neuronales en el trading: Modelo de doble atención para la previsión de tendencias

Continuamos la conversación sobre el uso de la representación lineal por partes de las series temporales iniciada en el artículo anterior. Y hoy hablaremos de la combinación de este método con otros enfoques del análisis de series temporales para mejorar la calidad de la previsión de la tendencia del movimiento de precios.
preview
Algoritmo de cola de cometa (Comet Tail Algorithm, CTA)

Algoritmo de cola de cometa (Comet Tail Algorithm, CTA)

En este artículo, analizaremos un nuevo algoritmo de optimización de autor, el CTA (Comet Tail Algorithm), que se inspira en objetos espaciales únicos: los cometas y sus impresionantes colas que se forman al acercarse al Sol. Este algoritmo se basa en el concepto del movimiento de los cometas y sus colas, y está diseñado para encontrar soluciones óptimas en problemas de optimización.
preview
Introducción a MQL5 (Parte 10): Guía de trabajo con indicadores incorporados en MQL5 para principiantes

Introducción a MQL5 (Parte 10): Guía de trabajo con indicadores incorporados en MQL5 para principiantes

Este artículo describe cómo trabajar con indicadores incorporados en MQL5, con especial atención en la creación de un asesor experto basado en el indicador RSI utilizando un enfoque de proyecto. Hoy aprenderá a obtener y utilizar los valores RSI, a gestionar las fluctuaciones de liquidez y a mejorar la visualización de las transacciones mediante objetos gráficos. Además, el artículo abordará otros aspectos importantes: el riesgo como porcentaje del depósito, los ratios riesgo/rentabilidad y la modificación del riesgo sobre la marcha para proteger los beneficios.
preview
Redes neuronales: así de sencillo (Parte 45): Entrenando habilidades de exploración de estados

Redes neuronales: así de sencillo (Parte 45): Entrenando habilidades de exploración de estados

El entrenamiento de habilidades útiles sin una función de recompensa explícita es uno de los principales desafíos del aprendizaje por refuerzo jerárquico. Ya nos hemos familiarizado antes con dos algoritmos para resolver este problema, pero el tema de la exploración del entorno sigue abierto. En este artículo, veremos un enfoque distinto en el entrenamiento de habilidades, cuyo uso dependerá directamente del estado actual del sistema.
Otras clases en la biblioteca DoEasy (Parte 69): Clases de colección de objetos de gráfico
Otras clases en la biblioteca DoEasy (Parte 69): Clases de colección de objetos de gráfico

Otras clases en la biblioteca DoEasy (Parte 69): Clases de colección de objetos de gráfico

A partir de este artículo, comenzaremos el desarrollo de una colección de clases de objetos de gráfico que almacenará una colección de lista de objetos de gráfico con sus subventanas y los indicadores en ellas, y nos permitirá trabajar con cualquier gráfico seleccionado y sus subventanas, o bien directamente con una lista de varios gráficos al mismo tiempo.
preview
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD

Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD

El presente artículo representa el primer intento de desarrollar un cliente MQTT nativo para MQL5. El MQTT es un protocolo de comunicación "publicación-suscripción". Es ligero, abierto, simple y está diseñado para implementarse con facilidad, lo cual permite su uso en muchas situaciones.
preview
Reimaginando las estrategias clásicas (Parte III): Predicción de máximos crecientes y mínimos decrecientes

Reimaginando las estrategias clásicas (Parte III): Predicción de máximos crecientes y mínimos decrecientes

En esta serie de artículos, analizaremos empíricamente las estrategias comerciales clásicas para ver si podemos mejorarlas utilizando IA. En la discusión de hoy, intentamos predecir máximos más altos y mínimos más bajos utilizando el modelo de análisis discriminante lineal.
preview
Automatización de estrategias de trading en MQL5 (Parte 12): Implementación de la estrategia Mitigation Order Blocks (MOB)

Automatización de estrategias de trading en MQL5 (Parte 12): Implementación de la estrategia Mitigation Order Blocks (MOB)

En este artículo creamos un sistema de trading en MQL5 que se encarga de detectar de forma automática los "order blocks", un concepto utilizado en el método Smart Money. Describimos las reglas de la estrategia, implementamos la lógica en MQL5 e integramos la gestión de riesgos para una ejecución eficaz de las operaciones. Por último, realizamos pruebas retrospectivas del sistema para evaluar su rendimiento y perfeccionarlo con el fin de obtener resultados óptimos.
preview
Redes neuronales: así de sencillo (Parte 23): Creamos una herramienta para el Transfer Learning

Redes neuronales: así de sencillo (Parte 23): Creamos una herramienta para el Transfer Learning

En esta serie de artículos, hemos mencionado el Aprendizaje por Transferencia más de una vez, pero hasta ahora no había sido más que una mención. Le propongo rellenar este vacío y analizar más de cerca el Aprendizaje por Transferencia.
preview
Algoritmo de recompra: simulación del comercio multidivisa

Algoritmo de recompra: simulación del comercio multidivisa

En este artículo crearemos un modelo matemático para simular la formación de precios multidivisa y completaremos el estudio del principio de diversificación en la búsqueda de mecanismos para aumentar la eficiencia del trading que inicié en el artículo anterior con cálculos teóricos.
preview
Creación de un EA limitador de reducción diaria en MQL5

Creación de un EA limitador de reducción diaria en MQL5

El artículo analiza, desde una perspectiva detallada, cómo implementar la creación de un Asesor Experto (EA) basado en el algoritmo comercial. Esto ayuda a automatizar el sistema en MQL5 y tomar el control de la reducción diaria.
preview
Redes neuronales: así de sencillo (Parte 88): Codificador de series temporales totalmente conectadas (TiDE)

Redes neuronales: así de sencillo (Parte 88): Codificador de series temporales totalmente conectadas (TiDE)

El deseo de obtener las previsiones más exactas impulsa a los investigadores a aumentar la complejidad de los modelos de previsión. Lo que a su vez conlleva un aumento de los costes de entrenamiento y mantenimiento del modelo. Pero, ¿está esto siempre justificado? En el presente artículo, me propongo presentarles un algoritmo que explota la sencillez y rapidez de los modelos lineales y muestra resultados a la altura de los mejores con arquitecturas más complejas.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 21):  FOREX (II)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 21): FOREX (II)

Vamos a continuar el armado del sistema para cubrir el mercado FOREX. Entonces, para resolver este problema, primero necesitaríamos declarar la carga de los ticks antes de cargar las barras previas. Esto soluciona el problema, pero al mismo tiempo obliga al usuario a seguir un tipo de estructura en el archivo de configuración que, en mi opinión, no tiene mucho sentido. La razón es que, al desarrollar la programación responsable de analizar y ejecutar lo que está en el archivo de configuración, podemos permitir que el usuario declare las cosas en cualquier orden.
preview
Redes neuronales: así de sencillo (Parte 59): Dicotomía de control (DoC)

Redes neuronales: así de sencillo (Parte 59): Dicotomía de control (DoC)

En el artículo anterior nos familiarizamos con el transformador de decisión. Sin embargo, el complejo entorno estocástico del mercado de divisas no nos permitió aprovechar plenamente el potencial del método presentado. Hoy veremos un algoritmo que tiene como objetivo mejorar el rendimiento de los algoritmos en entornos estocásticos.
preview
Integración de modelos ML con el simulador de estrategias (Conclusión): Implementación de un modelo de regresión para la predicción de precios

Integración de modelos ML con el simulador de estrategias (Conclusión): Implementación de un modelo de regresión para la predicción de precios

Este artículo describe la implementación de un modelo de regresión de árboles de decisión para predecir precios de activos financieros. Se realizaron etapas de preparación de datos, entrenamiento y evaluación del modelo, con ajustes y optimizaciones. Sin embargo, es importante destacar que el modelo es solo un estudio y no debe ser usado en operaciones reales.
preview
Criterios de tendencia en el trading

Criterios de tendencia en el trading

Las tendencias son una parte importante de muchas estrategias comerciales. En este artículo analizaremos algunas de las herramientas utilizadas para identificar tendencias y sus características. Comprender e interpretar correctamente las tendencias puede mejorar sustancialmente los resultados comerciales y minimizar los riesgos.
preview
Desarrollo de un EA comercial desde cero (Parte 29): Plataforma parlante

Desarrollo de un EA comercial desde cero (Parte 29): Plataforma parlante

En este artículo aprenderemos a hacer hablar a la plataforma MT5. ¿Qué tal si hacemos que el EA sea más divertido? Operar en los mercados financieros suele ser una actividad extremadamente aburrida y monótona, pero podemos hacerla un poco menos tediosa. Este proyecto podría ser peligroso en caso de que tengas un problema que te haga adicto, pero en realidad con las modificaciones todo el escenario podría ser más entretenido, menos aburrido.
preview
Ciclos y Forex

Ciclos y Forex

Los ciclos son de gran importancia en nuestras vidas. El día y la noche, las estaciones, los días de la semana y muchos otros ciclos de distinta naturaleza están presentes en la vida de cualquier persona. En este artículo, consideraremos los ciclos en los mercados financieros.
preview
Instalación de MetaTrader 5 y otras aplicaciones MetaQuotes en HarmonyOS NEXT

Instalación de MetaTrader 5 y otras aplicaciones MetaQuotes en HarmonyOS NEXT

Las aplicaciones de MetaQuotes, incluidas las plataformas MetaTrader 5 y MetaTrader 4, pueden instalarse en dispositivos con sistema operativo HarmonyOS NEXT usando el componente DroiTong. Este artículo ofrece una guía paso a paso para instalar aplicaciones en su teléfono o portátil.
preview
Implementando el algoritmo de aprendizaje ARIMA en MQL5

Implementando el algoritmo de aprendizaje ARIMA en MQL5

En este artículo, implementaremos un algoritmo que aplica un modelo autorregresivo de media móvil integrada (modelo Box-Jenkins) utilizando el método de minimización de la función de Powell. Box y Jenkins argumentaron que la mayoría de las series temporales se pueden modelar con una o ambas estructuras.
preview
DoEasy. Elementos de control (Parte 12): Objeto de lista básico, objetos WinForms ListBox y ButtonListBox

DoEasy. Elementos de control (Parte 12): Objeto de lista básico, objetos WinForms ListBox y ButtonListBox

En este artículo, crearemos un objeto de lista básico de objetos WinForms y dos nuevos objetos: ListBox y ButtonListBox.
preview
DoEasy. Elementos de control (Parte 7): Elemento de control "etiqueta de texto".

DoEasy. Elementos de control (Parte 7): Elemento de control "etiqueta de texto".

En este artículo, crearemos la clase de control «Etiqueta de texto» de WinForms. Dicho objeto se podrá colocar en cualquier lugar de nuestro contenedor, y su propia funcionalidad replicará algunas de las funcionalidades de las etiquetas de texto de MS Visual Studio: podremos establecer los parámetros de fuente para el texto mostrado.
preview
Redes neuronales: así de sencillo (Parte 58): Transformador de decisión (Decision Transformer-DT)

Redes neuronales: así de sencillo (Parte 58): Transformador de decisión (Decision Transformer-DT)

Continuamos nuestro análisis de los métodos de aprendizaje por refuerzo. Y en el presente artículo, presentaremos un algoritmo ligeramente distinto que considera la política del Agente en un paradigma de construcción de secuencias de acciones.
preview
Desarrollamos un asesor experto multidivisa (Parte 14): Cambio de volumen adaptable en el gestor de riesgos

Desarrollamos un asesor experto multidivisa (Parte 14): Cambio de volumen adaptable en el gestor de riesgos

El gestor de riesgos que hemos desarrollado en los últimos artículos solo contiene funciones básicas. Hoy trataremos de analizar sus posibles formas de desarrollo, lo que nos permitirá aumentar los resultados comerciales sin interferir con la lógica de las estrategias de negociación.
preview
Desarrollando un EA comercial desde cero (Parte 15): Acceso a los datos en la web (I)

Desarrollando un EA comercial desde cero (Parte 15): Acceso a los datos en la web (I)

Cómo acceder a los datos en la web dentro de MetaTrader 5. En la web tenemos varios sitios y lugares en los que una gran y vasta cantidad de información está disponible y accesible para aquellos que saben dónde buscar y cómo utilizar mejor esta información.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 15): Nacimiento del SIMULADOR (V) - RANDOM WALK

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 15): Nacimiento del SIMULADOR (V) - RANDOM WALK

En este artículo, vamos a finalizar la fase en la que estamos desarrollando el simulador para nuestro sistema. El propósito principal aquí será ajustar el algoritmo visto en el artículo anterior. Este algoritmo tiene como objetivo crear el movimiento de RANDOM WALK. Por lo tanto, es fundamental comprender el contenido de los artículos anteriores para seguir lo que se explicará aquí. Si no has seguido el desarrollo del simulador, te aconsejo que veas esta secuencia desde el principio. De lo contrario, podrías perderte en lo que se explicará aquí.
preview
Variables y tipos de datos extendidos en MQL5

Variables y tipos de datos extendidos en MQL5

Las variables y los tipos de datos son temas muy importantes no solo en la programación MQL5, sino también en cualquier lenguaje de programación. Las variables y los tipos de datos de MQL5 pueden dividirse en simples y extendidos. Aquí veremos las variables y los tipos de datos extendidos. Ya analizamos los sencillos en un artículo anterior.
preview
DoEasy. Elementos de control (Parte 20): El objeto WinForms SplitContainer

DoEasy. Elementos de control (Parte 20): El objeto WinForms SplitContainer

Hoy comenzaremos a desarrollar el control SplitContainer del conjunto de elementos de MS Visual Studio. Este elemento constará de dos paneles separados por un divisor móvil vertical u horizontal.
preview
Algoritmos de optimización de la población: Algoritmo electromagnético (ElectroMagnetism-like algorithm, ЕМ)

Algoritmos de optimización de la población: Algoritmo electromagnético (ElectroMagnetism-like algorithm, ЕМ)

El artículo describe los principios, métodos y posibilidades del uso del algoritmo electromagnético (EM) en diversos problemas de optimización. El algoritmo EM es una herramienta de optimización eficiente capaz de trabajar con grandes cantidades de datos y funciones multidimensionales.
preview
Redes neuronales: así de sencillo (Parte 67): Utilizamos la experiencia adquirida para afrontar nuevos retos

Redes neuronales: así de sencillo (Parte 67): Utilizamos la experiencia adquirida para afrontar nuevos retos

En este artículo, seguiremos hablando de los métodos de recopilación de datos en una muestra de entrenamiento. Obviamente, en el proceso de entrenamiento será necesaria una interacción constante con el entorno, aunque con frecuencia se dan situaciones diferentes.
preview
Multibot en MetaTrader (Parte II): Plantilla dinámica mejorada

Multibot en MetaTrader (Parte II): Plantilla dinámica mejorada

Desarrollando el tema del artículo anterior sobre el multibot, hemos decidido crear una plantilla más flexible y funcional, que tenga grandes posibilidades, y que se pueda utilizar eficazmente en freelance, además de como base para desarrollar asesores de divisa y periodo múltiple con posibilidad de integración con soluciones externas.
preview
El enfoque cuantitativo en la gestión de riesgos: Aplicación de un modelo VaR para la optimización de portafolios multidivisa con Python y MetaTrader 5

El enfoque cuantitativo en la gestión de riesgos: Aplicación de un modelo VaR para la optimización de portafolios multidivisa con Python y MetaTrader 5

Este artículo revelará el potencial del modelo Value at Risk (VaR) para optimizar un portafolio multidivisa. Usando el poder de Python y la funcionalidad de MetaTrader 5, hoy demostraremos cómo implementar el análisis VaR para la asignación eficiente de capital y la gestión de posiciones. Desde los fundamentos teóricos hasta la aplicación práctica, el artículo abarcará todos los aspectos de la aplicación de uno de los sistemas de cálculo del riesgo más sólidos, el VaR, a la negociación algorítmica.
Trabajando con los precios en la biblioteca DoEasy (Parte 62): Actualización de las series de tick en tiempo real, preparando para trabajar con la Profundidad del mercado
Trabajando con los precios en la biblioteca DoEasy (Parte 62): Actualización de las series de tick en tiempo real, preparando para trabajar con la Profundidad del mercado

Trabajando con los precios en la biblioteca DoEasy (Parte 62): Actualización de las series de tick en tiempo real, preparando para trabajar con la Profundidad del mercado

En este artículo, vamos a desarrollar la actualización de la colección de datos de tick en tiempo real, y prepararemos una clase del objeto de símbolo para manejar la Profundidad del mercado, con la que empezaremos a trabajar a partir del siguiente artículo.