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
Dominando JSON: Crea tu propio lector JSON desde cero en MQL5

Dominando JSON: Crea tu propio lector JSON desde cero en MQL5

Experimente una guía paso a paso sobre la creación de un analizador JSON personalizado en MQL5, completo con manejo de objetos y matrices, verificación de errores y serialización. Obtenga conocimientos prácticos para conectar su lógica comercial y sus datos estructurados con esta solución flexible para manejar JSON en MetaTrader 5.
preview
Desarrollo de un sistema de repetición (Parte 76): Un nuevo Chart Trade (III)

Desarrollo de un sistema de repetición (Parte 76): Un nuevo Chart Trade (III)

En este artículo, veremos cómo funciona el código faltante del artículo anterior, DispatchMessage. Aquí se introducirá el tema del próximo artículo. Por esta razón, es importante entender el funcionamiento de este procedimiento antes de pasar al siguiente tema. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos presentados.
preview
Del básico al intermedio: Eventos (I)

Del básico al intermedio: Eventos (I)

Con todo lo que se ha mostrado hasta ahora, creo que ya podemos comenzar a implementar algún tipo de aplicación para ejecutarla directamente en el gráfico de algún símbolo. Aunque, antes de poder hacer esto, necesitamos hablar de algo que resulta bastante confuso para los principiantes: el hecho de que las aplicaciones desarrolladas en MQL5 y destinadas a visualizarse en un gráfico no se crean del mismo modo que hemos visto hasta ahora. En este artículo, empezaremos a entenderlo un poco mejor.
preview
Kit de herramientas de negociación MQL5 (Parte 6): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente completada

Kit de herramientas de negociación MQL5 (Parte 6): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente completada

Aprenda a crear un módulo EX5 de funciones exportables que consultan y guardan datos de forma fluida para el pedido pendiente completado más recientemente. En esta guía paso a paso, mejoraremos la librería History Management EX5 desarrollando funciones específicas y compartimentadas para recuperar las propiedades esenciales de la última orden pendiente completada. Estas propiedades incluyen el tipo de orden, el tiempo de configuración, el tiempo de ejecución, el tipo de ejecución y otros detalles críticos necesarios para la gestión y el análisis eficaces del historial de operaciones de las órdenes pendientes.
preview
Algoritmo del restaurador de éxito —  Successful Restaurateur Algorithm (SRA)

Algoritmo del restaurador de éxito — Successful Restaurateur Algorithm (SRA)

El algoritmo del restaurador de éxito (SRA) es un innovador método de optimización inspirado en los principios de la gestión de restaurantes. A diferencia de los enfoques tradicionales, el SRA no descarta las soluciones débiles, sino que las mejora combinándolas con elementos de las que han tenido éxito. El algoritmo muestra resultados competitivos y ofrece una nueva perspectiva sobre el equilibrio entre investigación y explotación en los problemas de optimización.
preview
Características del Wizard MQL5 que debe conocer (Parte 18): Búsqueda de arquitectura neural con vectores propios

Características del Wizard MQL5 que debe conocer (Parte 18): Búsqueda de arquitectura neural con vectores propios

Búsqueda de arquitectura neuronal, un enfoque automatizado para determinar la configuración ideal de la red neuronal, puede ser una ventaja cuando se enfrentan muchas opciones y grandes conjuntos de datos de prueba. Analizamos cómo, cuando se combinan vectores propios, este proceso puede resultar aún más eficiente.
preview
Del básico al intermedio: Struct (I)

Del básico al intermedio: Struct (I)

¿Qué te parece si empezamos a estudiar las estructuras de una forma más simple, práctica y agradable? Y es que las estructuras son uno de los fundamentos de la programación, ya sea estructurada o no. Sé que muchos piensan que las estructuras son solo colecciones de datos, pero te aseguro que son mucho más que eso. Y aquí empezaremos a explorar este nuevo universo de la manera más didáctica posible.
preview
El análisis volumétrico de redes neuronales como clave de las tendencias futuras

El análisis volumétrico de redes neuronales como clave de las tendencias futuras

