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
Algoritmo de evolución del caparazón de tortuga (Turtle Shell Evolution Algorithm, TSEA)

Algoritmo de evolución del caparazón de tortuga (Turtle Shell Evolution Algorithm, TSEA)

Hoy hablaremos sobre un algoritmo de optimización único inspirado en la evolución del caparazón de las tortugas. El algoritmo TSEA emula la formación gradual de los sectores de piel queratinizada que representan soluciones óptimas a un problema. Las mejores soluciones se vuelven más "duras" y se encuentran más cerca de la superficie exterior, mientras que las menos exitosas permanecen "blandas" y se hallan en el interior. El algoritmo utiliza la clusterización de soluciones según su calidad y distancia, lo cual permite conservar las opciones menos acertadas y aporta flexibilidad y adaptabilidad.
preview
Modelos ocultos de Markov para la predicción de la volatilidad siguiendo tendencias

Modelos ocultos de Markov para la predicción de la volatilidad siguiendo tendencias

Los modelos ocultos de Markov (Hidden Markov Models, HMM) son potentes herramientas estadísticas que identifican los estados subyacentes del mercado mediante el análisis de los movimientos observables de los precios. En el ámbito bursátil, los HMM mejoran la predicción de la volatilidad y proporcionan información para las estrategias de seguimiento de tendencias mediante la modelización y la anticipación de los cambios en los regímenes de mercado. En este artículo, presentaremos el procedimiento completo para desarrollar una estrategia de seguimiento de tendencias que utiliza HMM para predecir la volatilidad como filtro.
preview
Desarrollo de un sistema de repetición (Parte 30): Proyecto Expert Advisor — Clase C_Mouse (IV)

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

Aquí te mostraré una técnica que puede ayudarte mucho en varios momentos de tu vida como programador. En contra de lo que muchos dicen, lo limitado no es la plataforma, sino los conocimientos del individuo que lo dice. Lo que se explicará aquí es que con un poco de sentido común y creatividad, se puede hacer que la plataforma MetaTrader 5 sea mucho más interesante y versátil, sin tener que crear programas locos ni nada por el estilo puedes crear un código sencillo, pero seguro y fiable. Utiliza tu ingenio para domar el código con el fin de modificar algo que ya existe, sin eliminar ni añadir una sola línea al código original.
preview
Análisis causal de series temporales mediante entropía de transferencia

Análisis causal de series temporales mediante entropía de transferencia

En este artículo, analizamos cómo se puede aplicar la causalidad estadística para identificar variables predictivas. Exploraremos el vínculo entre causalidad y entropía de transferencia, además de presentar código MQL5 para detectar transferencias direccionales de información entre dos variables.
preview
Creamos y optimizamos un sistema comercial basado en los volúmenes negociados (Chaikin Money Flow (CMF))

Creamos y optimizamos un sistema comercial basado en los volúmenes negociados (Chaikin Money Flow (CMF))

En este artículo, le presentaremos el indicador Chaikin Money Flow (CMF), basado en el volumen, después de aprender cómo se puede construir, calcular y utilizar. Asimismo, veremos cómo crear un indicador personalizado, analizaremos algunas estrategias sencillas que podemos utilizar y las pondremos a prueba para ver cuál es la mejor.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 6): Recolector de señales de reversión a la media

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 6): Recolector de señales de reversión a la media

Aunque algunos conceptos pueden parecer sencillos a primera vista, ponerlos en práctica puede resultar bastante complicado. En el siguiente artículo, le guiaremos a través de nuestro innovador enfoque para automatizar un Asesor Experto (Expert Advisor, EA) que analiza hábilmente el mercado utilizando una estrategia de reversión a la media. Acompáñenos mientras desentrañamos las complejidades de este apasionante proceso de automatización.
preview
Redes neuronales: así de sencillo (Parte 64): Método de clonación conductual ponderada conservadora (CWBC)

Redes neuronales: así de sencillo (Parte 64): Método de clonación conductual ponderada conservadora (CWBC)

Como resultado de las pruebas realizadas en artículos anteriores, hemos concluido que la optimalidad de la estrategia entrenada depende en gran medida de la muestra de entrenamiento utilizada. En este artículo, nos familiarizaremos con un método bastante sencillo y eficaz para seleccionar trayectorias para el entrenamiento de modelos.
preview
Desarrollamos un asesor experto multidivisa (Parte 6): Automatizamos la selección de un grupo de instancias

