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
Del básico al intermedio: Indicadores técnicos (I)

Del básico al intermedio: Indicadores técnicos (I)

En este artículo veremos los conceptos básicos sobre cómo utilizar los indicadores técnicos incluidos y mantenidos por MetaTrader 5. Conocer y comprender este tipo de indicadores puede hacer que la implementación de una solución sea una tarea mucho más sencilla, rápida y eficiente, ya que no necesitas preocuparte por los cálculos que deben realizarse. La propia plataforma se encarga de realizarlos por nosotros.
preview
Redes neuronales en el trading: Framework de predicción cruzada de dominios de series temporales (Final)

Redes neuronales en el trading: Framework de predicción cruzada de dominios de series temporales (Final)

El artículo trata sobre la construcción práctica del modelo TimeFound para la predicción de series temporales. Asimismo, se analizan las etapas clave de la implementación de los principales enfoques del framework con MQL5.
preview
Redes neuronales en el trading: Desentrañando las componentes estructuradas (Codificador)

Redes neuronales en el trading: Desentrañando las componentes estructuradas (Codificador)

Les proponemos familiarizarse con la continuación de la implementación del framework SCNN, que combina flexibilidad e interpretabilidad y permite identificar con precisión las componentes estructurales de una serie temporal. El artículo expone en detalle los mecanismos de normalización adaptativa y atención, lo que proporciona robustez al modelo ante las condiciones cambiantes del mercado.
preview
Tablas en el paradigma MVC en MQL5: integramos el componente Model en el componente View

Tablas en el paradigma MVC en MQL5: integramos el componente Model en el componente View

En este artículo crearemos la primera versión del control TableControl (TableView). Se tratará de una tabla estática sencilla, creada a partir de los datos de entrada definidos por dos arrays: un array de datos y un array de encabezados de columnas.s
preview
Del básico al intermedio: Colas, listas y árboles (VI)

Del básico al intermedio: Colas, listas y árboles (VI)

En este artículo retomaremos la implementación de un árbol. Ahora que conocemos los conceptos básicos sobre el funcionamiento de los constructores y destructores, finalmente podremos corregir el código presentado en el último artículo. Prepárate para una verdadera aventura en la programación con MQL5.
preview
Características del Wizard MQL5 que debe conocer (Parte 73): Uso de patrones de Ichimoku y del ADX-Wilder

Características del Wizard MQL5 que debe conocer (Parte 73): Uso de patrones de Ichimoku y del ADX-Wilder

El indicador Ichimoku Kinko Hyo y el oscilador ADX-Wilder son una combinación que podría utilizarse de forma complementaria en un asesor experto de MQL5. El Ichimoku tiene múltiples facetas; sin embargo, en este artículo nos centraremos principalmente en su capacidad para definir los niveles de soporte y resistencia. Por otra parte, también utilizamos el ADX para definir nuestra tendencia. Como de costumbre, utilizamos el asistente de MQL5 para desarrollar y probar todo el potencial que estos dos puedan tener.
preview
Algoritmo de optimización del dingo — Dingo Optimization Algorithm (DOA)

Algoritmo de optimización del dingo — Dingo Optimization Algorithm (DOA)

En este artículo se presenta un nuevo método metaheurístico basado en las estrategias de caza de los dingos australianos: el ataque en grupo, la persecución y la búsqueda de carroña. Veamos cómo se comporta, desde el punto de vista algorítmico, el algoritmo de optimización del dingo (DOA).
preview
Automatización de estrategias de trading en MQL5 (Parte 26): Desarrollo de un sistema de promediado basado en Pin Bar para la gestión de múltiples posiciones

Automatización de estrategias de trading en MQL5 (Parte 26): Desarrollo de un sistema de promediado basado en Pin Bar para la gestión de múltiples posiciones

En este artículo, desarrollamos un sistema de promediación Pin Bar en MQL5 que detecta patrones de barras Pin para iniciar operaciones y emplea una estrategia de promedio para la gestión de múltiples posiciones, mejorada con stops dinámicos y ajustes de punto de equilibrio. Incorporamos parámetros personalizables con un panel de control para el seguimiento en tiempo real de las posiciones y los beneficios.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 10): Factorización de matrices

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 10): Factorización de matrices

