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
Aprendizaje automático y Data Science (Parte 24): Predicción de series temporales de divisas mediante modelos de IA convencionales

Aprendizaje automático y Data Science (Parte 24): Predicción de series temporales de divisas mediante modelos de IA convencionales

En los mercados de divisas es muy difícil predecir la tendencia futura sin tener una idea del pasado. Muy pocos modelos de aprendizaje automático son capaces de hacer predicciones futuras considerando valores pasados. En este artículo, vamos a discutir cómo podemos utilizar modelos de inteligencia artificial clásicos (no de series temporales) para superar al mercado.
preview
Herramientas econométricas para la previsión de la volatilidad: el modelo GARCH

Herramientas econométricas para la previsión de la volatilidad: el modelo GARCH

El presente artículo describe las propiedades de un modelo de heteroscedasticidad condicional no lineal (GARCH). Sobre esta base se construye el indicador iGARCH para predecir la volatilidad un paso por delante. Para estimar los parámetros del modelo se usará la biblioteca de análisis numérico ALGLIB.
preview
Redes neuronales: así de sencillo (Parte 87): Segmentación de series temporales

Redes neuronales: así de sencillo (Parte 87): Segmentación de series temporales

La previsión juega un papel esencial en el análisis de series temporales. En este nuevo artículo, hablaremos de las ventajas de la segmentación de series temporales.
preview
Estimamos la rentabilidad futura usando intervalos de confianza

Estimamos la rentabilidad futura usando intervalos de confianza

En este artículo, nos adentraremos en la aplicación de técnicas de bootstrapping como forma de evaluar la rentabilidad futura de una estrategia automatizada.
preview
Escribimos el primer modelo de caja de cristal (Glass Box) en Python y MQL5

Escribimos el primer modelo de caja de cristal (Glass Box) en Python y MQL5

Los modelos de aprendizaje automático son difíciles de interpretar, y entender por qué los modelos no se ajustan a nuestras expectativas puede ayudarnos mucho a conseguir, en última instancia, el resultado deseado al utilizar técnicas tan avanzadas. Sin un conocimiento exhaustivo del funcionamiento interno del modelo, podría resultar difícil encontrar fallos que degraden el rendimiento. De este modo, podremos dedicar tiempo a crear funciones que no afecten a la calidad de la previsión. La conclusión es que, por muy bueno que sea un modelo, nos perderemos todas sus grandes ventajas por culpa de nuestros propios errores. Afortunadamente, existe una solución sofisticada y bien diseñada que permite ver con claridad lo que sucede bajo el capó del modelo.
preview
Soluciones sencillas para trabajar cómodamente con indicadores

Soluciones sencillas para trabajar cómodamente con indicadores

En este artículo le contaremos cómo crear un panel simple para cambiar la configuración del indicador directamente desde el gráfico, y qué cambios se deberán introducir en el indicador para conectar este panel. Este artículo está dirigido exclusivamente a aquellos que acaban de empezar a familiarizarse con MQL5.
preview
Redes neuronales: así de sencillo (Parte 50): Soft Actor-Critic (optimización de modelos)

Redes neuronales: así de sencillo (Parte 50): Soft Actor-Critic (optimización de modelos)

En el artículo anterior, implementamos el algoritmo Soft Actor-Critic (SAC), pero no pudimos entrenar un modelo rentable. En esta ocasión, optimizaremos el modelo creado previamente para obtener los resultados deseados en su rendimiento.
preview
Redes neuronales: así de sencillo (Parte 54): Usamos un codificador aleatorio para una exploración eficiente (RE3)

Redes neuronales: así de sencillo (Parte 54): Usamos un codificador aleatorio para una exploración eficiente (RE3)

Siempre que analizamos métodos de aprendizaje por refuerzo, nos enfrentamos al problema de explorar eficientemente el entorno. Con frecuencia, la resolución de este problema hace que el algoritmo se complique, llevándonos al entrenamiento de modelos adicionales. En este artículo veremos un enfoque alternativo para resolver el presente problema.
preview
Permutación de las barras de precio en MQL5

Permutación de las barras de precio en MQL5

En este artículo, presentaremos un algoritmo de permutación de barras de precio y detallaremos cómo se pueden utilizar las pruebas de permutación para identificar los casos en los que se ha fabricado el rendimiento de la estrategia para engañar a los posibles compradores del asesor.
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
DoEasy. Elementos de control (Parte 10): Objetos WinForms: dando vida a la interfaz

