Artículos de programación MQL4 y 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
Redes neuronales en el trading: Inyección de información global en canales independientes (InjectTST)

Redes neuronales en el trading: Inyección de información global en canales independientes (InjectTST)

La mayoría de los métodos modernos de pronóstico de series temporales multimodales utilizan el enfoque de canales independientes. Esto ignora la dependencia natural de los diferentes canales de la misma serie temporal. Un uso coherente de ambos enfoques (canales independientes y mixtos) es la clave para mejorar el rendimiento de los modelos.
preview
Integración de MQL5 con paquetes de procesamiento de datos (Parte 2): Aprendizaje automático (Machine Learning, ML) y análisis predictivo

Integración de MQL5 con paquetes de procesamiento de datos (Parte 2): Aprendizaje automático (Machine Learning, ML) y análisis predictivo

En nuestra serie sobre la integración de MQL5 con paquetes de procesamiento de datos, nos adentramos en la poderosa combinación del aprendizaje automático y el análisis predictivo. Exploraremos cómo conectar a la perfección MQL5 con librerías populares de aprendizaje automático, para habilitar sofisticados modelos predictivos para los mercados financieros.
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
Implementación de los cierres parciales en MQL5

Implementación de los cierres parciales en MQL5

En este artículo se desarrolla una clase para gestionar cierres parciales en MQL5 y se integra dentro de un EA de order blocks. Además, se presentan pruebas de backtest comparando la estrategia con y sin parciales, analizando en qué condiciones su uso puede maximizar y asegurar beneficios. Concluimos que especialmente en estilos de trading orientados a movimientos más amplios, el uso de parciales podría ser beneficioso.
preview
Redes neuronales: así de sencillo (Parte 41): Modelos jerárquicos

Redes neuronales: así de sencillo (Parte 41): Modelos jerárquicos

El presente artículo describe modelos de aprendizaje jerárquico que ofrecen un enfoque eficiente para resolver problemas complejos de aprendizaje automático. Los modelos jerárquicos constan de varios niveles; cada uno de ellos es responsable de diferentes aspectos del problema.
preview
Características del Wizard MQL5 que debe conocer (Parte 12): Polinomio de Newton

Características del Wizard MQL5 que debe conocer (Parte 12): Polinomio de Newton

El polinomio de Newton, que crea ecuaciones cuadráticas a partir de un conjunto de unos pocos puntos, es un enfoque arcaico pero interesante para observar una serie temporal. En este artículo tratamos de explorar qué aspectos podrían ser de utilidad para los operadores desde este enfoque, así como abordar sus limitaciones.
preview
Interfaz gráfica: consejos y recomendaciones para crear una biblioteca gráfica en MQL

Interfaz gráfica: consejos y recomendaciones para crear una biblioteca gráfica en MQL

Hoy abarcaremos los conceptos básicos de las bibliotecas GUI para comprender cómo funcionan estas o incluso comenzar a crear bibliotecas propias.
preview
Cuantificación en el aprendizaje automático (Parte 1): Teoría, ejemplo de código, análisis sintáctico de la aplicación CatBoost

Cuantificación en el aprendizaje automático (Parte 1): Teoría, ejemplo de código, análisis sintáctico de la aplicación CatBoost

En este artículo, hablaremos de la aplicación teórica de la cuantificación en la construcción de modelos arbóreos. Asimismo, analizaremos los métodos de cuantificación implementados en CatBoost. El material se presentará sin fórmulas matemáticas complejas, en un lenguaje accesible.
preview
DoEasy. Funciones de servicio (Parte 1): Patrones de precios

DoEasy. Funciones de servicio (Parte 1): Patrones de precios

En este artículo empezaremos a desarrollar métodos de búsqueda de patrones de precios usando datos de series temporales. Un patrón tiene una serie de parámetros comunes a todas las clases y tipos de patrones. Todos los datos de este tipo se centrarán en la clase de objeto de patrón abstracto básico. Hoy crearemos una clase de patrón abstracto y una clase de patrón Pin-bar.
preview
Simulador rápido de estrategias comerciales en Python usando Numba

