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
Desarrollo de un sistema de repetición (Parte 42): Proyecto Chart Trade (I)

Desarrollo de un sistema de repetición (Parte 42): Proyecto Chart Trade (I)

Vamos a crear algo más interesante. El código que mostré antes quedará completamente obsoleto. No quiero arruinar la sorpresa. Sigue el artículo para entender mejor. Desde el inicio de esta secuencia sobre cómo desarrollar un sistema de repetición/simulación, he dicho que la idea es usar la plataforma MetaTrader 5 de manera idéntica, tanto en el sistema que estamos desarrollando como en el mercado real. Es importante que esto se haga de manera adecuada. No querrás entrenar y aprender a luchar usando determinadas herramientas y en el momento de la pelea tener que usar otras.
preview
Redes neuronales: así de sencillo (Parte 69): Restricción de la política de comportamiento basada en la densidad de datos offline (SPOT)

Redes neuronales: así de sencillo (Parte 69): Restricción de la política de comportamiento basada en la densidad de datos offline (SPOT)

En el aprendizaje offline, utilizamos un conjunto de datos fijo, lo que limita la cobertura de la diversidad del entorno. Durante el proceso de aprendizaje, nuestro Agente puede generar acciones fuera de dicho conjunto. Si no hay retroalimentación del entorno, la corrección de las evaluaciones de tales acciones será cuestionable. Mantener la política del Agente dentro de la muestra de entrenamiento se convierte así en un aspecto importante para garantizar la solidez del entrenamiento. De eso hablaremos en este artículo.
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
Algoritmos de optimización de la población: Algoritmos de estrategias evolutivas (Evolution Strategies, (μ,λ)-ES y (μ+λ)-ES)

Algoritmos de optimización de la población: Algoritmos de estrategias evolutivas (Evolution Strategies, (μ,λ)-ES y (μ+λ)-ES)

En este artículo, analizaremos un grupo de algoritmos de optimización conocidos como "estrategias evolutivas" (Evolution Strategies o ES). Se encuentran entre los primeros algoritmos basados en poblaciones que usan principios evolutivos para encontrar soluciones óptimas. Hoy le presentaremos los cambios introducidos en las variantes clásicas de ES y revisaremos la función de prueba y la metodología del banco de pruebas para los algoritmos.
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
Indicador de posiciones históricas en el gráfico como diagrama de sus ganancias/pérdidas

Indicador de posiciones históricas en el gráfico como diagrama de sus ganancias/pérdidas

En el artículo analizaremos una variante para obtener información sobre posiciones cerradas usando la historia de sus transacciones. Asimismo, crearemos un indicador sencillo que mostrará en forma de gráfico los beneficios/pérdidas aproximados de las posiciones en cada barra.
preview
Redes neuronales: así de sencillo (Parte 68): Optimización de políticas offline basada en preferencias

Redes neuronales: así de sencillo (Parte 68): Optimización de políticas offline basada en preferencias

Desde los primeros artículos sobre el aprendizaje por refuerzo, hemos tocado de un modo u otro dos problemas: la exploración del entorno y la definición de la función de recompensa. Los artículos más recientes se han centrado en el problema de la exploración en el aprendizaje offline. En este artículo, queremos presentar un algoritmo cuyos autores han abandonado por completo la función de recompensa.
preview
Características del Wizard MQL5 que debe conocer (Parte 09): Combinación de clusterización de K-medias con ondas fractales

Características del Wizard MQL5 que debe conocer (Parte 09): Combinación de clusterización de K-medias con ondas fractales

La clusterización de K-medias adopta el enfoque de agrupar puntos de datos como un proceso centrado inicialmente en una macro representación del conjunto de datos en la que se aplican centroides de clúster generados aleatoriamente. A continuación, dichos centroides se escalan y ajustan para representar con precisión el conjunto de datos. En el presente artículo, hablaremos de la clusterización y de varios usos de la misma.
preview
Algoritmos de optimización de la población: Modificamos la forma y desplazamos las distribuciones de probabilidad y realizamos pruebas con el cefalópodo inteligente (Smart Cephalopod, SC)

Algoritmos de optimización de la población: Modificamos la forma y desplazamos las distribuciones de probabilidad y realizamos pruebas con el cefalópodo inteligente (Smart Cephalopod, SC)

Este artículo investigará qué efectos provoca el cambio de la forma de las distribuciones de probabilidad en el rendimiento de los algoritmos de optimización. Hoy realizaremos experimentos con el algoritmo de prueba "Smart Cephalopod" (SC) para evaluar la eficacia de distintas distribuciones de probabilidad en el contexto de problemas de optimización.
preview
Filtrado y extracción de características en el dominio de la frecuencia