Desarrollamos un asesor experto multidivisa (Parte 6): Automatizamos la selección de un grupo de instancias

Tras optimizar una estrategia comercial, obtendremos conjuntos de parámetros en base a los cuales podremos crear varias instancias (ejemplares) de estrategias comerciales combinadas en un asesor experto. Antes lo hacíamos manualmente, pero ahora trataremos de automatizar el proceso
preview
De novato a experto: Depuración colaborativa en MQL5

De novato a experto: Depuración colaborativa en MQL5

La resolución de problemas puede establecer una rutina concisa para dominar habilidades complejas, como la programación en MQL5. Este enfoque le permite concentrarse en la resolución de problemas al tiempo que desarrolla sus capacidades. Cuantos más problemas abordes, más conocimientos avanzados se transferirán a tu cerebro. Personalmente, creo que la depuración es la forma más efectiva de dominar la programación. Hoy repasaremos el proceso de limpieza de código y analizaremos las mejores técnicas para transformar un programa desordenado en uno limpio y funcional. Lea este artículo y descubra información valiosa.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 1): Proyector de gráficos

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 1): Proyector de gráficos

Este proyecto tiene como objetivo aprovechar el lenguaje MQL5 para desarrollar un conjunto integral de herramientas de análisis para MetaTrader 5. Estas herramientas, que van desde scripts e indicadores hasta modelos de IA y asesores expertos, automatizarán el proceso de análisis del mercado. En ocasiones, este desarrollo producirá herramientas capaces de realizar análisis avanzados sin intervención humana y pronosticar resultados para las plataformas adecuadas. Ninguna oportunidad jamás se perderá. Únase a mí mientras exploramos el proceso de creación de un conjunto sólido de herramientas personalizadas para el análisis de mercado. Comenzaremos desarrollando un programa MQL5 simple que he llamado "Proyector de gráficos" (Chart Projector).
preview
Teoría de categorías en MQL5 (Parte 16): Funtores con perceptrones multicapa

Teoría de categorías en MQL5 (Parte 16): Funtores con perceptrones multicapa

Seguimos analizando los funtores y cómo se pueden implementar utilizando redes neuronales artificiales. Dejaremos temporalmente el enfoque que implica el pronóstico de la volatilidad e intentaremos implementar nuestra propia clase de señales para establecer señales de entrada y salida para una posición.
preview
Optimización de carteras en Python y MQL5

Optimización de carteras en Python y MQL5

Este artículo explora técnicas avanzadas de optimización de cartera utilizando Python y MQL5 con MetaTrader 5. Demuestra cómo desarrollar algoritmos para el análisis de datos, la asignación de activos y la generación de señales comerciales, enfatizando la importancia de la toma de decisiones basada en datos en la gestión financiera moderna y la mitigación de riesgos.
preview
Redes neuronales: así de sencillo (Parte 60): Online Decision Transformer (ODT)

Redes neuronales: así de sencillo (Parte 60): Online Decision Transformer (ODT)

En los 2 últimos artículos nos hemos centrado en el método Decision Transformer, que modela las secuencias de acciones en el contexto de un modelo autorregresivo de recompensas deseadas. En el artículo de hoy, analizaremos otro algoritmo para optimizar este método.
preview
Desarrollamos un asesor experto multidivisa (Parte 13): Automatización de la segunda fase: selección en grupos

Desarrollamos un asesor experto multidivisa (Parte 13): Automatización de la segunda fase: selección en grupos

Ya hemos puesto en marcha la primera fase del proceso de optimización automatizada. Para distintos símbolos y marcos temporales, realizamos la optimización utilizando varios criterios y almacenamos información sobre los resultados de cada pasada en la base de datos. Ahora vamos a seleccionar los mejores grupos de conjuntos de parámetros de entre los encontrados en la primera etapa.
preview
Redes neuronales: así de sencillo (Parte 42): Procrastinación del modelo, causas y métodos de solución

Redes neuronales: así de sencillo (Parte 42): Procrastinación del modelo, causas y métodos de solución

La procrastinación del modelo en el contexto del aprendizaje por refuerzo puede deberse a varias razones, y para solucionar este problema deberemos tomar las medidas pertinentes. El artículo analiza algunas de las posibles causas de la procrastinación del modelo y los métodos para superarlas.
preview
DoEasy. Controles (Parte 23): mejorando los objetos WinForms TabControl y SplitContainer

DoEasy. Controles (Parte 23): mejorando los objetos WinForms TabControl y SplitContainer

