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
Operar con el Calendario Económico MQL5 (Parte 1): Dominar las funciones del Calendario Económico MQL5

Operar con el Calendario Económico MQL5 (Parte 1): Dominar las funciones del Calendario Económico MQL5

En este artículo, exploramos cómo utilizar el Calendario Económico MQL5 para operar, comenzando por comprender sus funciones principales. A continuación, implementamos las funciones clave del Calendario Económico en MQL5 para extraer datos relevantes de noticias que nos ayuden a tomar decisiones de trading. Finalmente, concluimos mostrando cómo utilizar esta información para mejorar las estrategias comerciales de manera efectiva.
preview
Kit de herramientas de negociación MQL5 (Parte  5): Ampliación de la libreria EX5 de gestión del historial con funciones de posición

Kit de herramientas de negociación MQL5 (Parte 5): Ampliación de la libreria EX5 de gestión del historial con funciones de posición

Descubra cómo crear funciones EX5 exportables para consultar y guardar de forma eficiente datos históricos de posición. En esta guía paso a paso, ampliaremos la libreria de gestión del historial EX5 mediante el desarrollo de módulos que recuperan las propiedades clave de la posición cerrada más recientemente. Entre ellos se incluyen el beneficio neto, la duración de la operación, el stop loss basado en pips, el take profit, los valores de beneficio y otros detalles importantes.
preview
Del básico al intermedio: Unión (I)

Del básico al intermedio: Unión (I)

En este artículo, veremos qué es una unión. Aquí, mediante la experimentación, analizaremos las primeras construcciones en las que podría utilizarse una unión. No obstante, lo que se mostrará aquí es solo la parte básica de todo un conjunto de conceptos e información que se explorará más a fondo en artículos futuros. 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
Algoritmo de optimización basado en ecosistemas artificiales —  Artificial Ecosystem-based Optimization (AEO)

Algoritmo de optimización basado en ecosistemas artificiales — Artificial Ecosystem-based Optimization (AEO)

El artículo analiza el algoritmo metaheurístico AEO que modela las interacciones entre los componentes del ecosistema mediante la creación de una población inicial de soluciones y la aplicación de estrategias de actualización adaptativas, y detalla las etapas de funcionamiento del AEO, incluidas las fases de consumo y descomposición, así como diversas estrategias de comportamiento de los agentes. El artículo presenta las peculiaridades y ventajas de este algoritmo.
preview
Algoritmo de optimización basado en la migración animal (Animal Migration Optimization, AMO)

Algoritmo de optimización basado en la migración animal (Animal Migration Optimization, AMO)

El artículo está dedicado al algoritmo AMO, que modela la migración estacional de los animales en busca de condiciones óptimas para la vida y la reproducción. Las principales características de AMO incluyen el uso de vecindad topológica y un mecanismo de actualización probabilística, lo que lo hace fácil de implementar y flexible para diversas tareas de optimización.
preview
Características del Wizard MQL5 que debe conocer (Parte 35): Regresión de vectores de soporte

Características del Wizard MQL5 que debe conocer (Parte 35): Regresión de vectores de soporte

La regresión de vectores de soporte es una forma idealista de encontrar una función o "hiperplano" que describa mejor la relación entre dos conjuntos de datos. Intentamos aprovechar esto en la previsión de series de tiempo dentro de clases personalizadas del asistente MQL5.
preview
Arbitraje de swaps en Forex: Reunimos un portafolio sintético y creamos un flujo de swaps estable

Arbitraje de swaps en Forex: Reunimos un portafolio sintético y creamos un flujo de swaps estable

¿Quiere saber cómo aprovechar los spreads de los tipos de interés? En este artículo, veremos cómo usar el arbitraje de swaps en Forex para generar unos ingresos constantes cada noche construyendo un portafolio resistente a las fluctuaciones del mercado.
preview
Del básico al intermedio: Indicador (II)

Del básico al intermedio: Indicador (II)

En este artículo, veremos cómo implementar el cálculo de una media móvil y qué precauciones debemos tomar al realizar este cálculo. También hablaremos sobre la sobrecarga de la función OnCalculate para saber cuándo y cómo trabajar con un modelo u otro.
preview
Redes neuronales en el trading: Framework comercial híbrido con codificación predictiva (Final)