Filtrado y extracción de características en el dominio de la frecuencia

En este artículo, analizaremos la aplicación de filtros digitales a series temporales representadas en el dominio de la frecuencia con el fin de extraer características únicas que puedan resultar útiles para los modelos de predicción.
preview
Cómo ganar dinero ejecutando encargos en el servicio "Freelance"

Cómo ganar dinero ejecutando encargos en el servicio "Freelance"

MQL5 Freelance es un servicio en línea donde los desarrolladores escriben aplicaciones comerciales para los tráders clientes a cambio de una remuneración. El servicio funciona con éxito desde 2010: hasta el momento se han realizado más de 100 000 trabajos con un coste total de 7 millones de dólares. Como puede ver, el servicio opera con unas cifras considerables.
preview
Aprendizaje automático y Data Science (Parte 16): Una nueva mirada a los árboles de decisión

Aprendizaje automático y Data Science (Parte 16): Una nueva mirada a los árboles de decisión

En la última parte de nuestra serie sobre aprendizaje automático y trabajo con big data, vamos a volver a los árboles de decisión. Este artículo va dirigido a los tráders que desean comprender el papel de los árboles de decisión en el análisis de las tendencias del mercado. Asimismo, contiene toda la información básica sobre la estructura, la finalidad y el uso de estos árboles. Hoy analizaremos las raíces y ramas de los árboles algorítmicos y veremos cuál es su potencial en relación con las decisiones comerciales. También echaremos juntos un nuevo vistazo a los árboles de decisión y veremos cómo pueden ayudarnos a superar los retos de los mercados financieros.
preview
Algoritmos de optimización de la población: Algoritmo de recocido isotrópico simulado (Simulated Isotropic Annealing, SIA). Parte II

Algoritmos de optimización de la población: Algoritmo de recocido isotrópico simulado (Simulated Isotropic Annealing, SIA). Parte II

En la primera parte del artículo, hablamos del conocido y popular algoritmo del recocido simulado, analizamos sus ventajas y describimos detalladamente sus desventajas. La segunda parte del artículo se dedicará a la transformación cardinal del algoritmo y su renacimiento en un nuevo algoritmo de optimización, el "recocido isotrópico simulado, SIA".
preview
Asesor Experto Grid-Hedge Modificado en MQL5 (Parte I): Creamos un sencillo asesor de cobertura

Asesor Experto Grid-Hedge Modificado en MQL5 (Parte I): Creamos un sencillo asesor de cobertura

Hoy crearemos un sencillo asesor de cobertura como base para nuestro asesor Grid-Hedge más avanzado, que será una mezcla de estrategias de rejilla y cobertura clásicas. Al final de este artículo, usted sabrá cómo crear una estrategia de cobertura simple y lo que la gente opina sobre la rentabilidad de esta estrategia.
preview
Paradigmas de programación (Parte 1): Enfoque procedimental para el desarrollo de un asesor basado en la dinámica de precios

Paradigmas de programación (Parte 1): Enfoque procedimental para el desarrollo de un asesor basado en la dinámica de precios

Conozca los paradigmas de programación y su aplicación en el código MQL5. En este artículo, analizaremos las características de la programación procedimental y ofreceremos ejemplos prácticos. Asimismo, aprenderemos a desarrollar un asesor basado en la acción del precio (Action Price) utilizando el indicador EMA y datos de velas. Además, el artículo introduce el paradigma de la programación funcional.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 5): Bandas de Bollinger en el Canal de Keltner - Señales de Indicador

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 5): Bandas de Bollinger en el Canal de Keltner - Señales de Indicador

En este artículo, entenderemos por asesor multidivisa un asesor o robot comercial que puede comerciar (abrir/cerrar órdenes, gestionar órdenes, por ejemplo, trailing-stop y trailing-profit, etc.) con más de un par de símbolos de un gráfico. En este artículo, usaremos las señales de dos indicadores, las Bandas de Bollinger® y el Canal de Keltner.
preview
Análisis cuantitativo en MQL5: implementamos un algoritmo prometedor

Análisis cuantitativo en MQL5: implementamos un algoritmo prometedor

Hoy veremos qué es el análisis cuantitativo, cómo lo utilizan los grandes jugadores y crearemos uno de los algoritmos de análisis cuantitativo en MQL5.
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
Desarrollo de un sistema de repetición (Parte 39): Pavimentando el terreno (II)

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