La factorización es un proceso matemático que se utiliza para obtener información sobre las características de los datos. Cuando aplicamos la factorización a grandes conjuntos de datos de mercado —organizados en filas y columnas—, podemos descubrir patrones y características del mercado. La factorización es una herramienta muy potente, y en este artículo te mostraremos cómo puedes utilizarla en la plataforma MetaTrader 5, mediante la API de MQL5, para obtener una visión más profunda de tus datos de mercado.
preview
Del básico al intermedio: Subventanas (III)

Del básico al intermedio: Subventanas (III)

Este texto detalla el uso de subventanas en indicadores MQL5: creación básica, detección de instancias y prevención de duplicados. Aborda INDICATOR_SHORTNAME, la consulta de ventanas e indicadores del gráfico y la diferencia entre la visualización en el gráfico principal y en una ventana separada. También muestra cómo definir la altura y los límites de la subventana para estandarizar la interfaz y facilitar la disposición de objetos.
preview
Redes neuronales en el trading: Entrenamiento de metaparámetros basado en la heterogeneidad (Final)

Redes neuronales en el trading: Entrenamiento de metaparámetros basado en la heterogeneidad (Final)

En este artículo se describe la implementación práctica del framework HimNet, basado en MQL5, listo para integrarse en el trading automatizado. Asimismo, mostramos cómo los metaparámetros adaptados a la heterogeneidad convierten el modelo en una herramienta universal capaz de hacer frente a una volatilidad cambiante.
preview
Del básico al intermedio: Subventanas (II)

Del básico al intermedio: Subventanas (II)

El artículo profundiza en el uso de las subventanas en MetaTrader 5 y muestra cómo la dirección del cálculo en OnCalculate afecta a los búferes y al trazado de las medias. Explica, en la práctica, cómo se encadenan indicadores mediante FIRST INDICATOR’S DATA y PREVIOUS INDICATOR’S DATA, el efecto de la eliminación en cadena de los indicadores dependientes y cómo se comporta indicatorseparatewindow. El lector aprenderá a diagnosticar problemas de visualización y a estructurar indicadores que funcionen correctamente en subventanas.
preview
Oscilador Parafrac: Combinación del SAR parabólico y el indicador fractal

Oscilador Parafrac: Combinación del SAR parabólico y el indicador fractal

Exploraremos cómo se pueden combinar el indicador Parabolic SAR y el indicador Fractal para crear un nuevo indicador de tipo oscilador. Al integrar las ventajas únicas de ambas herramientas, los operadores pueden aspirar a desarrollar una estrategia de trading más refinada y eficaz.
preview
Automatización de estrategias de trading en MQL5 (Parte 27): Creando un patrón armónico «Crab» de acción del precio con señales visuales

Automatización de estrategias de trading en MQL5 (Parte 27): Creando un patrón armónico «Crab» de acción del precio con señales visuales

En este artículo, desarrollamos un sistema de patrones armónicos «Crab» en MQL5 que identifica patrones armónicos «Crab» alcistas y bajistas utilizando puntos de pivote y niveles de Fibonacci, y que activa operaciones con niveles precisos de entrada, stop loss y take profit. Incorporamos información visual mediante elementos gráficos, como triángulos y líneas de tendencia, para mostrar la estructura del patrón XABCD y los niveles de negociación.
preview
Entrenamiento de un U-Transformer no lineal sobre los residuos de un modelo autorregresivo lineal

Entrenamiento de un U-Transformer no lineal sobre los residuos de un modelo autorregresivo lineal

El artículo presenta un innovador sistema híbrido para la predicción de tipos de cambio que combina un modelo autorregresivo lineal con la arquitectura U-Transformer para el análisis de los residuos. El sistema alterna automáticamente entre las fuentes de señales en función de su calidad e incorpora una lógica de negociación completa con estrategias de averaging (promediación de posiciones) y pyramiding (piramidación de posiciones). La ventaja clave de este enfoque radica en que la red neuronal se entrena a partir de los residuos del modelo lineal, lo que simplifica la tarea y reduce el riesgo de sobreajuste. La implementación se ha realizado íntegramente en MQL5 y está lista para su uso en transacciones reales, con adaptación automática a las condiciones cambiantes del mercado.
preview
Herramientas de trading de MQL5 (Parte 7): Panel informativo para el seguimiento de posiciones en múltiples símbolos y de la cuenta

Herramientas de trading de MQL5 (Parte 7): Panel informativo para el seguimiento de posiciones en múltiples símbolos y de la cuenta