DoEasy. Elementos de control (Parte 10): Objetos WinForms: dando vida a la interfaz

Ha llegado el momento de revitalizar la interfaz gráfica de usuario, haciendo que los objetos interactúen con el usuario y otros objetos. Y para que los objetos más complejos funcionen correctamente, necesitaremos una funcionalidad que permita a los objetos interactuar entre sí y con el usuario.
preview
Redes neuronales: así de sencillo (Parte 25): Practicando el Transfer Learning

Redes neuronales: así de sencillo (Parte 25): Practicando el Transfer Learning

En los últimos dos artículos, hemos creado una herramienta que nos permite crear y editar modelos de redes neuronales. Ahora es el momento de evaluar el uso potencial de la tecnología de Transfer Learning en ejemplos prácticos.
preview
Modelos de regresión no lineal en la bolsa de valores

Modelos de regresión no lineal en la bolsa de valores

Modelos de regresión no lineal en la bolsa de valores: ¿Es posible predecir los mercados financieros? Consideremos la creación de un modelo para pronosticar precios para EURUSD y crear dos robots basados en él: en Python y MQL5.
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
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
Validación cruzada y fundamentos de la inferencia causal en modelos CatBoost, exportación a formato ONNX

Validación cruzada y fundamentos de la inferencia causal en modelos CatBoost, exportación a formato ONNX

En este artículo veremos un método de autor para crear bots utilizando el aprendizaje automático.
preview
Desarrollo de un sistema de repetición (Parte 41): Inicio de la segunda fase (II)

Desarrollo de un sistema de repetición (Parte 41): Inicio de la segunda fase (II)

Si hasta ahora todo te ha parecido correcto, significa que no estás pensando realmente a largo plazo. Donde empiezas a desarrollar aplicaciones y, con el tiempo, ya no necesitas programar nuevas aplicaciones. Solo tienes que conseguir que trabajen juntos. Veamos cómo terminar de montar el indicador del ratón.
preview
DoEasy. Elementos de control (Parte 26): Mejoramos el objeto WinForms "ToolTip" y comenzamos a desarrollar "ProgressBar"

DoEasy. Elementos de control (Parte 26): Mejoramos el objeto WinForms "ToolTip" y comenzamos a desarrollar "ProgressBar"

En este artículo, completaremos el desarrollo del control ToolTip y comenzaremos a desarrollar el objeto WinForms ProgressBar. A medida que trabajemos en los objetos, desarrollaremos una funcionalidad universal para animar los controles y sus componentes.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 56): Objeto del indicador personalizado, obtención de datos de parte de los objetos de indicador en la colección

Trabajando con las series temporales en la biblioteca DoEasy (Parte 56): Objeto del indicador personalizado, obtención de datos de parte de los objetos de indicador en la colección

En el presente artículo, vamos a considerar la creación de un objeto del indicador personalizado para usarlo en los asesores expertos. Mejoraremos un poco las clases de la biblioteca y escribiremos los métodos para obtener los datos de parte de los objetos de indicador en los expertos.
preview
Características del Wizard MQL5 que debe conocer (Parte 08): Perceptrones

Características del Wizard MQL5 que debe conocer (Parte 08): Perceptrones

Los perceptrones, o redes con una sola capa oculta, pueden ser una buena opción para quienes estén familiarizados con los fundamentos del comercio automatizado y quieran sumergirse en las redes neuronales. Paso a paso veremos como se pueden implementar en el ensamblado de clases de señales que forma parte de las clases del Wizard MQL5 para asesores expertos.
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
Experimentos con redes neuronales (Parte 4): Patrones

Experimentos con redes neuronales (Parte 4): Patrones

Las redes neuronales lo son todo. Vamos a comprobar en la práctica si esto es así. MetaTrader 5 como herramienta autosuficiente para el uso de redes neuronales en el trading. Una explicación sencilla.
preview
Teoría de categorías en MQL5 (Parte 7): Dominios múltiples, relativos e indexados

Teoría de categorías en MQL5 (Parte 7): Dominios múltiples, relativos e indexados

La teoría de categorías es un apartado diverso y en expansión de las matemáticas, que solo recientemente ha comenzado a ser trabajado por la comunidad MQL5. Esta serie de artículos tiene por objetivo repasar algunos de sus conceptos para crear una biblioteca abierta y seguir usando este maravilloso apartado en la creación de estrategias comerciales.
preview
Patrones de diseño en MQL5 (Parte 4): Patrones conductuales 2

