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
Del básico al intermedio: Struct (III)

Del básico al intermedio: Struct (III)

En este artículo, veremos qué es un código estructurado. Muchas personas confunden el código estructurado con el código organizado. Sin embargo, existe una diferencia entre ambos conceptos. Esto se explicará en este artículo. A pesar de la aparente complejidad que se notará en el primer contacto con este tipo de codificación, he intentado abordar el tema de la mejor manera posible. Pero este artículo es solo el primer paso hacia algo más grande.
preview
Formulación de un Asesor Experto Multipar Dinámico (Parte 2): Diversificación y optimización de carteras

Formulación de un Asesor Experto Multipar Dinámico (Parte 2): Diversificación y optimización de carteras

La diversificación y optimización de la cartera distribuye estratégicamente las inversiones entre múltiples activos para minimizar el riesgo, al tiempo que selecciona la combinación ideal de activos para maximizar la rentabilidad basándose en métricas de rendimiento ajustadas al riesgo.
preview
Selección de características y reducción de dimensionalidad mediante componentes principales

Selección de características y reducción de dimensionalidad mediante componentes principales

El artículo profundiza en la implementación de un algoritmo modificado de análisis de componentes por selección ascendente, inspirándose en la investigación presentada en «Forward Selection Component Analysis: Algorithms and Applications» (Análisis de componentes por selección ascendente: algoritmos y aplicaciones), de Luca Puggini y Sean McLoone.
preview
Uso conjunto de PSAR, Heiken Ashi y Deep Learning para el trading

Uso conjunto de PSAR, Heiken Ashi y Deep Learning para el trading

Este proyecto explora la fusión del aprendizaje profundo y el análisis técnico para probar estrategias de trading en forex. Se utiliza un script en Python para experimentar rápidamente, empleando un modelo ONNX junto con indicadores tradicionales como PSAR, SMA y RSI para predecir los movimientos del EURUSD. A continuación, un script de MetaTrader 5 lleva esta estrategia a un entorno en vivo, utilizando datos históricos y análisis técnicos para tomar decisiones de negociación informadas. Los resultados de las pruebas retrospectivas indican un planteamiento prudente pero coherente, centrado en la gestión del riesgo y el crecimiento constante más que en la búsqueda agresiva de beneficios.
preview
Desarrollo de un sistema de repetición (Parte 61): Presionando play en el servicio (II)

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

En este artículo, analizaremos las modificaciones necesarias para que el sistema de repetición/simulación pueda operar de manera más eficiente y segura. También mostraré algo de interés para quienes deseen aprovechar al máximo el uso de clases. Además, abordaré un problema específico de MQL5 que reduce el rendimiento del código al trabajar con clases y explicaré cómo resolverlo.
preview
El análisis volumétrico de redes neuronales como clave de las tendencias futuras

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

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

Del básico al intermedio: Struct (I)

¿Qué te parece si empezamos a estudiar las estructuras de una forma más simple, práctica y agradable? Y es que las estructuras son uno de los fundamentos de la programación, ya sea estructurada o no. Sé que muchos piensan que las estructuras son solo colecciones de datos, pero te aseguro que son mucho más que eso. Y aquí empezaremos a explorar este nuevo universo de la manera más didáctica posible.
preview
Características del Wizard MQL5 que debe conocer (Parte 45): Aprendizaje por refuerzo con Monte-Carlo

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

Monte-Carlo es el cuarto algoritmo diferente de aprendizaje por refuerzo que estamos considerando con el objetivo de explorar su implementación en los asesores expertos ensamblados por el asistente. Aunque se basa en el muestreo aleatorio, ofrece numerosas posibilidades de simulación que podemos aprovechar.
preview
Redes neuronales en el trading: Segmentación periódica adaptativa (Final)

Redes neuronales en el trading: Segmentación periódica adaptativa (Final)

Le propongo sumergirse en el apasionante mundo de LightGTS, un framework de predicción de series temporales ligero pero potente que combina la convolución adaptativa y la codificación RoPE con métodos de atención innovadores. En el artículo de hoy, encontrará una descripción detallada de todos los componentes, desde la creación de parches hasta una compleja combinación de asesores expertos en un decodificador, listo para su integración en proyectos MQL5. ¡Descubra cómo LightGTS lleva el trading automatizado al siguiente nivel!
preview
Modificaciones más notables del algoritmo de búsqueda cooperativa artificial (Artificial Cooperative Search, ACSm)