Redes neuronales en el trading: Framework comercial híbrido con codificación predictiva (Final)

Continuamos nuestro análisis del sistema comercial híbrido StockFormer, que combina codificación predictiva y algoritmos de aprendizaje por refuerzo para el análisis de series temporales financieras. El sistema se basa en tres ramas del Transformer con un mecanismo Diversified Multi-Head Attention (DMH-Attn) que permite identificar patrones complejos y relaciones entre activos. Ya nos hemos familiarizado con los aspectos teóricos del framework e implementado los mecanismos de DMH-Attn, así que hoy hablaremos sobre la arquitectura de los modelos y su entrenamiento.
preview
Desarrollamos un asesor experto multidivisa (Parte 15): Preparamos el asesor experto para el trading real

Desarrollamos un asesor experto multidivisa (Parte 15): Preparamos el asesor experto para el trading real

Al acercarnos gradualmente un asesor experto listo, debemos prestar atención a las cuestiones que son secundarias en la etapa de prueba de la estrategia comercial, pero que se vuelven importantes al pasar a la negociación real.
preview
Automatización de estrategias de trading en MQL5 (Parte 9): Creación de un asesor experto para la estrategia de ruptura asiática

Automatización de estrategias de trading en MQL5 (Parte 9): Creación de un asesor experto para la estrategia de ruptura asiática

En este artículo, creamos un Asesor Experto en MQL5 para la estrategia de ruptura asiática calculando los máximos y mínimos de la sesión y aplicando un filtro de tendencia con una media móvil. Implementamos estilos dinámicos para objetos, entradas de tiempo definidas por el usuario y una sólida gestión de riesgos. Por último, mostramos técnicas de pruebas retrospectivas y optimización para perfeccionar el sistema.
preview
Desarrollo de un sistema de repetición (Parte 48): Conceptos que hay que entender y comprender

Desarrollo de un sistema de repetición (Parte 48): Conceptos que hay que entender y comprender

¿Qué tal aprender algo nuevo? En este artículo, aprenderás cómo transformar scripts y servicios y por qué es útil hacerlo.
preview
Redes neuronales en el trading: Mejora de la eficiencia del Transformer mediante la reducción de la nitidez (SAMformer)

Redes neuronales en el trading: Mejora de la eficiencia del Transformer mediante la reducción de la nitidez (SAMformer)

El entrenamiento de los modelos de Transformer requiere grandes cantidades de datos y suele ser difícil debido a la escasa capacidad de generalización de los modelos en muestras pequeñas. El framework SAMformer ayuda a resolver este problema evitando los mínimos locales malos, mejorando la eficacia de los modelos incluso con muestras de entrenamiento limitadas.
preview
Redes neuronales en el trading: Reducción del consumo de memoria con el método de optimización Adam (Adam-mini)

Redes neuronales en el trading: Reducción del consumo de memoria con el método de optimización Adam (Adam-mini)

Una forma de mejorar la eficacia del proceso de aprendizaje y la convergencia de los modelos es mejorar los métodos de optimización. Adam-mini es un método de optimización adaptativa desarrollado para mejorar el algoritmo Adam básico.
preview
HTTP y Connexus (Parte 2): Comprensión de la arquitectura HTTP y el diseño de bibliotecas

HTTP y Connexus (Parte 2): Comprensión de la arquitectura HTTP y el diseño de bibliotecas

Este artículo explora los fundamentos del protocolo HTTP, cubriendo los métodos principales (GET, POST, PUT, DELETE), los códigos de estado y la estructura de las URL. Además, presenta el inicio de la construcción de la librería Conexus con las clases CQueryParam y CURL, que facilitan la manipulación de URLs y parámetros de consulta en peticiones HTTP.
preview
Cambiando a MQL5 Algo Forge (Parte 3): Uso de repositorios de terceros en su propio proyecto

Cambiando a MQL5 Algo Forge (Parte 3): Uso de repositorios de terceros en su propio proyecto

Hoy veremos cómo podemos conectar el código de otra persona desde cualquier repositorio en el almacenamiento MQL5 Algo Forge a nuestro proyecto. En el presente artículo, finalmente abordaremos esta tarea prometedora pero también compleja: cómo conectar y utilizar en la práctica bibliotecas de repositorios de terceros del almacenamiento MQL5 Algo Forge en nuestro proyecto.
preview
Desarrollo de un sistema de repetición (Parte 26): Proyecto Expert Advisor — Clase C_Terminal

