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
Interfaces gráficas XI: Controles dibujados (build 14.2)
Interfaces gráficas XI: Controles dibujados (build 14.2)

Interfaces gráficas XI: Controles dibujados (build 14.2)

En la nueva versión de la librería, todos los controles van a dibujarse en los objetos gráficos separados tipo OBJ_BITMAP_LABEL. Además, seguiremos describiendo la optimización del código: es decir, analizaremos los cambios en las clases que representan el núcleo de la librería.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 45): Búferes de indicador de periodo múltiple
Trabajando con las series temporales en la biblioteca DoEasy (Parte 45): Búferes de indicador de periodo múltiple

Trabajando con las series temporales en la biblioteca DoEasy (Parte 45): Búferes de indicador de periodo múltiple

En el artículo, comenzaremos a mejorar los objetos de búfer de indicador y la clase de colección de búferes para trabajar en los modos de periodo y símbolo múltiples. Asimismo, analizaremos el funcionamiento de los objetos de búfer para obtener y mostrar los datos desde cualquier marco temporal en el gráfico actual del símbolo actual.
preview
Cómo construir un EA que opere automáticamente (Parte 05): Gatillos manuales (II)

Cómo construir un EA que opere automáticamente (Parte 05): Gatillos manuales (II)

Aprenda a crear un EA que opere automáticamente de forma sencilla y segura. Al final del artículo anterior, pensé que sería apropiado permitir el uso del EA de forma manual, al menos durante un tiempo.
preview
Creación de un asesor experto integrado de MQL5 y Telegram (Parte 2): Envío de señales de MQL5 a Telegram

Creación de un asesor experto integrado de MQL5 y Telegram (Parte 2): Envío de señales de MQL5 a Telegram

En este artículo, creamos un Asesor Experto integrado con MQL5 y Telegram que envía señales de cruce de medias móviles a Telegram. Detallamos el proceso de generación de señales de trading a partir de cruces de medias móviles, implementando el código necesario en MQL5, y asegurando que la integración funciona a la perfección. El resultado es un sistema que proporciona alertas comerciales en tiempo real directamente a su chat grupal de Telegram.
preview
Cómo crear un panel interactivo MQL5 utilizando la clase Controls (Parte 1): Configuración del panel

Cómo crear un panel interactivo MQL5 utilizando la clase Controls (Parte 1): Configuración del panel

En este artículo, creamos un panel de control interactivo para operaciones bursátiles utilizando la clase Controls en MQL5, diseñada para optimizar las operaciones bursátiles. El panel incluye un título, botones de navegación para Operar, Cerrar e Información, y botones de acción especializados para ejecutar operaciones y gestionar posiciones. Al final del artículo, tendrás un panel base listo para futuras mejoras en futuras entregas.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 6): Dos indicadores RSI se cruzan entre sí

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 6): Dos indicadores RSI se cruzan entre sí

Por asesor multidivisa en este artículo nos referimos a un asesor o robot comercial que utiliza dos indicadores RSI con líneas de intersección: un RSI rápido que se cruza con uno lento.
preview
Algoritmos de optimización de la población: Algoritmo de optimización de ballenas (Whale Optimization Algorithm, WOA)

Algoritmos de optimización de la población: Algoritmo de optimización de ballenas (Whale Optimization Algorithm, WOA)

El algoritmo de optimización de ballenas (WOA) es un algoritmo metaheurístico inspirado en el comportamiento y las estrategias de caza de las ballenas jorobadas. La idea básica del WOA es imitar el método de alimentación denominado "red de burbujas", en el que las ballenas crean burbujas alrededor de la presa para atacarla después en espiral.
preview
Redes neuronales: así de sencillo (Parte 16): Uso práctico de la clusterización

Redes neuronales: así de sencillo (Parte 16): Uso práctico de la clusterización

En el artículo anterior, creamos una clase para la clusterización de datos. En este artículo, queremos compartir con el lector diferentes opciones de uso de los resultados obtenidos para resolver problemas prácticos en el trading.
preview
Programación orientada a objetos (OOP) en MQL5

Programación orientada a objetos (OOP) en MQL5

