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
Añadimos un LLM personalizado a un robot comercial (Parte 5): Desarrollar y probar la estrategia de negociación con LLMs (III) Ajuste del adaptador

Añadimos un LLM personalizado a un robot comercial (Parte 5): Desarrollar y probar la estrategia de negociación con LLMs (III) Ajuste del adaptador

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 adoptará un enfoque paso a paso para lograr este objetivo.
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
Operar con el Calendario Económico MQL5 (Parte 5): Mejorar el panel de control con controles adaptables y botones de filtro

Operar con el Calendario Económico MQL5 (Parte 5): Mejorar el panel de control con controles adaptables y botones de filtro

En este artículo, creamos botones para filtros de pares de divisas, niveles de importancia, filtros de tiempo y una opción de cancelación para mejorar el control del panel. Estos botones están programados para responder dinámicamente a las acciones del usuario, lo que permite una interacción fluida. También automatizamos su comportamiento para reflejar los cambios en tiempo real en el panel de control. Esto mejora la funcionalidad general, la movilidad y la capacidad de respuesta del panel.
preview
Análisis de todas las variantes del movimiento de precios en una computadora cuántica IBM

Análisis de todas las variantes del movimiento de precios en una computadora cuántica IBM

Hoy utilizaremos un computadora cuántica de IBM para descubrir todas las variantes del movimiento de los precios. ¿Le suena a ciencia ficción? ¡Bienvenido al mundo de la informática cuántica para el trading!
preview
Automatización de estrategias de trading en MQL5 (Parte 10): Desarrollo de la estrategia Trend Flat Momentum

Automatización de estrategias de trading en MQL5 (Parte 10): Desarrollo de la estrategia Trend Flat Momentum

En este artículo, desarrollamos un Asesor Experto en MQL5 para la estrategia Trend Flat Momentum. Combinamos un cruce de dos medias móviles con filtros de impulso RSI y CCI para generar señales de trading. También cubrimos las pruebas retrospectivas y las posibles mejoras para el rendimiento en el mundo real.
preview
Simulación de mercado (Parte 12): Sockets (VI)

Simulación de mercado (Parte 12): Sockets (VI)

En este artículo, veremos cómo resolver algunos problemas y cuestiones al usar código escrito en Python dentro de otros programas. Más concretamente, mostraré un problema habitual que ocurre al usar Excel junto con MetaTrader 5, aunque para esta comunicación utilizaremos Python. Sin embargo, hay un pequeño inconveniente en esta implementación. No ocurre en todos los casos, sino solo en algunos específicos. Cuando ocurre, es necesario entender la razón. En este artículo, empezaré a explicar cómo resolverlo.
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
Redes neuronales en el trading: Conjunto de agentes con uso de mecanismos de atención (Final)

Redes neuronales en el trading: Conjunto de agentes con uso de mecanismos de atención (Final)

En el artículo anterior, presentamos el framework adaptativo multiagente MASAAT, que usa un conjunto de agentes para analizar de forma cruzada una serie temporal multimodal a diferentes escalas de representación de datos. Hoy llevaremos a una conclusión lógica el trabajo iniciado para aplicar los planteamientos de este framework usando MQL5.
preview
Movimiento de precios: Modelos matemáticos y análisis técnico

Movimiento de precios: Modelos matemáticos y análisis técnico

Pronosticar los movimientos de los pares de divisas es un factor importante para el éxito en el trading. Este artículo explora varios modelos de movimiento de precios, analiza sus ventajas y desventajas y además explora su aplicación práctica en estrategias comerciales. Asimismo, consideraremos enfoques que nos permitirán identificar patrones ocultos y mejorar la precisión de los pronósticos.
preview
Redes neuronales en el trading: Un método complejo de predicción de trayectorias (Traj-LLM)

Redes neuronales en el trading: Un método complejo de predicción de trayectorias (Traj-LLM)

En este artículo, me gustaría presentarles un interesante método de predicción de trayectorias desarrollado para resolver problemas en el campo de los movimientos de vehículos autónomos. Los autores del método combinaron los mejores elementos de varias soluciones arquitectónicas.
preview
Desarrollo de un sistema comercial basado en el libro de órdenes (Parte I): el indicador

Desarrollo de un sistema comercial basado en el libro de órdenes (Parte I): el indicador