Modificaciones más notables del algoritmo de búsqueda cooperativa artificial (Artificial Cooperative Search, ACSm)

Aquí consideraremos la evolución del algoritmo ACS: tres modificaciones destinadas a mejorar las características de convergencia y la eficiencia del algoritmo. Transformación de uno de los principales algoritmos de optimización. De las modificaciones matriciales a los planteamientos revolucionarios en materia de formación de la población.
preview
Operar con el Calendario Económico MQL5 (Parte 4): Implementación de actualizaciones de noticias en tiempo real en el panel de control

Operar con el Calendario Económico MQL5 (Parte 4): Implementación de actualizaciones de noticias en tiempo real en el panel de control

Este artículo mejora nuestro panel de control del calendario económico al implementar actualizaciones de noticias en tiempo real para mantener la información del mercado actualizada y útil. Integramos técnicas de obtención de datos en tiempo real en MQL5 para actualizar continuamente los eventos en el panel de control, mejorando así la capacidad de respuesta de la interfaz. Esta actualización garantiza que podamos acceder a las últimas noticias económicas directamente desde el panel de control, optimizando las decisiones comerciales basadas en los datos más recientes.
preview
Algoritmo de optimización de neuroboides 2 — Neuroboids Optimization Algorithm 2 (NOA2)

Algoritmo de optimización de neuroboides 2 — Neuroboids Optimization Algorithm 2 (NOA2)

El nuevo algoritmo de optimización de autor, NOA2 (Neuroboids Optimisation Algorithm 2), combina los principios de la inteligencia de enjambre con el control neuronal. El NOA2 combina la mecánica del comportamiento de los enjambres de neuroboids con un sistema neuronal adaptativo que permite a los agentes ajustar de forma autónoma su comportamiento a medida que buscan un óptimo. El algoritmo se está desarrollando activamente y muestra potencial para resolver problemas complejos de optimización.
preview
Redes neuronales en el trading: Detección de anomalías en el dominio de la frecuencia (Final)

Redes neuronales en el trading: Detección de anomalías en el dominio de la frecuencia (Final)

Seguimos trabajando en la aplicación de los planteamientos del framework CATCH, que combina la transformada de Fourier y el mecanismo de parcheo de frecuencias para posibilitar una detección precisa de las anomalías del mercado. En este artículo, finalizaremos nuestra propia visión de los enfoques propuestos y probaremos los nuevos modelos con datos históricos reales.
preview
Herramientas de trading de MQL5 (Parte 3): Creación de un panel de control con análisis de múltiples marcos temporales para el trading estratégico

Herramientas de trading de MQL5 (Parte 3): Creación de un panel de control con análisis de múltiples marcos temporales para el trading estratégico

En este artículo, creamos un panel de escáner multitemporal en MQL5 para mostrar señales de trading en tiempo real. Diseñamos una interfaz de cuadrícula interactiva, implementamos el cálculo de señales con múltiples indicadores y añadimos un botón de cierre. El artículo concluye con los beneficios del backtesting y el trading estratégico.
preview
Desarrollo de un sistema de repetición (Parte 68): Ajuste del tiempo (I)

Desarrollo de un sistema de repetición (Parte 68): Ajuste del tiempo (I)

A continuación, continuaremos con el trabajo de lograr que el indicador del mouse nos informe sobre el tiempo restante de la barra en momentos de baja liquidez. Aunque a primera vista parece sencillo, verás que esta tarea es mucho más complicada. Esto se debe a algunos obstáculos que tendremos que superar. Por eso, es importante que sigas esta primera parte para poder comprender las siguientes.
preview
Características del Wizard MQL5 que debe conocer (Parte 36): Q-Learning con Cadenas de Markov

Características del Wizard MQL5 que debe conocer (Parte 36): Q-Learning con Cadenas de Markov