Como desarrolladores, debemos aprender a crear y desarrollar software que sea reutilizable y flexible sin duplicar código, especialmente si tenemos diferentes objetos con comportamientos distintos. Esto se puede lograr fácilmente utilizando las técnicas y principios de la programación orientada a objetos. En este artículo le presentamos los conceptos básicos de la programación orientada a objetos en MQL5.
preview
Estudiamos el indicador de perfil de mercado Market Profile: ¿Qué es y cómo se estructura?

Estudiamos el indicador de perfil de mercado Market Profile: ¿Qué es y cómo se estructura?

Hoy nos familiarizaremos con el "Perfil de mercado". Además, averiguaremos qué hay detrás de este nombre, trataremos de entender los principios de trabajo con el Perfil y analizaremos su versión presentada en el terminal bajo el nombre MarketProfile.
preview
Gestión de Riesgo (parte 3): Construyendo la Clase Principal para la Gestión de Riesgo

Gestión de Riesgo (parte 3): Construyendo la Clase Principal para la Gestión de Riesgo

En este artículo daremos inicio a la creación de la clase principal de gestión de riesgo, la cual será fundamental para administrar el riesgo en el sistema. Nos enfocaremos en construir las bases, definiendo estructuras, variables y funciones esenciales. Además, implementaremos los métodos necesarios para asignar valores a las pérdidas y ganancias máximas, estableciendo así los cimientos de esta gestión.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte VI): Eventos en la cuenta con compensación
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte VI): Eventos en la cuenta con compensación

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte VI): Eventos en la cuenta con compensación

En anteriores artículos comenzamos a crear una gran biblioteca multiplataforma cuyo objetivo es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la quinta parte, hemos creado las clases de los eventos comerciales y la colección de eventos desde donde se envían los eventos a la objeto de la biblioteca Engine y al gráfico del programa de control. En esta parte de la descripción, vamos a añadir la posibilidad de trabajar con la biblioteca en las cuentas de tipo compensación.
preview
Metamodelos en el aprendizaje automático y el trading: Timing original de las órdenes comerciales

Metamodelos en el aprendizaje automático y el trading: Timing original de las órdenes comerciales

Metamodelos en el aprendizaje automático: Creación automática de sistemas comerciales sin apenas intervención humana: el Modelo decide por sí mismo cómo y cuándo comerciar.
preview
Desarrollo de un EA comercial desde cero (Parte 26): Rumbo al futuro (I)

Desarrollo de un EA comercial desde cero (Parte 26): Rumbo al futuro (I)

Llevaremos nuestro sistema de órdenes al siguiente nivel, pero primero tenemos que resolver algunas cosas. Y es que ahora tenemos cuestiones que dependen de cómo queremos operar y de qué tipo de cosas hacemos durante la jornada de tráding.
preview
Formulación de un Asesor Experto Multipar Dinámico (Parte 1): Correlación de divisas y correlación inversa

Formulación de un Asesor Experto Multipar Dinámico (Parte 1): Correlación de divisas y correlación inversa

El asesor experto dinámico de múltiples pares aprovecha las estrategias de correlación y correlación inversa para optimizar el rendimiento comercial. Al analizar datos del mercado en tiempo real, identifica y explota la relación entre pares de divisas.
preview
DoEasy. Elementos de control (Parte 19): Scrolling de pestañas en el elemento TabControl, eventos de objetos WinForms

DoEasy. Elementos de control (Parte 19): Scrolling de pestañas en el elemento TabControl, eventos de objetos WinForms

En este artículo, crearemos la funcionalidad necesaria para el scrolling de los encabezados de las pestañas en TabControl usando los botones de control de scrolling. La funcionalidad servirá para organizar los encabezados de las pestañas en una sola línea a cualquier lado del control.
preview
Sistema de arbitraje de alta frecuencia en Python con MetaTrader 5

Sistema de arbitraje de alta frecuencia en Python con MetaTrader 5

Hoy vamos a crear un sistema de arbitraje legal a los ojos de los brókeres, que creará miles de precios sintéticos en el mercado Fórex, los analizará y negociará con éxito para obtener beneficios.
preview
Redes neuronales: así de sencillo (Parte 34): Función cuantílica totalmente parametrizada