Este artículo explora la posibilidad de mejorar la previsión de los precios usando como base el análisis comercial volumétrico mediante la integración de los principios del análisis técnico con la arquitectura de redes neuronales LSTM. Prestaremos especial atención a la detección e interpretación de volúmenes anómalos, el uso de clusterización y la generación y definición de características basadas en el volumen en el contexto del aprendizaje automático.
preview
Desarrollo de un sistema de repetición (Parte 72): Una comunicación inesperada (I)

Desarrollo de un sistema de repetición (Parte 72): Una comunicación inesperada (I)

Lo que construiremos será complejo de entender. Por esta razón, en este artículo solo presentaré el inicio de la construcción. Léelo con calma, ya que es esencial comprender su contenido para pasar al siguiente paso. El objetivo de este contenido es meramente didáctico, sin aplicación práctica más allá del aprendizaje y estudio de los conceptos presentados.
preview
Del básico al intermedio: Comando SWITCH

Del básico al intermedio: Comando SWITCH

En este artículo aprenderemos a utilizar el comando SWITCH en su forma más simple y básica. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos presentados.
preview
Del básico al intermedio: Struct (I)

Del básico al intermedio: Struct (I)

¿Qué te parece si empezamos a estudiar las estructuras de una forma más simple, práctica y agradable? Y es que las estructuras son uno de los fundamentos de la programación, ya sea estructurada o no. Sé que muchos piensan que las estructuras son solo colecciones de datos, pero te aseguro que son mucho más que eso. Y aquí empezaremos a explorar este nuevo universo de la manera más didáctica posible.
preview
Añadimos un LLM personalizado a un robot comercial (Parte 5): Desarrollar y probar la estrategia de negociación con LLMs (IV) - Probar la estrategia de trading

Añadimos un LLM personalizado a un robot comercial (Parte 5): Desarrollar y probar la estrategia de negociación con LLMs (IV) - Probar la estrategia de trading

Con el rápido desarrollo de la inteligencia artificial en la actualidad, los modelos de lenguaje (LLM) son una parte importante de la inteligencia artificial, por lo que debemos pensar en cómo integrar potentes LLM en nuestro trading algorítmico. Para la mayoría de las personas, resulta difícil ajustar estos potentes modelos según sus necesidades, implementarlos localmente y luego aplicarlos al comercio algorítmico. Esta serie de artículos adoptará un enfoque paso a paso para lograr este objetivo.
preview
Redes neuronales en el trading: Segmentación de datos basada en expresiones de referencia

Redes neuronales en el trading: Segmentación de datos basada en expresiones de referencia

En el proceso de análisis de la situación del mercado, dividimos este en segmentos individuales, identificando las tendencias clave. Sin embargo, los métodos tradicionales de análisis suelen centrarse en un solo aspecto, lo cual limita nuestra percepción. En este artículo, presentaremos un método que nos permitirá seleccionar varios objetos, ofreciéndonos una comprensión más completa y variada de la situación.
preview
Desarrollamos un asesor experto multidivisas (Parte 23): Ordenando la cadena de etapas de optimización automática de proyectos (II)

Desarrollamos un asesor experto multidivisas (Parte 23): Ordenando la cadena de etapas de optimización automática de proyectos (II)

Hoy nuestro objetivo consiste en crear un sistema de optimización periódica automática de las estrategias comerciales utilizadas en un asesor experto final. El sistema se vuelve más complejo a medida que se desarrolla, por lo que de vez en cuando debemos examinarlo en su conjunto para detectar cuellos de botella y soluciones subóptimas.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 9): Flujo externo

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 9): Flujo externo

Este artículo explora una nueva dimensión del análisis utilizando librerías externas diseñadas específicamente para análisis avanzados. Estas librerías, como pandas, proporcionan potentes herramientas para procesar e interpretar datos complejos, lo que permite a los operadores obtener una visión más profunda de la dinámica del mercado. Al integrar estas tecnologías, podemos salvar la brecha entre los datos brutos y las estrategias viables. Únase a nosotros para sentar las bases de este enfoque innovador y liberar el potencial de combinar la tecnología con la experiencia en el comercio.
preview
Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)

Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)