El aprendizaje de refuerzo es uno de los tres principios principales del aprendizaje automático, junto con el aprendizaje supervisado y el aprendizaje no supervisado. Por lo tanto, se preocupa del control óptimo o de aprender la mejor política a largo plazo que se adapte mejor a la función objetivo. Con este telón de fondo, exploramos su posible papel en la información del proceso de aprendizaje de una MLP de un Asesor Experto montado por un asistente.
preview
Algoritmo de tiro con arco - Archery Algorithm (AA)

Algoritmo de tiro con arco - Archery Algorithm (AA)

Este artículo detalla un algoritmo de optimización inspirado en el tiro con arco, centrado en el uso del método de la ruleta como mecanismo de selección de zonas prometedoras para las "flechas". Este método nos permite evaluar la calidad de las soluciones y seleccionar las más prometedoras para seguir estudiándolas.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte III): Previsión del FTSE 100

Reimaginando las estrategias clásicas en MQL5 (Parte III): Previsión del FTSE 100

En esta serie de artículos, revisaremos estrategias de negociación muy conocidas para averiguar si podemos mejorarlas utilizando la IA. En el artículo de hoy, exploraremos el FTSE 100 e intentaremos predecir el índice utilizando una parte de los valores individuales que lo componen.
preview
Algoritmo de búsqueda circular — Circle Search Algorithm (CSA)

Algoritmo de búsqueda circular — Circle Search Algorithm (CSA)

Este trabajo presenta un nuevo algoritmo metaheurístico de optimización CSA (Circle Search Algorithm) basado en las propiedades geométricas del círculo. El algoritmo usa el principio de desplazamiento de puntos por tangentes para encontrar la solución óptima combinando fases de exploración global y explotación local.
preview
Creación de un Panel de administración de operaciones en MQL5 (Parte IX): Organización del código (IV): Clase sobre el Panel de gestión de operaciones

Creación de un Panel de administración de operaciones en MQL5 (Parte IX): Organización del código (IV): Clase sobre el Panel de gestión de operaciones

Esta discusión trata sobre el TradeManagementPanel actualizado en nuestro asesor experto New_Admin_Panel. La actualización mejora el panel mediante el uso de clases integradas para ofrecer una interfaz de gestión de operaciones fácil de usar. Incluye botones para abrir posiciones y controles para gestionar las operaciones existentes y las órdenes pendientes. Una característica clave es la gestión de riesgos integrada, que permite establecer los valores de stop loss y take profit directamente en la interfaz. Esta actualización mejora la organización del código para programas grandes y simplifica el acceso a las herramientas de gestión de pedidos, que a menudo son complejas en la terminal.
preview
Algoritmo de campo eléctrico artificial (AEFA) — Artificial Electric Field Algorithm (AEFA)

Algoritmo de campo eléctrico artificial (AEFA) — Artificial Electric Field Algorithm (AEFA)

Este artículo presenta el algoritmo de campo eléctrico artificial (AEFA) inspirado en la ley de Coulomb de la fuerza electrostática. El algoritmo modela fenómenos eléctricos para resolver problemas de optimización complejos usando partículas cargadas y las interacciones de estas. El AEFA presenta propiedades únicas en el contexto de otros algoritmos relacionados con las leyes de la naturaleza.
preview
Del básico al intermedio: Comando SWITCH

Del básico al intermedio: Comando SWITCH

En este artículo aprenderemos a utilizar el comando SWITCH en su forma más simple y básica. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos presentados.
preview
Trading de arbitraje en Forex: Sistema comercial matricial para retornar al valor justo con limitación del riesgo

Trading de arbitraje en Forex: Sistema comercial matricial para retornar al valor justo con limitación del riesgo

El artículo contiene una descripción detallada del algoritmo de cálculo de tipos cruzados, una visualización de la matriz de desequilibrios y recomendaciones para configurar de manera óptima los parámetros MinDiscrepancy y MaxRisk para un trading efectivo. El sistema calcula automáticamente el "valor justo" de cada par de divisas usando tipos de cambio cruzados, generando señales de compra para las desviaciones negativas y señales de venta para las desviaciones positivas.
preview
Del básico al intermedio: Eventos (I)

Del básico al intermedio: Eventos (I)

