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
preview
GIT: ¿Pero qué es esto?

GIT: ¿Pero qué es esto?

En este artículo presentaré una herramienta de suma importancia para quienes desarrollan programas. Si no conoces GIT, consulta este artículo para tener una noción de lo que se trata esta herramienta y cómo usarla junto al MQL5.
preview
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD

Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD

El presente artículo representa el primer intento de desarrollar un cliente MQTT nativo para MQL5. El MQTT es un protocolo de comunicación "publicación-suscripción". Es ligero, abierto, simple y está diseñado para implementarse con facilidad, lo cual permite su uso en muchas situaciones.
preview
Teoría de categorías en MQL5 (Parte 13): Eventos del calendario con esquemas de bases de datos

Teoría de categorías en MQL5 (Parte 13): Eventos del calendario con esquemas de bases de datos

El artículo analiza cómo se pueden incluir esquemas de bases de datos para la clasificación en MQL5. Vamos a repasar brevemente cómo los conceptos de esquema de base de datos pueden combinarse con la teoría de categorías para identificar información textual (cadenas) relevante para el comercio. La atención se centrará en los eventos del calendario.
preview
Desarrollo de un EA comercial desde cero (Parte 30): ¿¡El CHART TRADE ahora como indicador?!

Desarrollo de un EA comercial desde cero (Parte 30): ¿¡El CHART TRADE ahora como indicador?!

Vamos a hacer uso del Chart Trade nuevamente... pero ahora será un indicador y podrá o no estar presente en el gráfico.
preview
Características del Wizard MQL5 que debe conocer (Parte 5): Cadenas de Markov

Características del Wizard MQL5 que debe conocer (Parte 5): Cadenas de Markov

Las cadenas de Markov son una poderosa herramienta matemática que se puede usar para modelar y predecir los datos de las series temporales en varios campos, incluido el financiero. En el modelado y la previsión de series temporales financieras, las cadenas de Markov se usan a menudo para modelar la evolución de los activos financieros a lo largo del tiempo, como los precios de las acciones o los tipos de cambio. Una de las principales ventajas de los modelos de cadenas de Markov es su simplicidad y sencillez de uso.
preview
Usamos algoritmos de optimización para ajustar los parámetros del asesor sobre la marcha

Usamos algoritmos de optimización para ajustar los parámetros del asesor sobre la marcha

El artículo analizará diversos aspectos prácticos relacionados con el uso de algoritmos de optimización para encontrar los mejores parámetros de un asesor sobre la marcha, y también virtualizar las operaciones comerciales y la lógica del asesor. El lector puede usar este artículo a modo de instrucciones para implementar algoritmos de optimización en un asesor comercial.
preview
Redes neuronales: así de sencillo (Parte 24): Mejorando la herramienta para el Transfer Learning

Redes neuronales: así de sencillo (Parte 24): Mejorando la herramienta para el Transfer Learning

En el último artículo, creamos una herramienta capaz de crear y editar arquitecturas de redes neuronales. Hoy querríamos proponerles continuar con el desarrollo de esta herramienta, para lograr que resulte más fácil de usar. En cierto modo, esto se aleja un poco de nuestro tema, pero estará de acuerdo con que la organización del espacio de trabajo desempeña un papel importante en el resultado final.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 11): Nacimiento del SIMULADOR (I)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 11): Nacimiento del SIMULADOR (I)

Para poder usar datos que forman barras, debemos abandonar la repetición y comenzar a desarrollar un simulador. Utilizaremos las barras de 1 minuto precisamente porque nos ofrecen un nivel de complejidad mínimo.
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
DoEasy. Elementos de control (Parte 9): Reorganizando los métodos de los objetos WinForms, los controles "RadioButton" y "Button"

DoEasy. Elementos de control (Parte 9): Reorganizando los métodos de los objetos WinForms, los controles "RadioButton" y "Button"

En este artículo, ordenaremos los nombres de las clases de objeto WinForms y crearemos los objetos WinForms Button y RadioButton.
preview
Redes neuronales: así de sencillo (Parte 23): Creamos una herramienta para el Transfer Learning

Redes neuronales: así de sencillo (Parte 23): Creamos una herramienta para el Transfer Learning