En este artículo, presentaré un tema muy importante, que pocos comprenden realmente: Eventos personalizados. Peligros. Ventajas y fallos causados por tales elementos. Este tema es clave para quienes desean convertirse en programadores profesionales en MQL5 o en cualquier otro tipo de lenguaje. Por ello, nos centraremos en MQL5 y MetaTrader 5.
preview
Del básico al intermedio: Plantilla y Typename (I)

Del básico al intermedio: Plantilla y Typename (I)

En este artículo, comenzaremos a tratar uno de los conceptos que muchos principiantes evitan. Esto se debe a que las plantillas no son un tema sencillo de entender y utilizar, ya que muchos no comprenden el principio básico detrás de lo que sería una plantilla: la sobrecarga de funciones y procedimientos.
preview
Del básico al intermedio: Struct (II)

Del básico al intermedio: Struct (II)

En este artículo, vamos entender por qué se crearon estructuras en lenguajes de programación como MQL5, así como también por qué, en algunos momentos, las estructuras son formas ideales de transferir valores entre funciones y procedimientos, mientras que, en otros momentos, pueden no ser la mejor forma de hacerlo.
preview
Redes neuronales en el trading: Estudio de la estructura local de datos

Redes neuronales en el trading: Estudio de la estructura local de datos

La identificación y preservación eficaz de la estructura local de los datos del mercado en condiciones de ruido es una tarea importante en el trading. El uso del mecanismo de Self-Attention ha ofrecido buenos resultados en el procesamiento de estos datos, pero el método clásico no tiene en cuenta las características locales de la estructura original. En este artículo, le propongo familiarizarse con un algoritmo que considera estas dependencias estructurales.
preview
Características del Wizard MQL5 que debe conocer (Parte 40): SAR parabólico

Características del Wizard MQL5 que debe conocer (Parte 40): SAR parabólico

El SAR parabólico (Stop-and-Reversal, SAR) es un indicador de confirmación de tendencia y de puntos de finalización de tendencia. Debido a que es un rezagado en la identificación de tendencias, su propósito principal ha sido posicionar trailing stop loss en posiciones abiertas. Sin embargo, exploramos si realmente podría usarse como una señal de Asesor Experto, gracias a clases de señales personalizadas de Asesores Expertos ensamblados por un asistente.
preview
Cómo publicar código en CodeBase: Guía práctica

Cómo publicar código en CodeBase: Guía práctica

En este artículo, analizaremos el proceso de publicación de diferentes tipos de programas para el terminal en la biblioteca de código fuente MQL5 usando ejemplos reales.
preview
Análisis de múltiples símbolos con Python y MQL5 (Parte II): Análisis de componentes principales para la optimización de carteras

Análisis de múltiples símbolos con Python y MQL5 (Parte II): Análisis de componentes principales para la optimización de carteras

La gestión del riesgo de las cuentas de trading es un reto para todos los operadores. ¿Cómo podemos desarrollar aplicaciones de trading que aprendan dinámicamente los modos de riesgo alto, medio y bajo para diversos símbolos en MetaTrader 5? Al utilizar el Análisis de Componentes Principales (Principal Components Analysis, PCA), obtenemos un mejor control sobre la variación de la cartera. Demostraré cómo crear aplicaciones que aprendan estos tres modos de riesgo a partir de datos de mercado obtenidos de MetaTrader 5.
preview
Del básico al intermedio: Arrays y cadenas (I)

Del básico al intermedio: Arrays y cadenas (I)

En este artículo, empezaremos a explorar algunos tipos especiales de datos. Empezaremos definiendo qué es una cadena de texto (string) y explicando cómo utilizar algunos procedimientos básicos. Esto nos permitirá trabajar con este tipo de dato, que puede resultar curioso, aunque en ciertos momentos puede resultar un poco confuso para principiantes. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea aprender y estudiar los conceptos mostrados.
preview
Características del Wizard MQL5 que debe conocer (Parte 33): Núcleos de procesos gaussianos

Características del Wizard MQL5 que debe conocer (Parte 33): Núcleos de procesos gaussianos

Los núcleos del proceso gaussiano son la función de covarianza de la distribución normal que podría desempeñar un papel en el pronóstico. Exploramos este algoritmo único en una clase de señal personalizada de MQL5 para ver si podría usarse como una señal de entrada y salida principal.
preview
Redes neuronales en el trading: Segmentación guiada