Desarrollo de un sistema de repetición (Parte 26): Proyecto Expert Advisor — Clase C_Terminal

Podemos comenzar a elaborar un EA para uso en repetición/simulación. Sin embargo, necesitamos algo refinado, no solo una solución cualquiera. No debemos, no obstante, ser intimidados por la complejidad inicial. Es esencial iniciar de algún punto, si no, acabaremos por acomodarnos, reflexionando sobre la dificultad del desafío sin realmente intentar superarlo. La esencia de la programación es exactamente esa: enfrentar un obstáculo y buscar superarlo a través de estudio, pruebas y extensa investigación.
preview
Desarrollo de un sistema de repetición (Parte 73): Una comunicación inusual (II)

Desarrollo de un sistema de repetición (Parte 73): Una comunicación inusual (II)

En este artículo, veremos cómo transferir información en tiempo real entre el indicador y el servicio, y comprenderemos por qué pueden surgir problemas al modificar el timeframe y cómo resolverlos correctamente. Como bono, tendrás acceso a la última versión de la aplicación de repetición/simulador. El contenido es exclusivamente didáctico y no debe utilizarse con otros fines.
preview
Redes neuronales en el trading: Enfoque sin máscara para la predicción del movimiento de precios

Redes neuronales en el trading: Enfoque sin máscara para la predicción del movimiento de precios

En este artículo nos familiarizaremos con el método Mask-Attention-Free Transformer (MAFT) y su aplicación en el ámbito del trading. A diferencia de los Transformers tradicionales, que requieren el enmascaramiento de los datos durante el procesamiento de la secuencia, el MAFT optimiza el proceso de atención eliminando la necesidad de enmascaramiento, lo que mejora significativamente la eficiencia computacional.
preview
Métodos de optimización de la biblioteca ALGLIB (Parte II)

Métodos de optimización de la biblioteca ALGLIB (Parte II)

En este artículo seguiremos analizando los métodos restantes de optimización de la biblioteca ALGLIB, prestando especial atención a su comprobación con funciones multivariantes complejas. Esto nos permitirá no solo evaluar el rendimiento de cada algoritmo, sino también identificar sus puntos fuertes y débiles en diferentes condiciones.
preview
Analizamos el código binario de los precios en bolsa (Parte I): Una nueva visión del análisis técnico

Analizamos el código binario de los precios en bolsa (Parte I): Una nueva visión del análisis técnico

En este artículo presentaremos un enfoque innovador del análisis técnico basado en la conversión de los movimientos de los precios en código binario. El autor demostrará cómo diversos aspectos del comportamiento de los mercados -desde simples movimientos de precios hasta patrones complejos- pueden codificarse en una secuencia de ceros y unos.
preview
Características del Wizard MQL5 que debe conocer (Parte 10). El RBM no convencional

Características del Wizard MQL5 que debe conocer (Parte 10). El RBM no convencional

Las máquinas de Boltzmann restringidas (RBM, Restrictive Boltzmann Machines) son, en el nivel básico, una red neuronal de dos capas que es competente en la clasificación no supervisada a través de la reducción de la dimensionalidad. Tomamos sus principios básicos y examinamos si lo rediseñamos y entrenamos de forma poco ortodoxa, podríamos obtener un filtro de señal útil.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 07): Primeras mejoras (II)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 07): Primeras mejoras (II)

En el artículo anterior realizamos correcciones en algunos puntos y agregamos pruebas a nuestro sistema de repetición para garantizar la mayor estabilidad posible. Asimismo, comenzamos a crear y utilizar un archivo de configuración para dicho sistema.
preview
Del básico al intermedio: Estructuras (VI)

Del básico al intermedio: Estructuras (VI)

En este artículo, veremos cómo podemos empezar a implementar una base de código estructural genérico. El objetivo es reducir nuestro trabajo a la hora de programar y aprovechar todo el potencial que ofrece el propio lenguaje de programación. En este caso, MQL5.
preview
Análisis del impacto del clima en las divisas de los países agrícolas usando Python

Análisis del impacto del clima en las divisas de los países agrícolas usando Python