En esta serie de artículos, hemos mencionado el Aprendizaje por Transferencia más de una vez, pero hasta ahora no había sido más que una mención. Le propongo rellenar este vacío y analizar más de cerca el Aprendizaje por Transferencia.
preview
Kit de herramientas de negociación MQL5 (Parte 2): Ampliación e implantación de la biblioteca EX5 de gestión de posiciones

Kit de herramientas de negociación MQL5 (Parte 2): Ampliación e implantación de la biblioteca EX5 de gestión de posiciones

Aprenda a importar y utilizar bibliotecas EX5 en su código o proyectos MQL5. En este artículo de continuación, ampliaremos la biblioteca EX5 agregando más funciones de gestión de posiciones a la biblioteca existente y creando dos Asesores Expertos. El primer ejemplo utilizará el indicador técnico de promedio dinámico de índice variable para desarrollar un asesor experto en estrategia comercial de trailing stop, mientras que el segundo ejemplo utilizará un panel comercial para monitorear, abrir, cerrar y modificar posiciones. Estos dos ejemplos demostrarán cómo utilizar e implementar la biblioteca de gestión de posiciones EX5 actualizada.
preview
Elaboración de previsiones económicas: el potencial de Python

Elaboración de previsiones económicas: el potencial de Python

¿Cómo utilizar los datos económicos del Banco Mundial para crear previsiones? ¿Qué ocurre si se combinan modelos de IA y economía?
preview
Algoritmos de optimización de la población: Algoritmo de salto de rana aleatorio (Shuffled Frog-Leaping, SFL)

Algoritmos de optimización de la población: Algoritmo de salto de rana aleatorio (Shuffled Frog-Leaping, SFL)

El artículo presenta una descripción detallada del algoritmo de salto de rana aleatorio (SFL) y sus capacidades para resolver problemas de optimización. El algoritmo SFL se inspira en el comportamiento de las ranas en su entorno natural y ofrece un enfoque innovador para la optimización de características. El algoritmo SFL supone una herramienta eficaz y flexible que puede gestionar una gran variedad de tipos de datos y alcanzar soluciones óptimas.
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
Trading con spreads en el mercado Fórex utilizando el factor de estacionalidad

Trading con spreads en el mercado Fórex utilizando el factor de estacionalidad

El en presente artículo analizaremos las posibilidades de formar y proporcionar datos sobre el uso del factor de estacionalidad al negociar con spreads en el mercado Fórex.
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
Análisis de sentimientos y aprendizaje profundo para operar con EA y backtesting con Python

Análisis de sentimientos y aprendizaje profundo para operar con EA y backtesting con Python

En este artículo, presentaremos un análisis de sentimiento y los modelos ONNX con Python para ser utilizados en un asesor experto. Un script ejecuta un modelo ONNX entrenado a partir de TensorFlow para predicciones de aprendizaje profundo, mientras que otro obtiene titulares de noticias y cuantifica el sentimiento utilizando IA.
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
Desarrollo de un robot de trading en Python (Parte 3): Implementamos un algoritmo comercial basado en el modelo

Desarrollo de un robot de trading en Python (Parte 3): Implementamos un algoritmo comercial basado en el modelo

Hoy vamos a continuar con la serie de artículos sobre la creación de un robot comercial en Python y MQL5. En esta ocasión, resolveremos el problema relacionado con la creación de un algoritmo comercial en Python.
preview
Implementación de un algoritmo de trading de negociación rápida utilizando SAR Parabólico (Stop and Reverse, SAR) y Media Móvil Simple (Simple Moving Average, SMA) en MQL5

Implementación de un algoritmo de trading de negociación rápida utilizando SAR Parabólico (Stop and Reverse, SAR) y Media Móvil Simple (Simple Moving Average, SMA) en MQL5

En este artículo, desarrollamos un Asesor Experto de trading de ejecución rápida en MQL5, aprovechando los indicadores SAR Parabólico (Stop and Reverse, SAR) y Media Móvil Simple (Simple Moving Average, SMA) para crear una estrategia de trading reactiva y eficiente. Detallamos la implementación de la estrategia, incluyendo el uso de los indicadores, la generación de señales y el proceso de prueba y optimización.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 55): Clase de colección de indicadores

