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
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
Modelos de regresión de la biblioteca Scikit-learn y su exportación a ONNX

Modelos de regresión de la biblioteca Scikit-learn y su exportación a ONNX

En este artículo exploraremos la aplicación de modelos de regresión del paquete Scikit-learn e intentaremos convertirlos al formato ONNX y utilizaremos los modelos resultantes dentro de programas MQL5. Adicionalmente, compararemos la precisión de los modelos originales con sus versiones ONNX tanto para precisión flotante como doble. Además, examinaremos la representación ONNX de los modelos de regresión con el fin de comprender mejor su estructura interna y sus principios de funcionamiento.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 01): Primeros experimentos (I)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 01): Primeros experimentos (I)

¿Qué te parece crear un sistema para estudiar el mercado cuando está cerrado o simular situaciones de mercado? Aquí iniciaremos una nueva secuencia de artículos para tratar este tema.
preview
Aprendizaje automático y Data Science (Parte 26): La batalla definitiva en la previsión de series temporales: redes neuronales LSTM frente a GRU

Aprendizaje automático y Data Science (Parte 26): La batalla definitiva en la previsión de series temporales: redes neuronales LSTM frente a GRU

En el artículo anterior, hablamos de una RNN sencilla que, a pesar de su incapacidad para comprender las dependencias a largo plazo en los datos, fue capaz de realizar una estrategia rentable. En este artículo hablaremos tanto de la memoria a largo plazo (LSTM) como de la unidad recurrente controlada (GRU). Estas dos se introdujeron para superar las deficiencias de una RNN simple y ser más astuta que ella.
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.
Gráficos en la biblioteca DoEasy (Parte 80): Clase de objeto "Fotograma de animación geométrica"
Gráficos en la biblioteca DoEasy (Parte 80): Clase de objeto "Fotograma de animación geométrica"

Gráficos en la biblioteca DoEasy (Parte 80): Clase de objeto "Fotograma de animación geométrica"

En este artículo, optimizaremos el código de las clases de los artículos anteriores y crearemos una clase de objeto de fotograma de animación geométrica que nos permitará dibujar polígonos regulares con un número determinado de vértices.
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.
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
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
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.
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
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 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.
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
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.
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.
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
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.
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
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.
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
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 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.
Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación
Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación

Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación

En este artículo, comenzaremos a desarrollar varios eventos de los objetos gráficos compuestos. Vamos a analizar parcialmente el desplazamiento y la eliminación de los objetos gráficos compuestos. En general, hoy vamos a mejorar lo que ya creamos en el último artículo.
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
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
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.
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.
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).
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
Aprendizaje automático y Data Science (Parte 13): Analizamos el mercado financiero usando el análisis de componentes principales (ACP)

Aprendizaje automático y Data Science (Parte 13): Analizamos el mercado financiero usando el análisis de componentes principales (ACP)

Hoy intentaremos mejorar cualitativamente el análisis de los mercados financieros utilizando el Análisis de Componentes Principales (ACP). Asimismo, aprenderemos cómo este método puede ayudarnos a identificar patrones ocultos en los datos, detectar tendencias ocultas del mercado y optimizar las estrategias de inversión. En este artículo veremos cómo el método de ACP aporta una nueva perspectiva al análisis de datos financieros complejos, ayudándonos a ver ideas que hemos pasado por alto con los enfoques tradicionales. ¿La aplicación del método ACP en estos mercados financieros ofrece una ventaja competitiva y ayuda a ir un paso por delante?
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
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.
preview
Cómo crear un diario de operaciones con MetaTrader y Google Sheets

Cómo crear un diario de operaciones con MetaTrader y Google Sheets

Crear un diario de operaciones con MetaTrader y Google Sheets! Aprenderá cómo sincronizar sus datos comerciales a través de HTTP POST y recuperarlos mediante solicitudes HTTP. Al final, tendrás un diario de operaciones que te ayudará a realizar un seguimiento de tus operaciones de manera eficaz y eficiente.
preview
Tablero de cotizaciones: Versión básica

Tablero de cotizaciones: Versión básica

Aquí te mostraré cómo crear esas pantallas en forma de banda, normalmente usadas para mostrar cotizaciones como en la bolsa, pero pura y simplemente usando MQL5, sin recurrir a programación externa complicada e innecesariamente sofisticada.
preview
Introducción a MQL5 (Parte 3): Estudiamos los elementos básicos de MQL5

Introducción a MQL5 (Parte 3): Estudiamos los elementos básicos de MQL5

En este artículo, seguiremos estudiando los fundamentos de la programación MQL5. Hoy veremos los arrays, las funciones definidas por el usuario, los preprocesadores y el procesamiento de eventos. Para una mayor claridad, todos los pasos de cada explicación irán acompañado de un código. Esta serie de artículos sienta las bases para el aprendizaje de MQL5, prestando especial atención a la explicación de cada línea de código.
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.