¿Cómo se relacionan el clima y el mercado de divisas? La teoría económica clásica no ha reconocido durante mucho tiempo la influencia de estos factores en el comportamiento del mercado. Pero ahora las cosas han cambiado. Hoy intentaremos encontrar conexiones entre el estado del tiempo y la posición de las divisas agrarias en el mercado.
preview
Marcado de datos en el análisis de series temporales (Parte 6): Aplicación y prueba en EA utilizando ONNX

Marcado de datos en el análisis de series temporales (Parte 6): Aplicación y prueba en EA utilizando ONNX

Esta serie de artículos presenta varios métodos de etiquetado de series temporales, que pueden crear datos que se ajusten a la mayoría de los modelos de inteligencia artificial, y el etiquetado de datos específico según las necesidades puede hacer que el modelo de inteligencia artificial entrenado se ajuste más al diseño esperado, mejorar la precisión de nuestro modelo, ¡e incluso ayudar al modelo a dar un salto cualitativo!
preview
Búsqueda con restricciones — Tabu Search (TS).

Búsqueda con restricciones — Tabu Search (TS).

En este artículo se analiza el algoritmo de búsqueda tabú, uno de los primeros y más conocidos métodos de la metaheurística. Hoy mostraremos con detalle cómo funciona el algoritmo, empezando por la selección de una solución inicial y la exploración de las opciones vecinas, centrándonos en el uso de la lista tabú. El artículo abarcará los aspectos clave del algoritmo y sus características.
preview
Algoritmo de agujero negro — Black Hole Algorithm (BHA)

Algoritmo de agujero negro — Black Hole Algorithm (BHA)

El algoritmo de agujero negro (BHA) utiliza los principios de la gravedad de los agujeros negros para optimizar las soluciones. En este artículo, analizaremos cómo el BHA atrae las mejores soluciones evitando los extremos locales, y por qué este algoritmo se ha convertido en una poderosa herramienta para resolver problemas complejos. Descubra cómo ideas sencillas pueden dar lugar a resultados impresionantes en el mundo de la optimización.
preview
Desarrollo de un sistema de repetición (Parte 44): Proyecto Chart Trade (III)

Desarrollo de un sistema de repetición (Parte 44): Proyecto Chart Trade (III)

En el artículo anterior, expliqué cómo puedes manipular los datos de la plantilla para usarlos en un OBJ_CHART. Allí solo introduje el tema sin entrar en muchos detalles, ya que en esa versión el trabajo se hizo de una manera muy simplificada. Sin embargo, se hizo de esa forma precisamente para facilitar la explicación del contenido. Pues, a pesar de parecer simple hacer ciertas cosas, algunas no son tan evidentes, y sin comprender la parte más simple y básica, no entenderás realmente lo que estoy haciendo.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte IX): Análisis de múltiples marcos temporales (II)

Reimaginando las estrategias clásicas en MQL5 (Parte IX): Análisis de múltiples marcos temporales (II)

En la discusión de hoy, examinamos la estrategia de análisis de múltiples marcos temporales para aprender en qué marco temporal nuestro modelo de IA funciona mejor. Nuestro análisis nos lleva a concluir que los marcos temporales mensuales y horarios producen modelos con tasas de error relativamente bajas en el par EURUSD. Utilizamos esto para nuestro beneficio y creamos un algoritmo comercial que hace predicciones de IA en el marco de tiempo mensual y ejecuta sus operaciones en el marco de tiempo horario.
preview
Redes neuronales en el trading: Modelo hiperbólico de difusión latente (HypDiff)

Redes neuronales en el trading: Modelo hiperbólico de difusión latente (HypDiff)

El artículo estudiará formas de codificar los datos de origen en un espacio latente hiperbólico mediante procesos de difusión anisotrópica. Esto ayudará a preservar con mayor precisión las características topológicas de la situación actual del mercado y mejorará la calidad de su análisis.
preview
Reimaginando las estrategias clásicas: El petróleo

Reimaginando las estrategias clásicas: El petróleo