Trabajando con las series temporales en la biblioteca DoEasy (Parte 55): Clase de colección de indicadores

En este artículo, seguiremos desarrollando las clases de los objetos de indicador y sus colecciones. Crearemos la descripción para cada objeto de indicador y ajustaremos la clase de colección para un almacenamiento y obtención correctos de los objetos de indicador desde la lista de colección.
Trabajando con los precios en la biblioteca DoEasy (Parte 64): Profundidad del mercado, clases del objeto de instantánea y del objeto de serie de instantáneas del DOM
Trabajando con los precios en la biblioteca DoEasy (Parte 64): Profundidad del mercado, clases del objeto de instantánea y del objeto de serie de instantáneas del DOM

Trabajando con los precios en la biblioteca DoEasy (Parte 64): Profundidad del mercado, clases del objeto de instantánea y del objeto de serie de instantáneas del DOM

En este artículo, vamos a crear dos clases: la clase del objeto de instantánea del DOM y la clase del objeto de serie de instantáneas del DOM, además, simularemos la creación de la serie de datos del DOM.
preview
Desarrollo de un sistema de repetición (Parte 28): Proyecto Expert Advisor — Clase C_Mouse (I)

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

Cuando los primeros sistemas capaces de factorizar algo comenzaron a ser producidos, todo requería la intervención de ingenieros con un amplio conocimiento sobre lo que se estaba diseñando. Estamos hablando de los albores de la computación, una época en la que ni siquiera existían terminales que permitieran la programación de algo. A medida que el desarrollo avanzaba y crecía el interés para que más personas pudieran crear algo, surgían nuevas ideas y métodos para programar esas máquinas, que antes dependían de la modificación de la posición de los conectores. Fue entonces cuando aparecieron los primeros terminales.
preview
Aprendizaje automático y ciencia de datos (Parte 15): SVM, una herramienta útil en el arsenal de los tráders

Aprendizaje automático y ciencia de datos (Parte 15): SVM, una herramienta útil en el arsenal de los tráders

En este artículo analizaremos el papel que desempeña el método de máquinas de vectores soporte (Support Vector Machines, SVM) en la configuración del futuro del comercio. El artículo puede considerarse una guía detallada sobre cómo utilizar SVM para mejorar las estrategias comerciales, optimizar la toma de decisiones y abrir nuevas oportunidades en los mercados financieros. Hoy nos sumergiremos en el mundo de la SVM a través de aplicaciones reales, instrucciones paso a paso y revisiones por pares. Quizá esta herramienta indispensable le ayude a entender las complejidades del comercio moderno. En cualquier caso, la SVM se convertirá en una herramienta muy útil en el arsenal de todo tráder.
preview
Algoritmos de optimización de la población: Algoritmo electromagnético (ElectroMagnetism-like algorithm, ЕМ)

Algoritmos de optimización de la población: Algoritmo electromagnético (ElectroMagnetism-like algorithm, ЕМ)

El artículo describe los principios, métodos y posibilidades del uso del algoritmo electromagnético (EM) en diversos problemas de optimización. El algoritmo EM es una herramienta de optimización eficiente capaz de trabajar con grandes cantidades de datos y funciones multidimensionales.
preview
Algoritmos de optimización de la población: Algoritmo de búsqueda de sistema cargado (Charged System Search, CSS)

Algoritmos de optimización de la población: Algoritmo de búsqueda de sistema cargado (Charged System Search, CSS)

En este artículo, analizaremos otro algoritmo de optimización inspirado en la naturaleza inanimada: el algoritmo de búsqueda de sistema cargado (CSS). El objetivo de este artículo es presentar un nuevo algoritmo de optimización basado en los principios de la física y la mecánica.
preview
Asesor Experto Grid-Hedge Modificado en MQL5 (Parte III): Optimización de una estrategia de cobertura simple (I)

Asesor Experto Grid-Hedge Modificado en MQL5 (Parte III): Optimización de una estrategia de cobertura simple (I)