En este artículo, añadiremos los nuevos eventos de ratón respecto a los límites de los espacios de trabajo WinForms, y también corregiremos algunos errores en los controles TabControl y SplitContainer.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 7): Signal Pulse EA

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 7): Signal Pulse EA

Aproveche todo el potencial del análisis multitemporal con «Signal Pulse», un asesor experto MQL5 que integra las bandas de Bollinger y el oscilador estocástico para ofrecer señales de trading precisas y de alta probabilidad. Descubra cómo implementar esta estrategia y visualizar eficazmente las oportunidades de compra y venta utilizando flechas personalizadas. Ideal para operadores que buscan mejorar su capacidad de juicio mediante análisis automatizados en múltiples marcos temporales.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 12): Flujo externo (III) TrendMap

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

El flujo del mercado está determinado por las fuerzas entre alcistas y bajistas. Hay niveles específicos que el mercado respeta debido a las fuerzas que actúan sobre ellos. Los niveles de Fibonacci y VWAP son especialmente poderosos a la hora de influir en el comportamiento del mercado. Acompáñame en este artículo mientras exploramos una estrategia basada en los niveles VWAP y Fibonacci para la generación de señales.
preview
Aprendizaje automático y Data Science (Parte 17): ¿Crece el dinero en los árboles? Bosques aleatorios en el mercado Fórex

Aprendizaje automático y Data Science (Parte 17): ¿Crece el dinero en los árboles? Bosques aleatorios en el mercado Fórex

Este artículo le presentará los secretos de la alquimia algorítmica, introduciéndole con precisión las particularidades de los paisajes financieros. Asimismo, aprenderá cómo los bosques aleatorios transforman los datos en predicciones y le servirán de ayuda al navegar por las complejidades de los mercados financieros. Intentaremos identificar el papel de los bosques aleatorios en los datos financieros y comprobaremos si pueden ayudar a aumentar los beneficios.
preview
Desarrollamos un asesor experto multidivisa (Parte 18): Automatización de la selección de grupos considerando el periodo forward

Desarrollamos un asesor experto multidivisa (Parte 18): Automatización de la selección de grupos considerando el periodo forward

Seguimos automatizando los pasos que antes realizábamos manualmente. Esta vez regresaremos a la automatización de la segunda etapa, es decir, a la selección del grupo óptimo de instancias únicas de estrategias comerciales, complementándola con la posibilidad de considerar los resultados de las instancias en el periodo anterior.
preview
Aprendizaje automático y Data Science (Parte 31): Uso de los modelos de inteligencia artificial CatBoost

Aprendizaje automático y Data Science (Parte 31): Uso de los modelos de inteligencia artificial CatBoost

Los modelos de IA CatBoost han ganado popularidad masiva recientemente entre las comunidades de aprendizaje automático debido a su precisión predictiva, eficiencia y robustez ante conjuntos de datos dispersos y difíciles. En este artículo, vamos a discutir en detalle cómo implementar este tipo de modelos en un intento de vencer al mercado de divisas.
preview
Desarrollo de un sistema de repetición (Parte 38): Pavimentando el terreno (II)

Desarrollo de un sistema de repetición (Parte 38): Pavimentando el terreno (II)

Muchas personas que se hacen llamar programadores de MQL5 no tienen los conocimientos básicos que presentaré en este artículo. Muchos consideran que MQL5 es limitado; sin embargo, todo se debe a la falta de conocimientos. Así que no te avergüences de no saber. Avergüénzate, en cambio, de no preguntar. El simple hecho de obligar a MetaTrader 5 a no permitir que un indicador se duplique, en ningún caso nos da los medios para realizar una comunicación bidireccional entre el indicador y el Expert Advisor. Todavía estamos muy lejos de esto. No obstante, el hecho de que el indicador no se duplique en el gráfico nos da cierta tranquilidad.
preview
Algoritmos de optimización de la población: Evolución de grupos sociales (Evolution of Social Groups, ESG)

Algoritmos de optimización de la población: Evolución de grupos sociales (Evolution of Social Groups, ESG)

En este artículo analizaremos el principio de construcción de algoritmos multipoblacionales y como ejemplo de este tipo de algoritmos consideraremos la evolución de grupos sociales (ESG), un nuevo algoritmo de autor. Así, analizaremos los conceptos básicos, los mecanismos de interacción con la población y las ventajas de este algoritmo, y revisaremos su rendimiento en problemas de optimización.
preview
Redes neuronales: así de sencillo (Parte 51): Actor-crítico conductual (BAC)