Simulador rápido de estrategias comerciales en Python usando Numba

Este artículo implementaremos un simulador rápido de estrategias para modelos de aprendizaje automático utilizando Numba. En cuanto a su velocidad, superará en un factor de 50 a un simulador de estrategias puramente basado en Python. El autor recomienda usar esta biblioteca para acelerar los cálculos matemáticos, y especialmente cuando se utilizan ciclos.
preview
Operar con noticias de manera sencilla (Parte 2): Gestión de riesgos

Operar con noticias de manera sencilla (Parte 2): Gestión de riesgos

En este artículo, se introducirá la herencia en nuestro código anterior. Se implementará un nuevo diseño de base de datos para brindar eficiencia. Además, se creará una clase de gestión de riesgos para abordar los cálculos de volumen.
preview
Redes neuronales en el trading: Transformador vectorial jerárquico (Final)

Redes neuronales en el trading: Transformador vectorial jerárquico (Final)

Continuamos nuestro análisis del método del Transformador Vectorial Jerárquico. En este artículo finalizaremos la construcción del modelo. También lo entrenaremos y probaremos con datos históricos reales.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte IX): Organización del código (I)

Creación de un Panel de administración de operaciones en MQL5 (Parte IX): Organización del código (I)

Este debate profundiza en los retos que se plantean al trabajar con grandes bases de código. Exploraremos las mejores prácticas para la organización del código en MQL5 e implementaremos un enfoque práctico para mejorar la legibilidad y la escalabilidad del código fuente de nuestro Panel de administración de operaciones. Además, nuestro objetivo es desarrollar componentes de código reutilizables que puedan beneficiar a otros desarrolladores en el desarrollo de sus algoritmos. Sigue leyendo y únete a la conversación.
preview
Teoría de categorías en MQL5 (Parte 16): Funtores con perceptrones multicapa

Teoría de categorías en MQL5 (Parte 16): Funtores con perceptrones multicapa

Seguimos analizando los funtores y cómo se pueden implementar utilizando redes neuronales artificiales. Dejaremos temporalmente el enfoque que implica el pronóstico de la volatilidad e intentaremos implementar nuestra propia clase de señales para establecer señales de entrada y salida para una posición.
preview
Desarrollo de asesores expertos autooptimizables en MQL5

Desarrollo de asesores expertos autooptimizables en MQL5

Construya asesores expertos que miren hacia delante y se ajusten a cualquier mercado.
preview
Redes neuronales: así de sencillo (Parte 75): Mejora del rendimiento de los modelos de predicción de trayectorias

Redes neuronales: así de sencillo (Parte 75): Mejora del rendimiento de los modelos de predicción de trayectorias

Los modelos que creamos son cada vez más grandes y complejos. Esto aumenta los costes no sólo de su formación, sino también de su funcionamiento. Sin embargo, el tiempo necesario para tomar una decisión suele ser crítico. A este respecto, consideremos los métodos para optimizar el rendimiento del modelo sin pérdida de calidad.
preview
Redes neuronales: así de sencillo (Parte 53): Descomposición de la recompensa

Redes neuronales: así de sencillo (Parte 53): Descomposición de la recompensa

Ya hemos hablado más de una vez de la importancia de seleccionar correctamente la función de recompensa que utilizamos para estimular el comportamiento deseado del Agente añadiendo recompensas o penalizaciones por acciones individuales. Pero la cuestión que sigue abierta es el descifrado de nuestras señales por parte del Agente. En este artículo hablaremos sobre la descomposición de la recompensa en lo que respecta a la transmisión de señales individuales al Agente entrenado.
preview
Red neuronal en la práctica: La primera neurona

Red neuronal en la práctica: La primera neurona