Con todo lo que se ha mostrado hasta ahora, creo que ya podemos comenzar a implementar algún tipo de aplicación para ejecutarla directamente en el gráfico de algún símbolo. Aunque, antes de poder hacer esto, necesitamos hablar de algo que resulta bastante confuso para los principiantes: el hecho de que las aplicaciones desarrolladas en MQL5 y destinadas a visualizarse en un gráfico no se crean del mismo modo que hemos visto hasta ahora. En este artículo, empezaremos a entenderlo un poco mejor.
preview
Características del Wizard MQL5 que debe conocer (Parte 51): Aprendizaje por refuerzo con SAC

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

Soft Actor Critic es un algoritmo de aprendizaje por refuerzo que utiliza tres redes neuronales. Una red de actores y dos redes de críticos. Estos modelos de aprendizaje automático se emparejan en una relación maestro-esclavo en la que los críticos se modelan para mejorar la precisión de las previsiones de la red de actores. Al tiempo que introducimos ONNX en esta serie, exploramos cómo estas ideas podrían ponerse a prueba como una señal personalizada de un asesor experto ensamblado por un asistente.
preview
Desarrollo de un sistema de repetición (Parte 57): Diseccionamos el servicio de prueba

Desarrollo de un sistema de repetición (Parte 57): Diseccionamos el servicio de prueba

Un último detalle: Aunque no se incluye en este artículo, explicaré el código del servicio que se estará utilizando en el próximo, ya que usaremos este mismo código como trampolín para lo que realmente estamos desarrollando. Así que ten un poco de paciencia y espera el próximo artículo, pues las cosas se están poniendo cada día más interesantes.
preview
Del básico al intermedio: Plantilla y Typename (II)

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

En este artículo, mostraremos cómo lidiar con una de las situaciones más molestas y complicadas en términos de programación con las que tú podrías encontrarte: el uso de tipos diferentes en una misma plantilla de función o procedimiento. Aunque nos hemos enfocado casi todo el tiempo solo en funciones, todo lo que se ha visto aquí sirve y puede aplicarse a procedimientos.
preview
Explorando la criptografía en MQL5: Un enfoque paso a paso

Explorando la criptografía en MQL5: Un enfoque paso a paso

Este artículo analiza la integración de la criptografía en MQL5, mejorando la seguridad y la funcionalidad de los algoritmos de trading. Cubriremos los métodos criptográficos clave y su aplicación práctica en el comercio automatizado.
preview
Métodos de ensamble para mejorar predicciones numéricas en MQL5

Métodos de ensamble para mejorar predicciones numéricas en MQL5

En este artículo presentamos la implementación de varios métodos de aprendizaje por ensamble en MQL5 y examinamos su efectividad en distintos escenarios.
preview
El método de manejo de datos en grupo: implementación del algoritmo combinatorio en MQL5

El método de manejo de datos en grupo: implementación del algoritmo combinatorio en MQL5

En este artículo continuamos nuestra exploración de la familia de algoritmos del método de manejo de datos en grupo, con la implementación del algoritmo combinatorio junto con su encarnación refinada, el algoritmo combinatorio selectivo en MQL5.
preview
Automatización de estrategias de trading en MQL5 (Parte 7): Creación de un EA para el comercio en cuadrícula con escalado dinámico de lotes

Automatización de estrategias de trading en MQL5 (Parte 7): Creación de un EA para el comercio en cuadrícula con escalado dinámico de lotes

En este artículo, creamos un asesor experto de trading con cuadrículas en MQL5 que utiliza el escalado dinámico de lotes. Cubrimos el diseño de la estrategia, la implementación del código y el proceso de backtesting. Por último, compartimos conocimientos clave y mejores prácticas para optimizar el sistema de comercio automatizado.
preview
El componente View para tablas en el paradigma MQL5 MVC: Contenedores

El componente View para tablas en el paradigma MQL5 MVC: Contenedores

En este artículo, hablaremos sobre cómo crear un control «Contenedor» que permita desplazarse por su contenido. Dentro del proceso, se mejorarán las clases ya implementadas de controles de la biblioteca gráfica.
preview
Del básico al intermedio: Objetos (II)

Del básico al intermedio: Objetos (II)