Redes neuronales en el trading: Segmentación guiada

Hoy proponemos al lector familiarizarse con el método de análisis multimodal complejo de interacción y comprensión de características.
preview
Características del Wizard MQL5 que debe conocer (Parte 43): Aprendizaje por refuerzo con SARSA

Características del Wizard MQL5 que debe conocer (Parte 43): Aprendizaje por refuerzo con SARSA

SARSA, que es la abreviatura de State-Action-Reward-State-Action (Estado-Acción-Recompensa-Estado-Acción), es otro algoritmo que se puede utilizar al implementar el aprendizaje por refuerzo. Por lo tanto, tal y como vimos con Q-Learning y DQN, analizamos cómo se podría explorar e implementar esto como un modelo independiente, en lugar de solo como un mecanismo de entrenamiento, en los asesores expertos ensamblados por el asistente.
preview
Características del Wizard MQL5 que debe conocer (Parte 45): Aprendizaje por refuerzo con Monte-Carlo

Características del Wizard MQL5 que debe conocer (Parte 45): Aprendizaje por refuerzo con Monte-Carlo

Monte-Carlo es el cuarto algoritmo diferente de aprendizaje por refuerzo que estamos considerando con el objetivo de explorar su implementación en los asesores expertos ensamblados por el asistente. Aunque se basa en el muestreo aleatorio, ofrece numerosas posibilidades de simulación que podemos aprovechar.
preview
Desarrollo de un sistema de repetición (Parte 65): Presionando play en el servicio (VI)

Desarrollo de un sistema de repetición (Parte 65): Presionando play en el servicio (VI)

En este artículo, mostraré cómo lo implementaremos y resolveremos el problema del indicador del mouse cuando se utiliza junto con la aplicación de repetición/simulación. El contenido expuesto aquí tiene como único propósito la enseñanza. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos presentados.
preview
Características del Wizard MQL5 que debe conocer (Parte 15): Máquinas de vectores de soporte utilizando el polinomio de Newton

Características del Wizard MQL5 que debe conocer (Parte 15): Máquinas de vectores de soporte utilizando el polinomio de Newton

Las máquinas de vectores de soporte clasifican los datos en función de clases predefinidas explorando los efectos de aumentar su dimensionalidad. Se trata de un método de aprendizaje supervisado bastante complejo dado su potencial para tratar datos multidimensionales. Para este artículo consideramos cómo su implementación muy básica de datos bidimensionales puede hacerse más eficientemente con el polinomio de Newton al clasificar precio-acción.
preview
Asesor experto basado en un aproximador MLP universal

Asesor experto basado en un aproximador MLP universal

El artículo presenta una forma sencilla y asequible de usar redes neuronales en un asesor comercial que no requiere conocimientos profundos en aprendizaje automático. El método excluye la normalización de la función objetivo y elimina los problemas de "explosión de pesos" y "estupor de la red", posibilitando un aprendizaje intuitivo y un control visual de los resultados.
preview
Del básico al intermedio: Recursividad

Del básico al intermedio: Recursividad

En este artículo, veremos un concepto de programación muy interesante y bastante divertido, aunque debe ser tratado con extremo respeto, ya que un mal uso o un mal entendimiento del mismo convierte programas relativamente simples en algo innecesariamente complicado. Aunque, el buen uso y la perfecta adecuación en situaciones igualmente adecuadas convierten la recursividad en un gran aliado para resolver cuestiones que, de otra forma, serían mucho más trabajosas y demoradas. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe ser considerado como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Desarrollo de un asesor experto para el análisis de eventos de noticias basados en el calendario en MQL5

Desarrollo de un asesor experto para el análisis de eventos de noticias basados en el calendario en MQL5

La volatilidad tiende a alcanzar su punto máximo alrededor de eventos noticiosos de alto impacto, lo que crea oportunidades de ruptura significativas. En este artículo, describiremos el proceso de implementación de una estrategia de ruptura basada en el calendario. Cubriremos todo, desde la creación de una clase para interpretar y almacenar datos del calendario, el desarrollo de backtests realistas utilizando estos datos y, finalmente, la implementación del código de ejecución para operaciones en vivo.
preview
Desarrollo de un sistema de repetición (Parte 69): Ajuste del tiempo (II)