Patrones de diseño en MQL5 (Parte 4): Patrones conductuales 2

Este artículo concluye la serie sobre patrones de diseño en ingeniería de software. Ya hemos mencionado que existen tres tipos de patrones de diseño: de creación, estructurales y conductuales. Hoy perfeccionaremos los patrones conductuales restantes, que nos ayudarán a especificar la forma en que interactúan los objetos de manera que nuestro código sea limpio.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 9): Asesor Experto de múltiples estrategias (III)

Creación de un modelo de restricción de tendencia de velas (Parte 9): Asesor Experto de múltiples estrategias (III)

¡Bienvenidos a la tercera entrega de nuestra serie sobre tendencias! Hoy profundizaremos en el uso de la divergencia como estrategia para identificar puntos de entrada óptimos dentro de la tendencia diaria predominante. También presentaremos un mecanismo de bloqueo de ganancias personalizado, similar a un stop-loss dinámico, pero con mejoras únicas. Además, actualizaremos el asesor experto Trend Constraint a una versión más avanzada, incorporando una nueva condición de ejecución comercial para complementar las existentes. A medida que avanzamos, continuaremos explorando la aplicación práctica de MQL5 en el desarrollo algorítmico, brindándole información más detallada y técnicas prácticas.
preview
Desarrollamos un asesor experto multidivisa (Parte 8): Realizamos pruebas de carga y procesamos la nueva barra

Desarrollamos un asesor experto multidivisa (Parte 8): Realizamos pruebas de carga y procesamos la nueva barra

Conforme hemos ido avanzado, hemos utilizado cada vez más instancias simultáneas de estrategias comerciales en un mismo asesor experto. Hoy intentaremos averiguar a cuántas instancias podemos llegar antes de encontrarnos con limitaciones de recursos.
preview
Creación de una interfaz gráfica de usuario interactiva en MQL5 (Parte 2): Añadir controles y capacidad de respuesta

Creación de una interfaz gráfica de usuario interactiva en MQL5 (Parte 2): Añadir controles y capacidad de respuesta

Mejorar el panel GUI de MQL5 con funciones dinámicas puede mejorar significativamente la experiencia comercial de los usuarios. Al incorporar elementos interactivos, efectos de desplazamiento y actualizaciones de datos en tiempo real, el panel se convierte en una herramienta poderosa para los traders modernos.
preview
Algoritmo de optimización del comportamiento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, método de Box-Muller

Algoritmo de optimización del comportamiento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, método de Box-Muller

Este artículo presenta una fascinante inmersión en el mundo del comportamiento social de los organismos vivos y su influencia en la creación de un nuevo modelo matemático, el ASBO (Adaptive Social Behavior Optimisation). Hoy exploraremos cómo los principios de liderazgo, vecindad y cooperación observados en las sociedades de seres vivos inspiran el desarrollo de algoritmos de optimización innovadores.
preview
Cómo desarrollar un agente de aprendizaje por refuerzo en MQL5 con Integración RestAPI (Parte 1): Como usar RestAPIs en MQL5

Cómo desarrollar un agente de aprendizaje por refuerzo en MQL5 con Integración RestAPI (Parte 1): Como usar RestAPIs en MQL5

Este artículo aborda la importancia de las APIs (application programming interface) en la comunicación entre diferentes aplicaciones y sistemas de software. En él, se destaca el papel de las API a la hora de simplificar la interacción entre aplicaciones, ya que les permiten compartir datos y funcionalidades de forma eficiente.
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
Experimentos con redes neuronales (Parte 5): Normalización de parámetros de entrada para su transmisión a una red neuronal

Experimentos con redes neuronales (Parte 5): Normalización de parámetros de entrada para su transmisión a una red neuronal

Las redes neuronales lo son todo. Vamos a comprobar en la práctica si esto es así. MetaTrader 5 como herramienta autosuficiente para el uso de redes neuronales en el trading. Una explicación sencilla.
preview
Redes neuronales: así de sencillo (Parte 89): Transformador de descomposición de la frecuencia de señal (FEDformer)

Redes neuronales: así de sencillo (Parte 89): Transformador de descomposición de la frecuencia de señal (FEDformer)

Todos los modelos de los que hemos hablado anteriormente analizan el estado del entorno como una secuencia temporal. Sin embargo, las propias series temporales también pueden representarse como características de frecuencia. En este artículo, presentaremos un algoritmo que utiliza las características de frecuencia de una secuencia temporal para predecir los estados futuros.
preview
Algoritmo de Partenogénesis Cíclica - Cyclic Parthenogenesis Algorithm (CPA)