En este artículo, desarrollamos un panel informativo en MQL5 para monitorizar posiciones en múltiples símbolos y métricas de cuenta como saldo, equidad y margen libre. Implementamos una tabla ordenable con actualizaciones en tiempo real, exportación a CSV y un efecto de encabezado brillante para mejorar la usabilidad y el atractivo visual.
preview
Red neuronal en la práctica: Descenso de gradiente

Red neuronal en la práctica: Descenso de gradiente

En este artículo intentaré presentar, de la forma más sencilla y didáctica posible, una de las cuestiones más controvertidas cuando se habla de redes neuronales: cómo buscar el mejor punto posible o el menor costo de una función. Mostraré la diferencia entre una regresión lineal y un descenso de gradiente. Ambos casos son bastante sencillos y sirven para demostrar que no siempre el camino que parece obvio es realmente el mejor.
preview
Superando las limitaciones del aprendizaje automático (Parte 2): Falta de reproducibilidad

Superando las limitaciones del aprendizaje automático (Parte 2): Falta de reproducibilidad

El artículo analiza por qué los resultados de las operaciones pueden diferir significativamente entre distintos brókeres, incluso utilizando la misma estrategia y el mismo símbolo financiero, debido a la descentralización de los precios y a las discrepancias en los datos. Este artículo ayuda a los desarrolladores de MQL5 a comprender por qué sus productos pueden recibir opiniones mixtas en el Market de MQL5, e insta a los desarrolladores a adaptar sus estrategias a los brókers específicos para garantizar resultados transparentes y reproducibles. Esto podría convertirse en una práctica recomendada importante y específica del sector, que beneficiaría a nuestra comunidad si se adoptara de forma generalizada.
preview
Redes neuronales en el trading: Entrenamiento de metaparámetros basado en la heterogeneidad (Componentes principales)

Redes neuronales en el trading: Entrenamiento de metaparámetros basado en la heterogeneidad (Componentes principales)

En este artículo analizamos con detalle los algoritmos para implementar los componentes clave del framework HimNet. Demostramos cómo, con un número mínimo de componentes aprendibles, se consigue una alta coherencia y controlabilidad de todo el sistema. La implementación presentada destaca por su compacidad y transparencia, lo que facilita su adaptación a problemas reales del mercado.
preview
Redes neuronales en el trading: Modelo de difusión adaptativa sobre grafos (SAGDFN)

Redes neuronales en el trading: Modelo de difusión adaptativa sobre grafos (SAGDFN)

En este artículo presentamos en detalle la arquitectura de SAGDFN, un framework moderno capaz de transformar el enfoque del procesamiento de datos espaciotemporales. Conserva la información clave incluso en grafos complejos y, al mismo tiempo, reduce los costos computacionales.
preview
Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Final)

Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Final)

El framework Extralonger demuestra una capacidad única para integrar factores espaciales y temporales en un solo modelo, proporcionando una alta precisión en los pronósticos. Su arquitectura permite adaptarse a distintos horizontes de planificación e instrumentos financieros, manteniendo la transparencia y la capacidad de control del sistema.
preview
Red neuronal en la práctica: Iniciando la cadena

Red neuronal en la práctica: Iniciando la cadena

Ha llegado el momento de empezar a ver y entender cómo conectar perceptrones en una cadena. Esto nos permitirá implementar lo que conocemos como una red de perceptrones. Esta red constituye la base de todo aquello que conoces y utilizas como alguna forma de «inteligencia artificial». Sin embargo, construir una red de este tipo plantea diversos desafíos. Aquí comenzaremos a ver cuáles son.
preview
Del básico al intermedio: Indicadores técnicos (II)

Del básico al intermedio: Indicadores técnicos (II)

En este artículo mostramos cómo crear un indicador en MQL5 que dibuja múltiples medias móviles en un mismo gráfico, reduciendo el código duplicado. Se utilizan iMA, buffers de indicador, CopyBuffer, PlotIndexSetInteger/String y una estructura constante que agrupa períodos, métodos y colores. El dimensionamiento de indicatorbuffers e indicatorplots se deriva de Averange.Size(). El resultado facilita el mantenimiento y permite añadir o eliminar medias modificando únicamente una lista.
preview
Trading algorítmico de arbitraje basado en la teoría de grafos

Trading algorítmico de arbitraje basado en la teoría de grafos

En este artículo, el arbitraje triangular se presenta como un problema de búsqueda de ciclos en un grafo orientado, en el que los vértices son divisas y las aristas, pares de divisas con pesos que representan los tipos de cambio. Ciclo rentable: producto de los pesos >1. Los algoritmos de Floyd-Warshall y DFS que hemos desarrollado encuentran rutas óptimas para el cambio de divisas que permiten volver al vértice de origen con beneficio.
preview
Red neuronal en la práctica: El caso de la puerta XOR