En este artículo, comenzaremos a crear algo que muchos se sorprenden al ver funcionando: una simple y modesta neurona que lograremos programar con muy poco código en MQL5. La neurona funcionó perfectamente en las pruebas que realicé. Bueno, retrocedamos un poco en esta misma serie sobre redes neuronales, para que puedas entender de qué estoy hablando.
preview
Desarrollamos un asesor experto multidivisa (Parte 6): Automatizamos la selección de un grupo de instancias

Desarrollamos un asesor experto multidivisa (Parte 6): Automatizamos la selección de un grupo de instancias

Tras optimizar una estrategia comercial, obtendremos conjuntos de parámetros en base a los cuales podremos crear varias instancias (ejemplares) de estrategias comerciales combinadas en un asesor experto. Antes lo hacíamos manualmente, pero ahora trataremos de automatizar el proceso
preview
Uso del algoritmo de aprendizaje automático PatchTST para predecir la acción del precio durante las próximas 24 horas

Uso del algoritmo de aprendizaje automático PatchTST para predecir la acción del precio durante las próximas 24 horas

En este artículo, aplicamos un algoritmo de red neuronal relativamente complejo lanzado en 2023 llamado PatchTST para predecir la acción del precio durante las próximas 24 horas. Utilizaremos el repositorio oficial, haremos ligeras modificaciones, entrenaremos un modelo para EURUSD y lo aplicaremos para realizar predicciones futuras tanto en Python como en MQL5.
preview
Regresión neta elástica mediante descenso de coordenadas en MQL5

Regresión neta elástica mediante descenso de coordenadas en MQL5

En este artículo, analizaremos la implementación práctica de la regresión neta elástica para minimizar el sobreajuste y al mismo tiempo separar automáticamente los predictores útiles de aquellos que tienen poco poder de pronóstico.
preview
Redes neuronales: así de sencillo (Parte 60): Online Decision Transformer (ODT)

Redes neuronales: así de sencillo (Parte 60): Online Decision Transformer (ODT)

En los 2 últimos artículos nos hemos centrado en el método Decision Transformer, que modela las secuencias de acciones en el contexto de un modelo autorregresivo de recompensas deseadas. En el artículo de hoy, analizaremos otro algoritmo para optimizar este método.
preview
Algoritmo de optimización aritmética (AOA): De AOA a SOA (Simple Optimization Algorithm)

Algoritmo de optimización aritmética (AOA): De AOA a SOA (Simple Optimization Algorithm)

En este artículo, presentamos el algoritmo de optimización aritmética (AOA) basado en operaciones aritméticas simples: suma, resta, multiplicación y división. Estas operaciones matemáticas básicas sirven como base para encontrar soluciones óptimas a diversos problemas.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 18):  Ticks y más ticks (II)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 18): Ticks y más ticks (II)

En este caso, es extremadamente claro que las métricas están muy lejos del tiempo ideal para la creación de barras de 1 minuto. Entonces, lo primero que realmente corregiremos es precisamente esto. Corregir la cuestión de la temporización no es algo complicado. Por más increíble que parezca, en realidad es bastante simple de hacer. Sin embargo, no realicé la corrección en el artículo anterior porque allí el objetivo era explicar cómo llevar los datos de los ticks que se estaban utilizando para generar las barras de 1 minuto en el gráfico a la ventana de observación del mercado.
preview
El modelo de movimiento de precios y sus principales disposiciones (Parte 2):  Ecuación de evolución del campo de probabilidad del precio y aparición del paseo aleatorio observado

El modelo de movimiento de precios y sus principales disposiciones (Parte 2): Ecuación de evolución del campo de probabilidad del precio y aparición del paseo aleatorio observado

En el presente artículo, hemos derivado una ecuación para la evolución del campo probabilístico de precio, hemos encontrado un criterio para acercarnos al salto de precio, y también hemos revelado la esencia de los valores de precio en los gráficos de cotización y el mecanismo para la aparición de un paseo aleatorio de dichos valores .
preview
DoEasy. Elementos de control (Parte 24): El objeto auxiliar WinForms "Pista"