En este artículo, revisamos una estrategia clásica de negociación de crudo con el objetivo de mejorarla aprovechando algoritmos de aprendizaje automático supervisado. Construiremos un modelo de mínimos cuadrados para predecir los futuros precios del crudo Brent basándonos en el diferencial entre los precios del crudo Brent y del crudo WTI. Nuestro objetivo es identificar un indicador adelantado de futuros cambios en los precios del Brent.
preview
Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Práctica

Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Práctica

En este artículo, seguiremos profundizando en la aplicación del algoritmo ACMO (Atmospheric Cloud Model Optimisation). En particular, discutiremos dos aspectos clave: el movimiento de las nubes hacia regiones de bajas presiones y la modelización del proceso de lluvia, incluida la inicialización de las gotas y su distribución entre las nubes. También analizaremos otras técnicas que desempeñan un papel importante a la hora de gestionar el estado de las nubes y garantizar su interacción con el entorno.
preview
Dominando los registros (Parte 1): Conceptos fundamentales y primeros pasos en MQL5

Dominando los registros (Parte 1): Conceptos fundamentales y primeros pasos en MQL5

¡Bienvenidos al comienzo de otro viaje! Este artículo abre una serie especial donde crearemos, paso a paso, una biblioteca para la manipulación de registros, diseñada para quienes desarrollan en el lenguaje MQL5.
preview
Clase básica de algoritmos de población como base para una optimización eficaz

Clase básica de algoritmos de población como base para una optimización eficaz

El presente material supone un intento único de investigación para combinar una variedad de algoritmos de población en una sola clase y simplificar la aplicación de técnicas de optimización. Este enfoque no solo descubre oportunidades para el desarrollo de nuevos algoritmos, incluidas variantes híbridas, sino que también crea un banco de pruebas básico y versátil. Este banco se convertirá así en una herramienta clave para seleccionar el algoritmo óptimo según un problema específico.
preview
Redes neuronales en el trading: Aprendizaje jerárquico de características en nubes de puntos

Redes neuronales en el trading: Aprendizaje jerárquico de características en nubes de puntos

Seguimos estudiando los algoritmos para extraer características de una nube de puntos. Y en este artículo, nos familiarizaremos con los mecanismos para mejorar la eficacia del método PointNet.
preview
Desarrollo de un sistema de repetición (Parte 47): Proyecto Chart Trade (VI)

Desarrollo de un sistema de repetición (Parte 47): Proyecto Chart Trade (VI)

En este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Entonces, en este artículo finalizaremos el indicador Chart Trade, haciéndolo funcional hasta el punto de poder usarlo junto con algún Expert Advisor. Esto nos permitirá acceder y trabajar con el indicador, como si estuviera realmente vinculado al Expert Advisor. Pero lo haremos de una manera mucho más interesante que en el pasado.
preview
Redes neuronales en el trading: Detección adaptativa de anomalías del mercado (DADA)

Redes neuronales en el trading: Detección adaptativa de anomalías del mercado (DADA)

Hoy vamos a familiarizarnos con el framework DADA, un método innovador para detectar anomalías en las series temporales. Este ayuda a distinguir las fluctuaciones aleatorias de las presuntas anomalías. A diferencia de los métodos tradicionales, el DADA puede adaptarse de forma flexible a distintos datos. En lugar de un nivel de compresión fijo, usa múltiples opciones y elige la más adecuada para cada caso.
preview
Factorización de matrices: lo básico

Factorización de matrices: lo básico

Como el objetivo aquí es ser didáctico. Mantendré las cosas en su forma más sencilla. Es decir, implementaremos solo lo necesario: la multiplicación de matrices. Verás que esto será suficiente para simular la multiplicación de una matriz por un escalar. La gran dificultad que muchas personas tienen a la hora de implementar un código utilizando la factorización de matrices es que, a diferencia de una factorización escalar, donde en casi todos los casos el orden de los factores no altera el resultado, cuando se usan matrices, la cosa no es así.
preview
Redes neuronales: así de sencillo (Parte 72): Predicción de trayectorias en entornos ruidosos

Redes neuronales: así de sencillo (Parte 72): Predicción de trayectorias en entornos ruidosos

La calidad de las predicciones de los estados futuros desempeña un papel importante en el método Goal-Conditioned Predictive Coding, del que hablamos en el artículo anterior. En este artículo quiero presentarte un algoritmo que puede mejorar significativamente la calidad de la predicción en entornos estocásticos, como los mercados financieros.