Algoritmo de Partenogénesis Cíclica - Cyclic Parthenogenesis Algorithm (CPA)

En este trabajo, analizaremos un nuevo algoritmo de optimización basado en la población, el CPA (Cyclic Parthenogenesis Algorithm), inspirado en la estrategia reproductiva única de los pulgones. El algoritmo combina dos mecanismos de reproducción: la partenogénesis y la reproducción sexual, y utiliza una estructura de población colonial con posibilidad de migración entre colonias. Las características clave del algoritmo son el cambio adaptativo entre diferentes estrategias de cría y un sistema de intercambio de información entre colonias usando un mecanismo de vuelo.
preview
Gráficos en la biblioteca DoEasy (Parte 99): Desplazando un objeto gráfico extendido con un punto de control

Gráficos en la biblioteca DoEasy (Parte 99): Desplazando un objeto gráfico extendido con un punto de control

En el último artículo, implementamos la posibilidad de desplazar los puntos de control de un objeto gráfico extendido usando formularios de gestión. Ahora vamos a desplazar el objeto gráfico compuesto usando un punto (formulario) para gestionar el objeto gráfico.
preview
Redes neuronales: así de sencillo (Parte 52): Exploración con optimismo y corrección de la distribución

Redes neuronales: así de sencillo (Parte 52): Exploración con optimismo y corrección de la distribución

A medida que el modelo se entrena con el búfer de reproducción de experiencias, la política actual del Actor se aleja cada vez más de los ejemplos almacenados, lo cual reduce la eficacia del entrenamiento del modelo en general. En este artículo, analizaremos un algoritmo para mejorar la eficiencia del uso de las muestras en los algoritmos de aprendizaje por refuerzo.
preview
Desarrollo de un factor de calidad para los EAs

Desarrollo de un factor de calidad para los EAs

En este artículo, te explicaremos cómo desarrollar un factor de calidad que tu Asesor Experto (EA) pueda mostrar en el simulador de estrategias. Te presentaremos dos formas de cálculo muy conocidas (Van Tharp y Sunny Harris).
preview
Trabajamos con matrices: ampliando la funcionalidad de la biblioteca estándar de matrices y vectores.

Trabajamos con matrices: ampliando la funcionalidad de la biblioteca estándar de matrices y vectores.

Las matrices sirven de base a los algoritmos de aprendizaje automático y a las computadoras en general por su capacidad para procesar con eficacia grandes operaciones matemáticas. La biblioteca estándar tiene todo lo que necesitamos, pero también podemos ampliarla añadiendo varias funciones al archivo utils.
preview
Introducción a MQL5 (Parte 9): Comprensión y uso de objetos en MQL5

Introducción a MQL5 (Parte 9): Comprensión y uso de objetos en MQL5

Aprenda a crear y personalizar objetos gráficos en MQL5 utilizando datos actuales e históricos. Esta guía basada en proyectos le ayuda a visualizar operaciones y aplicar conceptos MQL5 de manera práctica, lo que facilita la creación de herramientas adaptadas a sus necesidades comerciales.
preview
Desarrollo de un sistema de repetición (Parte 59): Un nuevo futuro

Desarrollo de un sistema de repetición (Parte 59): Un nuevo futuro

La correcta comprensión de las cosas nos permite hacer más con menos esfuerzo. En este artículo, explicaré por qué es necesario ajustar la aplicación de la plantilla antes de que el servicio comience a interactuar realmente con el gráfico. Además, ¿qué tal si mejoramos el indicador del mouse para que podamos hacer más cosas con él?
preview
Automatización de estrategias de trading en MQL5 (Parte 11): Desarrollo de un sistema de negociación de cuadrícula multinivel

Automatización de estrategias de trading en MQL5 (Parte 11): Desarrollo de un sistema de negociación de cuadrícula multinivel

En este artículo, desarrollamos un sistema EA de trading de cuadrícula multinivel utilizando MQL5, centrándonos en la arquitectura y el diseño del algoritmo que hay detrás de las estrategias de trading de cuadrícula. Exploramos la implementación de una lógica de red multicapa y técnicas de gestión de riesgos para hacer frente a las condiciones variables del mercado. Por último, ofrecemos explicaciones detalladas y consejos prácticos para guiarle en la creación, prueba y perfeccionamiento del sistema de negociación automatizado.