Red neuronal en la práctica: El caso de la puerta XOR

En este artículo intentaré mostrarte, mi querido lector, que no todo es como parece. Muchas veces tendemos a pensar que las cosas son de una determinada manera cuando, en realidad, podemos acabar creyendo algo que no necesariamente es cierto. Las redes neuronales son, con diferencia, uno de los temas más interesantes en términos generales. Tanto desde el punto de vista matemático como electrónico o incluso del software. A diferencia de lo que muchos creen o afirman, las redes neuronales no son, ni mucho menos, el problema ni la solución definitiva. Son solo una rama de investigación en la que debemos seguir estudiando e informándonos sobre lo que ocurre entre bastidores.
preview
Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Extralonger)

Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Extralonger)

El framework Extralonger muestra un enfoque para integrar factores espaciales y temporales en un único modelo, lo que permite considerar al mismo tiempo las regularidades locales y los ciclos a largo plazo. Esta arquitectura hace que la predicción de series temporales sea más resistente al ruido del mercado y permite analizar los datos en diferentes horizontes temporales. En el artículo se analiza en detalle cómo se llevan a la práctica estas ideas mediante OpenCL y MQL5.
preview
Red neuronal en la práctica: Nacimiento de C_Neuron

Red neuronal en la práctica: Nacimiento de C_Neuron

El artículo muestra cómo encapsular una neurona en MQL5 mediante la clase C_Neuron, con pesos, sesgo y un número de entradas definido por un parámetro. Detallamos el cálculo del costo por mínimos cuadrados y la disposición de los datos de entrenamiento en arrays. Así resulta sencillo cambiar las entradas y repetir experimentos sin modificar la implementación.
preview
Redes neuronales en el trading: Modelo de difusión adaptativa sobre grafos (módulo de atención)

Redes neuronales en el trading: Modelo de difusión adaptativa sobre grafos (módulo de atención)

En este artículo analizaremos con detalle la implementación práctica de los componentes clave del framework SAGDFN. Vamos a mostrar cómo se organizan la atención dispersa y la selección de vecinos relevantes para la predicción de series temporales. Los enfoques presentados muestran un equilibrio entre la precisión de los pronósticos y la eficiencia de los cálculos.
preview
Red neuronal en la práctica: Gráfico de la Rectifier

Red neuronal en la práctica: Gráfico de la Rectifier

Construimos, íntegramente en MQL5, un indicador para representar en el gráfico una función de activación y su derivada, tomando la ReLU como ejemplo. Explicamos el impacto de las derivadas en la elección de la activación y las precauciones necesarias en los puntos no diferenciables. El lector puede visualizar las curvas de forma interactiva y obtiene una base práctica para decidir cuándo utilizar o no determinadas funciones de activación.
preview
Red neuronal en la práctica: Cuándo usar una neurona artificial y entender su función en MQL5

Red neuronal en la práctica: Cuándo usar una neurona artificial y entender su función en MQL5

Implementamos en MQL5 una neurona entrenada mediante descenso de gradiente estocástico y comparamos su función de costo con la regresión lineal. Mostramos, mediante código y gráficos, cómo la normalización, la elección de la tasa de aprendizaje y la estructura del problema afectan a la convergencia. El artículo ofrece una guía para depurar el entrenamiento, interpretar el comportamiento del error y seleccionar la arquitectura o la función de activación adecuada.
preview
Del nivel básico al intermedio: Objetos y subventanas (III)

Del nivel básico al intermedio: Objetos y subventanas (III)

Este artículo describe un flujo seguro para manejar la eliminación de objetos gráficos: interceptar eventos, recrear el objeto y recuperar el conjunto mínimo de propiedades. Mostramos cómo evitar errores al trabajar con punteros, impedir recreaciones indebidas durante el cierre y guardar la posición y las dimensiones, actualizándolas mediante DRAG/CHANGE. De este modo, el indicador se mantiene íntegro y el usuario conserva parte de sus personalizaciones.
preview
Red neuronal en la práctica: Descenso de gradiente estocástico

Red neuronal en la práctica: Descenso de gradiente estocástico