El libro de órdenes —Depth of Market— es, sin duda, un elemento muy relevante para la ejecución de operaciones rápidas, especialmente en algoritmos de alta frecuencia (HFT). En esta serie de artículos, exploraremos este tipo de evento comercial que podemos obtener a través del bróker en muchos de los símbolos negociados. Empezaremos con un indicador en el que se pueden configurar la paleta de colores, la posición y el tamaño del histograma que se mostrará directamente en el gráfico. También veremos cómo generar eventos BookEvent para probar el indicador en condiciones específicas. Otros posibles temas que trataremos en artículos futuros son el almacenamiento de estas distribuciones de precios y las formas de utilizarlas en el simulador de estrategias.
preview
Introducción a MQL5 (Parte 13): Guía para principiantes sobre cómo crear indicadores personalizados (II)

Introducción a MQL5 (Parte 13): Guía para principiantes sobre cómo crear indicadores personalizados (II)

Este artículo le guía a través del proceso de creación de un indicador Heikin Ashi personalizado desde cero y muestra cómo integrar indicadores personalizados en un EA. Abarca cálculos de indicadores, lógica de ejecución de operaciones y técnicas de gestión de riesgos para mejorar las estrategias de negociación automatizadas.
preview
DoEasy. Elementos de control (Parte 29): Control auxiliar "ScrollBar"

DoEasy. Elementos de control (Parte 29): Control auxiliar "ScrollBar"

En este artículo, comenzaremos a desarrollar el control auxiliar ScrollBar y sus objetos derivados: las barras de desplazamiento verticales y horizontales. ScrollBar (barra de desplazamiento) se usa para desplazar el contenido del formulario si va más allá del contenedor. Por lo general, las barras de desplazamiento se encuentran en la parte inferior y derecha del formulario. La barra horizontal en la parte inferior desplaza el contenido hacia la izquierda y hacia la derecha, mientras que la barra vertical desplaza el contenido hacia arriba y hacia abajo.
preview
Desarrollo de un sistema de repetición (Parte 50): Esto complica las cosas (II)

Desarrollo de un sistema de repetición (Parte 50): Esto complica las cosas (II)

Vamos resolver la cuestión del ID del gráfico, pero al mismo tiempo, vamos empezar a garantizar que el usuario pueda hacer uso de una plantilla personal, enfocada en analizar el activo que desea estudiar y simular. El contenido expuesto aquí tiene como objetivo, pura y simplemente, ser didáctico. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
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
Optimización de la quimiotaxis bacteriana - Bacterial Chemotaxis Optimisation (BCO)

Optimización de la quimiotaxis bacteriana - Bacterial Chemotaxis Optimisation (BCO)

Este artículo presenta la versión original del algoritmo de optimización de la quimiotaxis bacteriana (BCO) y su versión modificada. Hoy veremos con detalle todas las diferencias, centrándonos en la nueva versión de BCOm, que simplifica el mecanismo de movimiento bacteriano, reduce la dependencia de la historia de cambios de posición y utiliza operaciones matemáticas más sencillas en comparación con la versión original, sobrecargada computacionalmente. También realizaremos pruebas y extraeremos conclusiones.
preview
Redes neuronales en el trading: Modelos con transformada de wavelet y atención multitarea

Redes neuronales en el trading: Modelos con transformada de wavelet y atención multitarea

Le proponemos familiarizarse con un framework que combina la transformada de wavelet y el modelo multitarea Self-Attention con el objetivo de mejorar la capacidad de respuesta y la precisión de las previsiones en condiciones de mercado volátiles. La transformada de wavelet descompone los rendimientos de los activos en frecuencias altas y bajas, captando cuidadosamente las tendencias del mercado a largo plazo y las fluctuaciones a corto plazo.
preview
Creación de un sistema personalizado de detección de regímenes de mercado en MQL5 (Parte 1): Indicador

Creación de un sistema personalizado de detección de regímenes de mercado en MQL5 (Parte 1): Indicador

Este artículo detalla la creación de un sistema de detección de regímenes de mercado MQL5 utilizando métodos estadísticos como la autocorrelación y la volatilidad. Se proporciona el código para que las clases clasifiquen las condiciones de tendencia, rango y volatilidad y un indicador personalizado.
preview
Algoritmo de Irrigación Artificial — Artificial Showering Algorithm (ASHA)

Algoritmo de Irrigación Artificial — Artificial Showering Algorithm (ASHA)