Antes de comenzar la segunda fase del desarrollo, es necesario reforzar algunas ideas. Entonces, ¿sabes cómo forzar al MQL5 a hacer lo que es necesario? ¿Has intentado ir más allá de lo que informa la documentación? Si no, prepárate. Porque empezaré a hacer cosas mucho más allá de lo que la mayoría hace normalmente.
preview
Algoritmos de optimización de la población: Algoritmo de recocido simulado (Simulated Annealing, SA). Parte I

Algoritmos de optimización de la población: Algoritmo de recocido simulado (Simulated Annealing, SA). Parte I

El algoritmo de recocido simulado es una metaheurística inspirada en el proceso de recocido de los metales. En nuestro artículo, realizaremos un análisis exhaustivo del algoritmo y mostraremos cómo muchas percepciones comunes y mitos que rodean a este método de optimización (el más popular y conocido) pueden ser incorrectos e incompletos. Anuncio de la segunda parte del artículo: "¡Conozca el algoritmo de recocido Isotrópico Simulado (Simulated Isotropic Annealing, SIA) del propio autor!"
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.
preview
Patrones de diseño en MQL5 (Parte 3): Patrones conductuales 1

Patrones de diseño en MQL5 (Parte 3): Patrones conductuales 1

En el nuevo artículo de la serie sobre patrones de diseño, nos ocuparemos de los patrones conductuales para comprender cómo crear de forma eficaz métodos de interacción entre los objetos creados. Diseñando estos patrones conductuales, podremos entender cómo construir software reutilizable, extensible y comprobable.
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
Interpretación de modelos: Una comprensión más profunda de los modelos de aprendizaje automático

Interpretación de modelos: Una comprensión más profunda de los modelos de aprendizaje automático

El aprendizaje automático es un campo desafiante y gratificante para cualquiera, independientemente de la experiencia que tenga. En este artículo, nos sumergiremos en el funcionamiento interno de los modelos creados, exploraremos el complejo mundo de las funciones, las predicciones y las soluciones eficientes, y comprenderemos claramente la interpretación de los modelos. Asimismo, aprenderemos el arte de hacer concesiones, mejorar las predicciones, clasificar la importancia de los parámetros y tomar decisiones sólidas. Este artículo le ayudará a mejorar el rendimiento de los modelos de aprendizaje automático y a sacar más partido de sus metodologías.
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
Algoritmos de optimización de la población: Método de Nelder-Mead

Algoritmos de optimización de la población: Método de Nelder-Mead

En el artículo de hoy, le presentamos un estudio completo del método de Nelder-Mead, en el que se explica cómo el símplex (el espacio de parámetros de la función) se modifica y reordena en cada iteración para alcanzar la solución óptima; asimismo, describiremos una forma de mejorar este método.
preview
Redes neuronales: así de sencillo (Parte 66): Problemática de la exploración en el entrenamiento offline

Redes neuronales: así de sencillo (Parte 66): Problemática de la exploración en el entrenamiento offline

El entrenamiento offline del modelo se realiza sobre los datos de una muestra de entrenamiento previamente preparada. Esto nos ofrecerá una serie de ventajas, pero la información sobre el entorno estará muy comprimida con respecto al tamaño de la muestra de entrenamiento, lo que, a su vez, limitará el alcance del estudio. En este artículo, querríamos familiarizarnos con un método que permite llenar la muestra de entrenamiento con los datos más diversos posibles.
preview
Introducción a MQL5 (Parte 1): Guía del trading algorítmico para principiantes

Introducción a MQL5 (Parte 1): Guía del trading algorítmico para principiantes

El presente artículo supone una guía de programación en MQL5 para principiantes que le abrirá la puerta al fascinante mundo del trading algorítmico. Aquí aprenderá los fundamentos de MQL5, el lenguaje de programación para estrategias comerciales en MetaTrader 5, que le guiará en el mundo del trading automatizado. Desde la comprensión de los conceptos básicos hasta los primeros pasos en la programación, este artículo está diseñado para liberar el potencial del trading algorítmico para todos los lectores, incluso para aquellos que no tienen absolutamente ninguna experiencia en programación. Espero que disfrute de este viaje al mundo del trading con MQL5.
preview
Python, ONNX y MetaTrader 5: Creamos un modelo RandomForest con preprocesamiento de datos RobustScaler y PolynomialFeatures