El artículo explica, de forma práctica, cómo calcular y aplicar los gradientes de peso y sesgo en la neurona lineal en MQL5, además de presentar la variante estocástica del descenso de gradiente. Analizamos los criterios de parada, la limitación del número de iteraciones y los efectos del muestreo parcial. En el terminal de MetaTrader 5 se muestran los resultados y el trazado de un gráfico sencillo. Se indica al lector que modifique el conjunto de entrenamiento y analice el comportamiento.
preview
Red neuronal en la práctica: Perceptrón

Red neuronal en la práctica: Perceptrón

Este artículo presenta el perceptrón como base de una red neuronal y detalla su implementación en MQL5. Explicamos las funciones de activación y sus derivadas, la diferencia entre forward propagation y backpropagation, y el uso de la función de costo de mínimos cuadrados y del gradiente. Aprenderás a entrenar pesos y sesgos, validar el resultado mediante scripts de prueba y ajustar la tasa de aprendizaje para obtener una convergencia estable.
preview
Red neuronal en la práctica: Gradiente

Red neuronal en la práctica: Gradiente

El artículo explica por qué y cómo se utiliza el gradiente durante el entrenamiento de un perceptrón, partiendo del error cuadrático mínimo y de la regla de la cadena para obtener las derivadas parciales. Mostramos la implementación del cálculo del gradiente en la clase C_Neuron en MQL5 y lo validamos con ejemplos de 1 y 2 entradas. Aprenderás a ajustar los pesos y el sesgo mediante descenso de gradiente y a prepararte para la propagación hacia adelante y la retropropagación.
preview
Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Global-Local Attention)

Redes neuronales en el trading: una visión unificada del espacio y el tiempo (Global-Local Attention)

Continuamos trabajando en la implementación de los enfoques propuestos por los autores del framework Extralonger. En esta ocasión, nos centraremos en la creación del módulo Global-Local Spatial Attention con MQL5, analizando tanto su estructura como su integración práctica en el proceso computacional general.
preview
Del nivel básico al intermedio: Objetos y subventanas (II)

Del nivel básico al intermedio: Objetos y subventanas (II)

Este artículo explica cómo capturar y gestionar la eliminación de objetos del gráfico en MQL5 utilizando eventos de MetaTrader 5. Al detectar la eliminación de un objeto creado por el indicador, el código elimina la instancia correspondiente para evitar inconsistencias y subventanas residuales. El enfoque utiliza nombres únicos y un archivo de cabecera, priorizando la simplicidad y la previsibilidad del comportamiento.
preview
Del básico al intermedio: Subventanas (I)

Del básico al intermedio: Subventanas (I)

En este artículo comenzaremos a ver cómo trabajar con subventanas en MetaTrader 5 mediante MQL5. Es un tema amplio, con varios aspectos prácticos que pueden resultar complicados, así que haremos una breve introducción. Aun así, querido lector, es importante que comprendas lo que veremos aquí, pues podría marcar una gran diferencia en tu futuro.
preview
Del básico al intermedio: Subventanas (IV)

Del básico al intermedio: Subventanas (IV)

En este artículo veremos que no todo es como muchos piensan al principio. Una de las cosas más interesantes de la programación es que podemos garantizar que las cosas siempre sean como las hemos planeado. Así que lean este artículo con atención para aprender algunos de los conceptos más confusos relacionados con el uso de subventanas. Si entiendes lo que se explicará aquí, podrás comprender muchas de las cosas que haremos más adelante.
preview
Características del Wizard MQL5 que debe conocer (Parte 78): Estrategias con Gator y el oscilador AD para la resiliencia del mercado

Características del Wizard MQL5 que debe conocer (Parte 78): Estrategias con Gator y el oscilador AD para la resiliencia del mercado

El artículo presenta la segunda parte de un enfoque estructurado para operar con el oscilador Gator y el indicador de Acumulación/Distribución. Al introducir cinco nuevos patrones, el autor muestra cómo filtrar movimientos falsos, detectar reversiones tempranas y alinear señales en diferentes marcos temporales. Con ejemplos de código claros y pruebas de rendimiento, el material conecta la teoría con la práctica para los desarrolladores de MQL5.
preview
Del básico al intermedio: Sobrecarga de operadores (VI)

Del básico al intermedio: Sobrecarga de operadores (VI)

Aquí implementaremos la eliminación mediante sobrecarga de operadores. Sin duda, este será un artículo que muchos necesitarán estudiar durante bastante tiempo para poder asimilar todo lo que se mostrará aquí. Quiero recordarte que lo que veremos será solo una pequeña e insignificante parte de todo aquello que llamamos programación.