Este artículo presenta el Algoritmo de Irrigación Artificial (ASHA), un nuevo método metaheurístico desarrollado para resolver problemas generales de optimización. Basado en la modelización de los procesos de flujo y almacenamiento del agua, este algoritmo construye el concepto de un campo ideal en el que cada unidad de recurso (agua) es invocada para encontrar una solución óptima. Hoy descubriremos cómo el ASHA adapta los principios de flujo y acumulación para asignar eficazmente los recursos en el espacio de búsqueda, y también veremos su aplicación y los resultados de sus pruebas.
preview
Algoritmo de Tribu Artificial (Artificial Tribe Algorithm, ATA)

Algoritmo de Tribu Artificial (Artificial Tribe Algorithm, ATA)

Este artículo detalla los componentes clave y las innovaciones del algoritmo de optimización ATA, un método evolutivo con un sistema de comportamiento dual único que se adapta según la situación. Usando el cruce para la exploración en profundidad y la migración para la búsqueda cuando se dan atascos en óptimos locales, el ATA combina el aprendizaje individual y el social.
preview
Optimización y ajuste de código sin procesar para mejorar los resultados de las pruebas retrospectivas

Optimización y ajuste de código sin procesar para mejorar los resultados de las pruebas retrospectivas

Mejore su código MQL5 optimizando la lógica, refinando los cálculos y reduciendo el tiempo de ejecución para mejorar la precisión de las pruebas retrospectivas. Ajuste los parámetros, optimice los bucles y elimine ineficiencias para obtener un mejor rendimiento.
preview
Criterios de tendencia. Final

Criterios de tendencia. Final

En este artículo veremos cómo aplicar en la práctica algunos criterios de tendencia, y también intentaremos desarrollar algunos criterios nuevos. La atención se centrará en la eficacia de la aplicación de estos criterios al análisis de datos de mercado y al trading.
preview
Características del Wizard MQL5 que debe conocer (Parte 67): Uso de patrones de TRIX y Williams Percent Range (WPR)

Características del Wizard MQL5 que debe conocer (Parte 67): Uso de patrones de TRIX y Williams Percent Range (WPR)

El oscilador de media móvil exponencial triple (TRIX) y el oscilador de rango porcentual de Williams son otro par de indicadores que podrían utilizarse conjuntamente dentro de un Asesor Experto MQL5. Este par de indicadores, al igual que los que hemos analizado recientemente, también es complementario, ya que TRIX define la tendencia, mientras que el indicador Williams Percent Range confirma los niveles de soporte y resistencia. Como siempre, utilizamos el asistente MQL5 para evaluar el potencial que puedan tener estos dos indicadores.
preview
Algoritmo de búsqueda con retroceso — Backtracking Search Algorithm (BSA)

Algoritmo de búsqueda con retroceso — Backtracking Search Algorithm (BSA)

¿Qué pasaría si un algoritmo de optimización pudiera recordar sus recorridos pasados y usar esa memoria para encontrar mejores soluciones? El BSA hace precisamente eso: equilibrar la exploración con la revisión de lo que ya ha demostrado su eficacia. En este artículo, desvelaremos los secretos del algoritmo. Una idea sencilla, parámetros mínimos y un resultado estable.
preview
De novato a experto: Noticias animadas utilizando MQL5 (IX) Gestión de múltiples símbolos en un único gráfico para el trading de noticias

De novato a experto: Noticias animadas utilizando MQL5 (IX) Gestión de múltiples símbolos en un único gráfico para el trading de noticias

El trading basado en noticias suele requerir la gestión de múltiples posiciones y símbolos en muy poco tiempo debido al aumento de la volatilidad. En este artículo, abordamos los retos que plantea el trading con múltiples símbolos mediante la integración de esta función en nuestro EA «News Headline». En este artículo veremos cómo el trading algorítmico con MQL5 hace que el trading con múltiples símbolos sea más eficiente y eficaz.
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
Superar los retos de integración de ONNX

Superar los retos de integración de ONNX

ONNX es una gran herramienta para la integración de código complejo de IA entre diferentes plataformas, es una gran herramienta que viene con algunos desafíos que uno debe abordar para obtener el máximo provecho de ella, En este artículo se discuten los problemas comunes que podría enfrentar y cómo mitigarlos.
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
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
Criterio de independencia de Hilbert-Schmidt (HSIC)