Python, ONNX y MetaTrader 5: Creamos un modelo RandomForest con preprocesamiento de datos RobustScaler y PolynomialFeatures

En este artículo, crearemos un modelo de bosque aleatorio en Python, entrenaremos el modelo y lo guardaremos como un pipeline ONNX con preprocesamiento de datos. Además, usaremos el modelo en el terminal MetaTrader 5.
preview
Aprendiendo MQL5 de principiante a profesional (Parte I): Comenzamos a programar

Aprendiendo MQL5 de principiante a profesional (Parte I): Comenzamos a programar

Este artículo supone la introducción a toda una serie de artículos sobre programación. Partimos del supuesto de que el lector no se ha enfrentado nunca a la programación. Así que empezaremos por lo básico. Nivel de conocimientos de programación: principiante absoluto.
preview
Stop Loss y Take Profit amigables para el tráder

Stop Loss y Take Profit amigables para el tráder

El stop loss y el take profit pueden tener una influencia significativa en los resultados de las transacciones. En este artículo, veremos varias formas de buscar órdenes stop óptimas.
preview
Búferes de color en indicadores de periodo y símbolo múltiple

Búferes de color en indicadores de periodo y símbolo múltiple

En este artículo revisaremos la estructura de los búferes de los indicadores de periodo y símbolo múltiple y organizaremos la muestra de los búferes de color de estos indicadores en el gráfico.
preview
Cuantificación en el aprendizaje automático (Parte 2): Preprocesamiento de datos, selección de tablas, entrenamiento del modelo CatBoost

Cuantificación en el aprendizaje automático (Parte 2): Preprocesamiento de datos, selección de tablas, entrenamiento del modelo CatBoost

En este artículo, hablaremos de la aplicación práctica de la cuantificación en la construcción de modelos arbóreos. Asimismo, analizaremos los métodos de selección de tablas cuantificadas y el preprocesamiento de datos. El material se presentará sin fórmulas matemáticas complejas, en un lenguaje accesible.
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
Añadimos un LLM personalizado a un robot comercial (Parte 2): Ejemplo de despliegue del entorno

Añadimos un LLM personalizado a un robot comercial (Parte 2): Ejemplo de despliegue del entorno

Los modelos lingüísticos (LLM) son una parte importante de la inteligencia artificial que evoluciona rápidamente, por lo que debemos plantearnos cómo integrar unos LLM potentes en nuestro comercio algorítmico. A la mayoría de la gente le resulta difícil adaptar estos modelos a sus necesidades, implantarlos de forma local y luego aplicarlos al trading algorítmico. En esta serie de artículos abordaremos un enfoque paso a paso para lograr este objetivo.
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
Preparación de indicadores de símbolo/periodo múltiple

Preparación de indicadores de símbolo/periodo múltiple

En este artículo analizaremos los principios de la creación de los indicadores de símbolo/periodo múltiple y la obtención de datos de ellos en asesores e indicadores. Asimismo, veremos los principales matices de uso de los indicadores múltiples en asesores e indicadores, y su representación a través de los búferes del indicador personalizado.
preview
Añadimos un LLM personalizado a un robot comercial (Parte 1): Desplegando el equipo y el entorno

Añadimos un LLM personalizado a un robot comercial (Parte 1): Desplegando el equipo y el entorno

Los modelos lingüísticos (LLM) son una parte importante de la inteligencia artificial que evoluciona rápidamente, por lo que debemos plantearnos cómo integrar unos LLM potentes en nuestro comercio algorítmico. A la mayoría de la gente le resulta difícil personalizar estos potentes modelos para adaptarlos a sus necesidades, implantarlos de forma local y luego aplicarlos al trading algorítmico. En esta serie de artículos abordaremos un enfoque paso a paso para lograr este objetivo.
preview
La estacionalidad en el mercado de divisas y oportunidades para aprovecharla

La estacionalidad en el mercado de divisas y oportunidades para aprovecharla

Toda persona moderna está familiarizada con el concepto de estacionalidad, por ejemplo, todos estamos acostumbrados al aumento del precio de las verduras frescas en invierno o a la subida del precio del combustible durante las heladas severas, pero pocas personas saben que existen patrones similares en el mercado de divisas.
preview
Indicadores alternativos de riesgo y rentabilidad en MQL5

Indicadores alternativos de riesgo y rentabilidad en MQL5

En este artículo, presentaremos una aplicación de varias medidas de rentabilidad y riesgo consideradas alternativas al ratio de Sharpe e investigaremos diferentes curvas de capital hipotéticas para analizar sus características.