Desarrollo de un sistema de repetición (Parte 69): Ajuste del tiempo (II)

Aquí entenderemos por qué necesitamos utilizar la función iSpread. Al mismo tiempo, comprenderemos cómo el sistema nos informa del tiempo restante de la barra cuando no hay ticks disponibles para hacerlo. El contenido presentado aquí tiene como único propósito la enseñanza y la didáctica. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Redes neuronales en el trading: Transformer parámetro-eficiente con atención segmentada (Final)

Redes neuronales en el trading: Transformer parámetro-eficiente con atención segmentada (Final)

En artículos anteriores, revisamos los aspectos teóricos del framework PSformer, que incluye dos importantes innovaciones en la arquitectura del Transformer clásico: el mecanismo de compartición de parámetros (PS) y la atención a los segmentos espaciotemporales (SegAtt). En este artículo, continuaremos el trabajo sobre la implementación de los enfoques propuestos mediante MQL5.
preview
Algoritmo de tiro con arco - Archery Algorithm (AA)

Algoritmo de tiro con arco - Archery Algorithm (AA)

Este artículo detalla un algoritmo de optimización inspirado en el tiro con arco, centrado en el uso del método de la ruleta como mecanismo de selección de zonas prometedoras para las "flechas". Este método nos permite evaluar la calidad de las soluciones y seleccionar las más prometedoras para seguir estudiándolas.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 14): Herramienta Parabolic SAR (Stop and Reverse)

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 14): Herramienta Parabolic SAR (Stop and Reverse)

Incorporar indicadores técnicos en el análisis de la acción del precio es un enfoque muy eficaz. Estos indicadores suelen resaltar niveles clave de reversiones y retrocesos, lo que ofrece información valiosa sobre la dinámica del mercado. En este artículo, mostramos cómo desarrollamos una herramienta automatizada que genera señales utilizando el indicador Parabolic SAR.
preview
Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoría

Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoría

Este artículo se centra en el algoritmo metaheurístico Atmosphere Clouds Model Optimisation (ACMO), que modela el comportamiento de las nubes para resolver problemas de optimización. El algoritmo usa los principios de generación, movimiento y propagación de nubes, adaptándose a las "condiciones meteorológicas" del espacio de soluciones. El artículo revela cómo una simulación meteorológica del algoritmo encuentra soluciones óptimas en un espacio de posibilidades complejo y detalla las etapas del ACMO, incluida la preparación del "cielo", el nacimiento de las nubes, su movimiento y la concentración de la lluvia.
preview
Redes neuronales en el trading: Aprendizaje multitarea basado en el modelo ResNeXt

Redes neuronales en el trading: Aprendizaje multitarea basado en el modelo ResNeXt

El marco de aprendizaje multitarea basado en ResNeXt optimiza el análisis de datos financieros considerando su alta dimensionalidad, la no linealidad y las dependencias temporales. El uso de la convolución grupal y cabezas especializadas permite al modelo extraer eficazmente características clave de los datos de origen.
preview
Redes neuronales en el trading: Modelo Universal de Generación de Trayectorias (UniTraj)

Redes neuronales en el trading: Modelo Universal de Generación de Trayectorias (UniTraj)

La comprensión del comportamiento de los agentes es importante en distintos ámbitos, pero la mayoría de los métodos se centran en una única tarea (comprensión, eliminación del ruido, predicción), lo cual reduce su eficacia en escenarios del mundo real. En este artículo, propongo al lector introducir un modelo capaz de adaptarse a diferentes tareas.
preview
Redes neuronales en el trading: Clusterización doble de series temporales (DUET)

Redes neuronales en el trading: Clusterización doble de series temporales (DUET)

El framework DUET ofrece un enfoque innovador del análisis de series temporales, combinando la clusterización temporal y por canales para revelar patrones ocultos en los datos analizados. Esto permite a los modelos adaptarse a los cambios a lo largo del tiempo y mejorar la calidad de las previsiones eliminando el ruido.