Redes neuronales: así de sencillo (Parte 34): Función cuantílica totalmente parametrizada

Seguimos analizando algoritmos de aprendizaje Q distribuidos. En artículos anteriores hemos analizado los algoritmos de aprendizaje Q distribuido y cuantílico. En el primero, enseñamos las probabilidades de los rangos de valores dados. En el segundo, enseñamos los rangos con una probabilidad determinada. Tanto en el primer algoritmo como en el segundo, usamos el conocimiento a priori de una distribución y enseñamos la otra. En el presente artículo, veremos un algoritmo que permite al modelo aprender ambas distribuciones.
preview
Aproximación por fuerza bruta a la búsqueda de patrones (Parte VI): Optimización cíclica

Aproximación por fuerza bruta a la búsqueda de patrones (Parte VI): Optimización cíclica

En este artículo mostraremos la primera parte de las mejoras que nos permitieron no solo cerrar toda la cadena de automatización para comerciar en MetaTrader 4 y 5, sino también hacer algo mucho más interesante. A partir de ahora, esta solución nos permitirá automatizar completamente tanto el proceso de creación de asesores como el proceso de optimización, así como minimizar el gasto de recursos a la hora de encontrar configuraciones comerciales efectivas.
Gráficos en la biblioteca DoEasy (Parte 89): Creación programática de objetos gráficos estándar Funcionalidad básica
Gráficos en la biblioteca DoEasy (Parte 89): Creación programática de objetos gráficos estándar Funcionalidad básica

Gráficos en la biblioteca DoEasy (Parte 89): Creación programática de objetos gráficos estándar Funcionalidad básica

Nuestra biblioteca ahora puede monitorear la aparición de objetos gráficos estándar en el gráfico del terminal de cliente, así como la eliminación y modificación de algunos de sus parámetros. Pero para que el "conjunto" quede completo, obviamente necesitamos la capacidad de crear objetos gráficos estándar a partir de nuestros programas.
preview
Redes neuronales: así de sencillo (Parte 33): Regresión cuantílica en el aprendizaje Q distribuido

Redes neuronales: así de sencillo (Parte 33): Regresión cuantílica en el aprendizaje Q distribuido

Continuamos explorando el aprendizaje Q distribuido. Hoy analizaremos este enfoque desde un ángulo diferente. Vamos a hablar de la posibilidad de utilizar la regresión cuantílica para resolver el problema de la previsión de los movimientos de precio.
preview
Creación de un Asesor Experto MQL5 basado en la estrategia PIRANHA utilizando las Bandas de Bollinger

Creación de un Asesor Experto MQL5 basado en la estrategia PIRANHA utilizando las Bandas de Bollinger

En este artículo, creamos un Asesor Experto (Expert Advisor, EA) en MQL5 basado en la estrategia PIRANHA, utilizando Bandas de Bollinger para mejorar la efectividad comercial. Discutimos los principios clave de la estrategia, la implementación de la codificación y los métodos de prueba y optimización. Este conocimiento le permitirá implementar el EA en sus escenarios comerciales de manera efectiva.
Gráficos en la biblioteca DoEasy (Parte 96): Trabajando con los eventos del ratón y los gráficos en los objetos de formulario
Gráficos en la biblioteca DoEasy (Parte 96): Trabajando con los eventos del ratón y los gráficos en los objetos de formulario

Gráficos en la biblioteca DoEasy (Parte 96): Trabajando con los eventos del ratón y los gráficos en los objetos de formulario

En este artículo, comenzaremos a desarrollar las funciones necesarias para trabajar con los eventos del ratón en los objetos de formulario y añadiremos nuevas propiedades y la monitorización de las mismas al objeto de símbolo. Además, hoy finalizaremos la clase de objeto símbolo, ya que, desde el momento en que la escribimos, los símbolos gráficos han adquirido nuevas propiedades que debemos considerar, y cuyos cambios tenemos que monitorear.
preview
Teoría de categorías en MQL5 (Parte 8): Monoides

Teoría de categorías en MQL5 (Parte 8): Monoides