En este artículo, veremos cómo controlar, de forma simple, vía código, algunas propiedades de objetos. Veremos cómo podemos colocar más de un objeto en un mismo gráfico, usando, para esto, una aplicación. Y, además, empezaremos a ver la importancia de definir un nombre corto para todo y cualquier indicador que vayamos a implementar.
preview
Optimización Extrema — Extremal Optimization (EO)

Optimización Extrema — Extremal Optimization (EO)

En este artículo analizamos el algoritmo de Optimización Extremal (OE), un método de optimización inspirado en el modelo de criticidad autoorganizada de Bak-Sneppen, donde la evolución se produce mediante la eliminación de los componentes del sistema que representan el peor caso. La versión modificada del algoritmo para poblaciones específicas demuestra un cambio de enfoque, alejándose de los principios teóricos en favor de la eficiencia práctica, lo cual lleva a la creación de potentes herramientas computacionales
preview
Desarrollo de un sistema de repetición (Parte 54): El nacimiento del primer módulo

Desarrollo de un sistema de repetición (Parte 54): El nacimiento del primer módulo

En este artículo, veremos cómo construir el primero de los módulos, realmente funcional, para ser utilizado en el sistema de repetición/simulador. Además de tener como propósito general servir para otras cosas también. El módulo que se construirá aquí será el del indicador de mouse.
preview
Desarrollo de un sistema de repetición (Parte 56): Adecuación de los módulos

Desarrollo de un sistema de repetición (Parte 56): Adecuación de los módulos

Aunque los módulos se comunican de manera adecuada, existe un error al intentar utilizar el indicador de mouse en el servicio de repetición. Necesitamos corregir esto ahora, antes de pasar al siguiente paso. Además, se ha corregido una incidencia en el código del indicador de mouse. Esta versión finalmente se ha vuelto estable y está debidamente finalizada.
preview
Desarrollo de un sistema de repetición (Parte 62): Presionando play en el servicio (III)

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

En este artículo comenzaremos a abordar el problema del exceso de ticks, que puede afectar a la aplicación cuando usamos datos reales. Este exceso complica muchas veces la correcta temporización necesaria para construir la barra de un minuto dentro de la ventana adecuada.
preview
Redefiniendo los indicadores de MQL5 y MetaTrader 5

Redefiniendo los indicadores de MQL5 y MetaTrader 5

Un enfoque innovador para recopilar información de indicadores en MQL5 que permite un análisis de datos más flexible y optimizado, al permitir a los desarrolladores pasar entradas personalizadas a los indicadores para realizar cálculos inmediatos. Este enfoque resulta especialmente útil para el trading algorítmico, ya que proporciona un mayor control sobre la información procesada por los indicadores, superando las limitaciones tradicionales.
preview
Operar con el Calendario Económico MQL5 (Parte 6): Automatizar la entrada de operaciones con análisis de noticias y temporizadores de cuenta regresiva

Operar con el Calendario Económico MQL5 (Parte 6): Automatizar la entrada de operaciones con análisis de noticias y temporizadores de cuenta regresiva

En este artículo, implementamos la entrada automática de operaciones utilizando el Calendario Económico MQL5, aplicando filtros definidos por el usuario y desfases temporales para identificar eventos noticiosos que cumplan los requisitos. Comparamos los pronósticos y los valores anteriores para determinar si abrir una operación de COMPRA o VENTA. Los temporizadores de cuenta regresiva dinámicos muestran el tiempo restante hasta la publicación de las noticias y se reinician automáticamente después de una operación.
preview
Características del Wizard MQL5 que debe conocer (Parte 57): Aprendizaje supervisado utilizando la media móvil y el oscilador estocástico

Características del Wizard MQL5 que debe conocer (Parte 57): Aprendizaje supervisado utilizando la media móvil y el oscilador estocástico

La media móvil y el oscilador estocástico son indicadores muy comunes que algunos operadores pueden no utilizar mucho debido a su naturaleza retardada. En una «miniserie» de tres partes que analiza las tres formas principales de aprendizaje automático, analizamos si este sesgo contra estos indicadores está justificado o si podrían tener alguna ventaja. Realizamos nuestro análisis con asesores expertos creados por el Asistente MQL5 (MQL5 Wizard)