DoEasy. Elementos de control (Parte 24): El objeto auxiliar WinForms "Pista"

En este artículo, elaboraremos nuevamente la lógica de especificación de los objetos principal y básico para todos los objetos de la biblioteca WinForms; asimismo, desarrollaremos el nuevo objeto básico "Pista" y varias de sus clases derivadas para indicar la posible dirección de movimiento de la línea separadora.
preview
Ciclos y trading

Ciclos y trading

Este artículo trata sobre el uso de ciclos en el trading. Consideraremos construir una estrategia comercial basada en modelos cíclicos.
preview
Desarrollo de un sistema de repetición (Parte 30): Proyecto Expert Advisor — Clase C_Mouse (IV)

Desarrollo de un sistema de repetición (Parte 30): Proyecto Expert Advisor — Clase C_Mouse (IV)

Aquí te mostraré una técnica que puede ayudarte mucho en varios momentos de tu vida como programador. En contra de lo que muchos dicen, lo limitado no es la plataforma, sino los conocimientos del individuo que lo dice. Lo que se explicará aquí es que con un poco de sentido común y creatividad, se puede hacer que la plataforma MetaTrader 5 sea mucho más interesante y versátil, sin tener que crear programas locos ni nada por el estilo puedes crear un código sencillo, pero seguro y fiable. Utiliza tu ingenio para domar el código con el fin de modificar algo que ya existe, sin eliminar ni añadir una sola línea al código original.
preview
Desarrollo de un sistema de repetición (Parte 38): Pavimentando el terreno (II)

Desarrollo de un sistema de repetición (Parte 38): Pavimentando el terreno (II)

Muchas personas que se hacen llamar programadores de MQL5 no tienen los conocimientos básicos que presentaré en este artículo. Muchos consideran que MQL5 es limitado; sin embargo, todo se debe a la falta de conocimientos. Así que no te avergüences de no saber. Avergüénzate, en cambio, de no preguntar. El simple hecho de obligar a MetaTrader 5 a no permitir que un indicador se duplique, en ningún caso nos da los medios para realizar una comunicación bidireccional entre el indicador y el Expert Advisor. Todavía estamos muy lejos de esto. No obstante, el hecho de que el indicador no se duplique en el gráfico nos da cierta tranquilidad.
preview
Redes neuronales: así de sencillo (Parte 37): Atención dispersa (Sparse Attention)

Redes neuronales: así de sencillo (Parte 37): Atención dispersa (Sparse Attention)

En el artículo anterior, analizamos los modelos relacionales que utilizan mecanismos de atención en su arquitectura. Una de las características de dichos modelos es su mayor uso de recursos informáticos. Este artículo propondrá uno de los posibles mecanismos para reducir el número de operaciones computacionales dentro del bloque Self-Attention o de auto-atención, lo cual aumentará el rendimiento del modelo en su conjunto.
preview
Teoría de categorías en MQL5 (Parte 19): Inducción cuadrática de la naturalidad

Teoría de categorías en MQL5 (Parte 19): Inducción cuadrática de la naturalidad

Continuamos analizando las transformaciones naturales considerando la inducción cuadrática de la naturalidad. Pequeñas restricciones en la implementación de las capacidades multidivisa para los asesores ensamblados usando el wizard MQL5 significan que estamos demostrando nuestras capacidades en la clasificación de datos usando un script. Las principales áreas de aplicación son la clasificación de las variaciones de precios y, como consecuencia, su previsión.
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
DoEasy. Elementos de control (Parte 15): Objeto WinForms TabControl - múltiples filas de encabezados de pestañas, métodos de trabajo con pestañas

DoEasy. Elementos de control (Parte 15): Objeto WinForms TabControl - múltiples filas de encabezados de pestañas, métodos de trabajo con pestañas