Redes neuronales: así de sencillo (Parte 51): Actor-crítico conductual (BAC)

Los dos últimos artículos han considerado el algoritmo SAC (Soft Actor-Critic), que incorpora la regularización de la entropía en la función de la recompensa. Este enfoque equilibra la exploración del entorno y la explotación del modelo, pero solo es aplicable a modelos estocásticos. El presente material analizará un enfoque alternativo aplicable tanto a modelos estocásticos como deterministas.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 5): Sistema de notificaciones (Parte III)

Creación de un modelo de restricción de tendencia de velas (Parte 5): Sistema de notificaciones (Parte III)

Esta parte de la serie de artículos está dedicada a la integración de WhatsApp con MetaTrader 5 para las notificaciones. Hemos incluido un diagrama de flujo para simplificar la comprensión y analizaremos la importancia de las medidas de seguridad en la integración. El objetivo principal de los indicadores es simplificar el análisis mediante la automatización, y deben incluir métodos de notificación para alertar a los usuarios cuando se cumplan determinadas condiciones. Descubra más en este artículo.
preview
Aprendiendo MQL5 de principiante a profesional (Parte IV): Sobre arrays, funciones y variables globales del terminal

Aprendiendo MQL5 de principiante a profesional (Parte IV): Sobre arrays, funciones y variables globales del terminal

El artículo es una continuación de la serie para principiantes. En él proporcionamos información detallada sobre los arrays de datos y la interacción de datos y funciones, así como de las variables globales del terminal que permiten el intercambio de datos entre diferentes programas MQL5.
preview
Redes neuronales: así de sencillo (Parte 77): Transformador de covarianza cruzada (XCiT)

Redes neuronales: así de sencillo (Parte 77): Transformador de covarianza cruzada (XCiT)

En nuestros modelos, a menudo utilizamos varios algoritmos de atención. Y, probablemente, lo más frecuente es utilizar transformadores. Su principal desventaja es la necesidad de recursos. En este artículo, estudiaremos un nuevo algoritmo que puede ayudar a reducir los costes informáticos sin perder calidad.
preview
Desarrollando un EA comercial desde cero (Parte 14): Volume at Price (II)

Desarrollando un EA comercial desde cero (Parte 14): Volume at Price (II)

Hoy añadiremos varios recursos a nuestro EA. Este artículo les resultará bastante interesante y puede orientarlos hacia nuevas ideas y métodos para presentar la información y, al mismo tiempo, corregir pequeños fallos en sus proyectos.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 2): Estrategia de scalping en el USDJPY

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 2): Estrategia de scalping en el USDJPY

Únase a nosotros hoy mientras nos desafiamos a nosotros mismos a crear una estrategia comercial en torno al par USDJPY. Operaremos con patrones de velas japonesas que se forman en el marco temporal diario, ya que potencialmente tienen más fuerza detrás. Nuestra estrategia inicial resultó rentable, lo que nos animó a seguir perfeccionándola y añadiendo capas adicionales de seguridad para proteger el capital obtenido.
preview
DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel

DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel

En este artículo, eliminaremos algunos errores que surgen al trabajar con los elementos gráficos y continuaremos desarrollando el control CPanel. Estos métodos servirán para establecer por defecto los parámetros de fuente usados para todos los objetos de texto en el panel, que a su vez podrán ser colocados en él en el futuro.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte III): Mejora de la interfaz gráfica de usuario con estilización visual (I)

Creación de un Panel de administración de operaciones en MQL5 (Parte III): Mejora de la interfaz gráfica de usuario con estilización visual (I)

En este artículo, nos centraremos en el estilo visual de la interfaz gráfica de usuario (GUI) de nuestro Panel de Administrador de Trading utilizando MQL5. Exploraremos diversas técnicas y funciones disponibles en MQL5 que permiten personalizar y optimizar la interfaz, garantizando que satisfaga las necesidades de los operadores al tiempo que mantiene una estética atractiva.
preview
Marcado de datos en el análisis de series temporales (Parte 1):Creamos un conjunto de datos con marcadores de tendencia utilizando el gráfico de un asesor

Marcado de datos en el análisis de series temporales (Parte 1):Creamos un conjunto de datos con marcadores de tendencia utilizando el gráfico de un asesor