Criterio de independencia de Hilbert-Schmidt (HSIC)

El presente artículo analiza la prueba estadística no paramétrica HSIC (Criterio de Independencia de Hilbert-Schmidt) diseñada para identificar dependencias lineales y no lineales en los datos. Para el cálculo de HSIC en el lenguaje MQL5, se propone la implementación de dos algoritmos: la prueba de permutación exacta y la aproximación gamma. La eficacia de los métodos se demuestra en el modelado de datos sintéticos de una relación no lineal entre las características y la variable objetivo.
preview
DoEasy. Elementos de control (Parte 5): Objeto básico WinForms, control "Panel", parámetro AutoSize

DoEasy. Elementos de control (Parte 5): Objeto básico WinForms, control "Panel", parámetro AutoSize

En este artículo, crearemos un objeto básico para todos los objetos de la biblioteca WinForms y comenzaremos a implementar la propiedad AutoSize del objeto WinForms "Panel", es decir, el cambio automático del tamaño para que se ajuste a su contenido interno.
preview
Métodos de William Gann (Parte III): ¿Funciona la astrología?

Métodos de William Gann (Parte III): ¿Funciona la astrología?

¿Las posiciones de los planetas y las estrellas afectan los mercados financieros? Armémonos de estadísticas y big data y embarquémonos en un viaje apasionante hacia el mundo donde las estrellas y los gráficos bursátiles se cruzan.
preview
Introducción a MQL5 (Parte 11): Guía de trabajo con indicadores incorporados en MQL5 para principiantes (II)

Introducción a MQL5 (Parte 11): Guía de trabajo con indicadores incorporados en MQL5 para principiantes (II)

Descubra cómo desarrollar un Asesor Experto (Expert Advisor, EA) en MQL5 utilizando múltiples indicadores como el RSI, la media móvil y el oscilador estocástico para detectar divergencias alcistas y bajistas ocultas. En este artículo aprenda a implementar una gestión de riesgos eficaz y a automatizar las operaciones con ejemplos detallados y código fuente totalmente comentado con fines educativos.
preview
Cambiamos a MQL5 Algo Forge (Parte 2): Trabajando con varios repositorios

Cambiamos a MQL5 Algo Forge (Parte 2): Trabajando con varios repositorios

Hoy analizaremos uno de los posibles enfoques para organizar el almacenamiento del código fuente de un proyecto en un repositorio público. Utilizando la distribución en diferentes ramas, crearemos reglas claras y cómodas para el desarrollo del proyecto.
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
Creación de un Panel de administración de operaciones en MQL5 (Parte VIII): Panel de análisis

Creación de un Panel de administración de operaciones en MQL5 (Parte VIII): Panel de análisis

Hoy profundizamos en la incorporación de métricas de trading útiles dentro de una ventana especializada integrada en el EA del Panel de Administración. Este debate se centra en la implementación de MQL5 para desarrollar un panel de análisis y destaca el valor de los datos que proporciona a los administradores de operaciones bursátiles. El impacto es principalmente educativo, ya que se extraen valiosas lecciones del proceso de desarrollo, lo que beneficia tanto a los desarrolladores noveles como a los experimentados. Esta función demuestra las oportunidades ilimitadas que ofrece esta serie de desarrollo al equipar a los gestores comerciales con herramientas de software avanzadas. Además, exploraremos la implementación de las clases PieChart y ChartCanvas como parte de la continua expansión de las capacidades del panel del administrador de operaciones.
preview
Del básico al intermedio: Definiciones (I)

Del básico al intermedio: Definiciones (I)

En este artículo, haremos cosas que para muchos parecerán extrañas y totalmente fuera de contexto, pero que, si se aplican bien, harán que tu aprendizaje sea mucho más divertido y emocionante, ya que podemos construir cosas bastante interesantes basándonos en lo que se muestra aquí, lo que permite una mejor asimilación de la sintaxis del lenguaje MQL5. 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 mostrados.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte II): FTSE100 y bonos del Reino Unido (UK Gilts)

Reimaginando las estrategias clásicas en MQL5 (Parte II): FTSE100 y bonos del Reino Unido (UK Gilts)

En esta serie de artículos, exploramos estrategias de negociación populares e intentamos mejorarlas utilizando IA. En el artículo de hoy, retomamos la estrategia de negociación clásica basada en la relación entre el mercado de valores y el mercado de bonos.
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
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.