En la tercera parte, volveremos a los Asesores Expertos Simple Hedge y Simple Grid que hemos desarrollado anteriormente. En esta ocasión, mejoraremos el Simple Hedge Expert Advisor usando el análisis matemático y el enfoque de fuerza bruta para utilizar de manera óptima la estrategia. Este artículo profundizará en la optimización matemática de estrategias, sentando las bases para futuras investigaciones sobre la optimización basada en códigos de partes posteriores.
preview
Ciclos y Forex

Ciclos y Forex

Los ciclos son de gran importancia en nuestras vidas. El día y la noche, las estaciones, los días de la semana y muchos otros ciclos de distinta naturaleza están presentes en la vida de cualquier persona. En este artículo, consideraremos los ciclos en los mercados financieros.
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
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
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
Añadimos un LLM personalizado a un robot comercial (Parte 3): Entrenando tu propio LLM utilizando la CPU

Añadimos un LLM personalizado a un robot comercial (Parte 3): Entrenando tu propio LLM utilizando la CPU

Con el rápido desarrollo de la inteligencia artificial actual, los modelos de lenguaje (LLM) son una parte importante de la inteligencia artificial, por lo que deberíamos pensar en cómo integrar LLM potentes en nuestro trading algorítmico. Para la mayoría de las personas, es difícil ajustar estos poderosos modelos según sus necesidades, implementarlos localmente y luego aplicarlos al comercio algorítmico. Esta serie de artículos abordará paso a paso cómo lograr este objetivo.
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
Aprendizaje automático y Data Science (Parte 29): Consejos esenciales para seleccionar los mejores datos de divisas para el entrenamiento de IA

Aprendizaje automático y Data Science (Parte 29): Consejos esenciales para seleccionar los mejores datos de divisas para el entrenamiento de IA

En este artículo, profundizamos en los aspectos cruciales de la elección de los datos de Forex más relevantes y de alta calidad para mejorar el rendimiento de los modelos de IA.
preview
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte III): Descifrando el algoritmo del Boom 1000

Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte III): Descifrando el algoritmo del Boom 1000

En esta serie de artículos, analizamos cómo podemos construir Asesores Expertos capaces de adaptarse de forma autónoma a las condiciones dinámicas del mercado. En el artículo de hoy, intentaremos sintonizar una red neuronal profunda con los mercados sintéticos de Deriv.
preview
Redes neuronales: así de sencillo (Parte 36): Modelos relacionales de aprendizaje por refuerzo (Relational Reinforcement Learning)

Redes neuronales: así de sencillo (Parte 36): Modelos relacionales de aprendizaje por refuerzo (Relational Reinforcement Learning)

En los modelos de aprendizaje por refuerzo analizados anteriormente, usamos varias opciones de redes convolucionales que pueden identificar varios objetos en los datos originales. La principal ventaja de las redes convolucionales es su capacidad de identificar objetos independientemente de la ubicación de estos. Al mismo tiempo, las redes convolucionales no siempre son capaces de hacer frente a diversas deformaciones de los objetos y al ruido. Pero estos problemas pueden resolverse usando el modelo relacional.
preview
Multibot en MetaTrader (Parte II): Plantilla dinámica mejorada

Multibot en MetaTrader (Parte II): Plantilla dinámica mejorada

Desarrollando el tema del artículo anterior sobre el multibot, hemos decidido crear una plantilla más flexible y funcional, que tenga grandes posibilidades, y que se pueda utilizar eficazmente en freelance, además de como base para desarrollar asesores de divisa y periodo múltiple con posibilidad de integración con soluciones externas.
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.
Otras clases en la biblioteca DoEasy (Parte 70): Ampliación de la funcionalidad y actualización automática de la colección de objetos de gráfico
Otras clases en la biblioteca DoEasy (Parte 70): Ampliación de la funcionalidad y actualización automática de la colección de objetos de gráfico

Otras clases en la biblioteca DoEasy (Parte 70): Ampliación de la funcionalidad y actualización automática de la colección de objetos de gráfico

En este artículo, ampliaremos la funcionalidad de los objetos de gráfico, organizaremos la navegación por los gráficos, crearemos capturas de pantalla, y también guardaremos plantillas y las aplicaremos a los gráficos. Asimismo, implementaremos la actualización automática de la colección de objetos de gráfico, sus ventanas y los indicadores en ellas.