El presente artículo continúa la serie sobre la implementación de la teoría de categorías en MQL5. Aquí presentamos los monoides como un dominio (conjunto) que distingue la teoría de categorías de otros métodos de clasificación de datos al incluir reglas y un elemento de identidad.
preview
Redes neuronales: así de sencillo (Parte 83): Algoritmo de convertidor espacio-temporal de atención constante (Conformer)

Redes neuronales: así de sencillo (Parte 83): Algoritmo de convertidor espacio-temporal de atención constante (Conformer)

El algoritmo de Conformer que le mostraremos hoy se desarrolló para la previsión meteorológica, una esfera del saber que, por su constante variabilidad, puede compararse con los mercados financieros. El Conformer es un método completo que combina las ventajas de los modelos de atención y las ecuaciones diferenciales ordinarias.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 44): Las clases de colección de los objetos de búferes de indicador
Trabajando con las series temporales en la biblioteca DoEasy (Parte 44): Las clases de colección de los objetos de búferes de indicador

Trabajando con las series temporales en la biblioteca DoEasy (Parte 44): Las clases de colección de los objetos de búferes de indicador

En el artículo, analizaremos la creación de la clase de colección de los objetos de búferes de indicador y pondremos a prueba la posibilidad de crear cualquier número de búferes para los programas-indicadores, así como la posibilidad de trabajar con estos (el número máximo de búferes que se pueden crear en los indicadores MQL es de 512).
Gráficos en la biblioteca DoEasy (Parte 76): Objeto de formulario y temas de color predeterminados
Gráficos en la biblioteca DoEasy (Parte 76): Objeto de formulario y temas de color predeterminados

Gráficos en la biblioteca DoEasy (Parte 76): Objeto de formulario y temas de color predeterminados

En este artículo, describiremos la construcción de diferentes temas de diseño de la GUI en la biblioteca. Asimismo, crearemos el objeto "formulario", que es sucesor del objeto de clase del elemento gráfico, y también prepararemos los datos para crear las sombras de los objetos gráficos de la biblioteca y desarrollar posteriormente la funcionalidad.
preview
Obtenga una ventaja sobre cualquier mercado

Obtenga una ventaja sobre cualquier mercado

Aprenda cómo puede adelantarse a cualquier mercado en el que desee operar, independientemente de su nivel actual de habilidad.
preview
Aprendiendo a diseñar un sistema de trading con Bears Power Index

Aprendiendo a diseñar un sistema de trading con Bears Power Index

Bienvenidos a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. En esta ocasión, hablaremos sobre el Bears Power Index y crearemos un sistema comercial basado en sus indicadores.
preview
Redes neuronales: así de sencillo (Parte 84): Normalización reversible (RevIN)

Redes neuronales: así de sencillo (Parte 84): Normalización reversible (RevIN)

Hace tiempo que sabemos que el preprocesamiento de los datos de origen desempeña un papel fundamental en la estabilidad del entrenamiento de los modelos. Y para el procesamiento en línea de datos de origen "brutos" solemos utilizar una capa de normalización por lotes. Pero a veces tenemos que invertir el procedimiento. En este artículo analizaremos un posible enfoque para resolver este tipo de problemas.
Gráficos en la biblioteca DoEasy (Parte 85): Colección de objetos gráficos - añadiendo los objetos nuevamente creados
Gráficos en la biblioteca DoEasy (Parte 85): Colección de objetos gráficos - añadiendo los objetos nuevamente creados

Gráficos en la biblioteca DoEasy (Parte 85): Colección de objetos gráficos - añadiendo los objetos nuevamente creados

En este artículo, finalizaremos la creación de las clases herederas de la clase de objeto gráfico abstracto y comenzaremos a implementar el almacenamiento de estos objetos en la clase de colección. En concreto, crearemos la funcionalidad necesaria para añadir los objetos gráficos estándar recién creados a la clase de colección.
preview
DoEasy. Elementos de control (Parte 27): Seguimos trabajando en el objeto WinForms "ProgressBar"

DoEasy. Elementos de control (Parte 27): Seguimos trabajando en el objeto WinForms "ProgressBar"