En esta serie de artículos, presentaremos varias técnicas de etiquetado de series temporales que pueden producir datos que se ajusten a la mayoría de los modelos de inteligencia artificial (IA). El etiquetado específico de datos puede hacer que un modelo de IA entrenado resulte más relevante para las metas y objetivos del usuario, mejorar la precisión del modelo e incluso ayudarle a dar un salto cualitativo.
preview
Teoría de categorías en MQL5 (Parte 15): Funtores con grafos

Teoría de categorías en MQL5 (Parte 15): Funtores con grafos

El artículo continúa la serie sobre la implementación de la teoría de categorías en MQL5, analizando los funtores como un puente entre grafos y conjuntos. Volveremos nuevamente a los datos del calendario y, a pesar de sus limitaciones en el uso de un simulador de estrategias, justificaremos el uso de funtores para predecir la volatilidad mediante la correlación.
preview
Operar con noticias de manera sencilla (Parte 1): Creando una base de datos

Operar con noticias de manera sencilla (Parte 1): Creando una base de datos

Operar con noticias puede ser complicado y abrumador, en este artículo repasaremos los pasos para obtener datos de noticias. Además, conoceremos el calendario económico de MQL5 y lo que ofrece.
preview
Automatización de estrategias de trading en MQL5 (Parte 8): Creación de un Asesor Experto con patrones armónicos Butterfly

Automatización de estrategias de trading en MQL5 (Parte 8): Creación de un Asesor Experto con patrones armónicos Butterfly

En este artículo, creamos un Asesor Experto MQL5 para detectar patrones armónicos Butterfly. Identificamos los puntos pivote y validamos los niveles de Fibonacci para confirmar el patrón. A continuación, visualizamos el patrón en el gráfico y ejecutamos automáticamente las operaciones cuando se confirman.
preview
Teoría de categorías en MQL5 (Parte 19): Inducción cuadrática de la naturalidad

Teoría de categorías en MQL5 (Parte 19): Inducción cuadrática de la naturalidad

Continuamos analizando las transformaciones naturales considerando la inducción cuadrática de la naturalidad. Pequeñas restricciones en la implementación de las capacidades multidivisa para los asesores ensamblados usando el wizard MQL5 significan que estamos demostrando nuestras capacidades en la clasificación de datos usando un script. Las principales áreas de aplicación son la clasificación de las variaciones de precios y, como consecuencia, su previsión.
preview
Introducción a MQL5 (Parte 6): Guía para principiantes sobre las funciones de matriz en MQL5 (II)

Introducción a MQL5 (Parte 6): Guía para principiantes sobre las funciones de matriz en MQL5 (II)

Embárquese en la siguiente fase de nuestro viaje MQL5. En este artículo para principiantes analizaremos el resto de funciones de la matriz y desmitificaremos conceptos complejos para que pueda elaborar estrategias de negociación eficaces. Hablaremos de ArrayPrint, ArrayInsert, ArraySize, ArrayRange, ArrarRemove, ArraySwap, ArrayReverse y ArraySort. Aumente su experiencia en negociación algorítmica con estas funciones de matriz esenciales. ¡Únase a nosotros en el camino hacia el dominio de MQL5!
preview
Teoría de Categorías en MQL5 (Parte 5): Ecualizadores

Teoría de Categorías en MQL5 (Parte 5): Ecualizadores

La teoría de categorías es un apartado diverso y en expansión de las matemáticas, que solo recientemente ha comenzado a ser trabajado por la comunidad MQL5. Esta serie de artículos tiene por objetivo repasar algunos de sus conceptos para crear una biblioteca abierta y seguir usando este maravilloso apartado en la creación de estrategias comerciales.
preview
Indicador de fuerza y dirección de la tendencia en barras 3D

Indicador de fuerza y dirección de la tendencia en barras 3D

Hoy estudiaremos un nuevo enfoque del análisis de las tendencias del mercado basado en la visualización tridimensional y el análisis tensorial de la microestructura del mercado.
preview
Marcado de datos en el análisis de series temporales (Parte 4): Descomposición de la interpretabilidad usando el marcado de datos

Marcado de datos en el análisis de series temporales (Parte 4): Descomposición de la interpretabilidad usando el marcado de datos

En esta serie de artículos, presentaremos varias técnicas de marcado de series temporales que pueden producir datos que se ajusten a la mayoría de los modelos de inteligencia artificial (IA). El marcado dirigido de datos puede hacer que un modelo de IA entrenado resulte más relevante para las metas y objetivos del usuario, mejorando la precisión del modelo y ayudando a este a dar un salto de calidad.