En este artículo, continuaremos desarrollando el objeto WinForm TabControl: hoy crearemos la clase de objeto de pestaña, haremos posible la disposición de los encabezados de las pestañas en varias filas y añadiremos los métodos para trabajar con las pestañas del objeto.
preview
Redes neuronales: así de sencillo (Parte 64): Método de clonación conductual ponderada conservadora (CWBC)

Redes neuronales: así de sencillo (Parte 64): Método de clonación conductual ponderada conservadora (CWBC)

Como resultado de las pruebas realizadas en artículos anteriores, hemos concluido que la optimalidad de la estrategia entrenada depende en gran medida de la muestra de entrenamiento utilizada. En este artículo, nos familiarizaremos con un método bastante sencillo y eficaz para seleccionar trayectorias para el entrenamiento de modelos.
preview
Aprendizaje automático y Data Science (Parte 17): ¿Crece el dinero en los árboles? Bosques aleatorios en el mercado Fórex

Aprendizaje automático y Data Science (Parte 17): ¿Crece el dinero en los árboles? Bosques aleatorios en el mercado Fórex

Este artículo le presentará los secretos de la alquimia algorítmica, introduciéndole con precisión las particularidades de los paisajes financieros. Asimismo, aprenderá cómo los bosques aleatorios transforman los datos en predicciones y le servirán de ayuda al navegar por las complejidades de los mercados financieros. Intentaremos identificar el papel de los bosques aleatorios en los datos financieros y comprobaremos si pueden ayudar a aumentar los beneficios.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 5): Sistema de notificaciones (Parte II)

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

Hoy discutiremos sobre la integración funcional de Telegram para las notificaciones de indicadores de MetaTrader 5 utilizando el poder de MQL5, en asociación con Python y la API Telegram Bot. Lo explicaremos todo con detalle para que nadie se pierda ningún punto. Al finalizar este proyecto, habrá adquirido conocimientos valiosos para aplicar en sus proyectos.
preview
DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel

DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel

En este artículo, eliminaremos algunos errores que surgen al trabajar con los elementos gráficos y continuaremos desarrollando el control CPanel. Estos métodos servirán para establecer por defecto los parámetros de fuente usados para todos los objetos de texto en el panel, que a su vez podrán ser colocados en él en el futuro.
preview
Redes neuronales: así de sencillo (Parte 51): Actor-crítico conductual (BAC)

Redes neuronales: así de sencillo (Parte 51): Actor-crítico conductual (BAC)

Los dos últimos artículos han considerado el algoritmo SAC (Soft Actor-Critic), que incorpora la regularización de la entropía en la función de la recompensa. Este enfoque equilibra la exploración del entorno y la explotación del modelo, pero solo es aplicable a modelos estocásticos. El presente material analizará un enfoque alternativo aplicable tanto a modelos estocásticos como deterministas.
preview
Indicador de perfil de mercado — Market Profile (Parte 2): Optimización y dibujado en canvas

Indicador de perfil de mercado — Market Profile (Parte 2): Optimización y dibujado en canvas

En este artículo analizaremos una versión optimizada del indicador de Perfil de mercado Market Profile, donde el dibujado por parte de un conjunto de objetos gráficos se sustituye por el dibujado en un lienzo: un objeto de la clase CCanvas.
preview
Marcado de datos en el análisis de series temporales (Parte 4): Descomposición de la interpretabilidad usando el marcado de datos

Marcado de datos en el análisis de series temporales (Parte 4): Descomposición de la interpretabilidad usando el marcado de datos

En esta serie de artículos, presentaremos varias técnicas de marcado de series temporales que pueden producir datos que se ajusten a la mayoría de los modelos de inteligencia artificial (IA). El marcado dirigido de datos puede hacer que un modelo de IA entrenado resulte más relevante para las metas y objetivos del usuario, mejorando la precisión del modelo y ayudando a este a dar un salto de calidad.