En este artículo, continuaremos desarrollando el control ProgressBar. Vamos a crear la funcionalidad necesaria para gestionar la barra de progreso y los efectos visuales.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 8): Desarrollo de un asesor experto (II)

Creación de un modelo de restricción de tendencia de velas (Parte 8): Desarrollo de un asesor experto (II)

Piense en un asesor experto independiente. Anteriormente, analizamos un Asesor Experto basado en indicadores que también se asoció con un script independiente para dibujar la geometría de riesgo y recompensa. Hoy discutiremos la arquitectura de un Asesor Experto MQL5, que integra todas las características en un solo programa.
preview
Desarrollando un EA comercial desde cero (Parte 09): Un salto conceptual (II)

Desarrollando un EA comercial desde cero (Parte 09): Un salto conceptual (II)

Colocación del Chart Trade en una ventana flotante. En el artículo anterior creamos el sistema base para utilizar templates dentro de una ventana flotante.
Indicador CCI. Tres pasos para la transformación
Indicador CCI. Tres pasos para la transformación

Indicador CCI. Tres pasos para la transformación

En este artículo, intentaremos realizar cambios adicionales en el indicador CCI. Estos cambios afectarán a la propia lógica del indicador, hasta el punto de que podremos ver este indicador en la ventana del gráfico principal.
preview
Algoritmos de optimización de la población: Algoritmo de gotas de agua inteligentes (Intelligent Water Drops, IWD)

Algoritmos de optimización de la población: Algoritmo de gotas de agua inteligentes (Intelligent Water Drops, IWD)

El artículo analiza un interesante algoritmo, las gotas de agua inteligentes, IWD, presente en la naturaleza inanimada, que simula el proceso de formación del cauce de un río. Las ideas de este algoritmo han permitido mejorar significativamente el anterior líder de la clasificación, el SDS, y el nuevo líder (SDSm modificado); como de costumbre, se puede encontrar en el archivo del artículo.
preview
Redes neuronales: así de sencillo (Parte 18): Reglas asociativas

Redes neuronales: así de sencillo (Parte 18): Reglas asociativas

Como continuación de esta serie, hoy presentamos otro tipo de tarea relacionada con los métodos de aprendizaje no supervisado: la búsqueda de reglas asociativas. Este tipo de tarea se usó por primera vez en el comercio minorista para analizar las cestas de la compra. En este artículo, hablaremos de las posibilidades que ofrece el uso de dichos algoritmos en el trading.
preview
Experimentos con redes neuronales (Parte 6): El perceptrón como herramienta autosuficiente de predicción de precios

Experimentos con redes neuronales (Parte 6): El perceptrón como herramienta autosuficiente de predicción de precios

Ejemplo de utilización de un perceptrón como herramienta autónoma de predicción de precios. En el artículo exploraremos los conceptos generales y veremos un sencillo asesor experto ya preparado, así como los resultados de su optimización.
Gráficos en la biblioteca DoEasy (Parte 88): Colección de objetos gráficos - matriz dinámica bidimensional para almacenar propiedades de objetos que cambian dinámicamente
Gráficos en la biblioteca DoEasy (Parte 88): Colección de objetos gráficos - matriz dinámica bidimensional para almacenar propiedades de objetos que cambian dinámicamente

Gráficos en la biblioteca DoEasy (Parte 88): Colección de objetos gráficos - matriz dinámica bidimensional para almacenar propiedades de objetos que cambian dinámicamente

En este artículo, crearemos una clase de matriz multidimensional dinámica con capacidad de cambiar la cantidad de datos en cualquier dimensión. Basándonos en la clase creada, crearemos una matriz dinámica bidimensional para guardar algunas propiedades de objetos gráficos que cambian dinámicamente.
preview
Cómo construir un EA que opere automáticamente (Parte 13): Automatización (V)

Cómo construir un EA que opere automáticamente (Parte 13): Automatización (V)

¿Sabes lo que es un diagrama de flujo? ¿Sabes cómo utilizarlo? ¿Cree que los diagramas de flujo son sólo cosas de aprendiz de programador? Pues echa un vistazo a este artículo y aprende a trabajar con diagramas de flujo.