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
Redes neuronales en el trading: Modelo Universal de Generación de Trayectorias (UniTraj)

Redes neuronales en el trading: Modelo Universal de Generación de Trayectorias (UniTraj)

La comprensión del comportamiento de los agentes es importante en distintos ámbitos, pero la mayoría de los métodos se centran en una única tarea (comprensión, eliminación del ruido, predicción), lo cual reduce su eficacia en escenarios del mundo real. En este artículo, propongo al lector introducir un modelo capaz de adaptarse a diferentes tareas.
preview
Redes neuronales en el trading: Detección de objetos con reconocimiento de escena (HyperDet3D)

Redes neuronales en el trading: Detección de objetos con reconocimiento de escena (HyperDet3D)

Le proponemos que conozca un nuevo enfoque de la detección de objetos mediante hiper-redes: una hiper-red de generación de coeficientes de peso para el modelo básico que permite tener en cuenta las peculiaridades del estado actual del mercado. Este enfoque mejora la precisión de las previsiones adaptando el modelo a las distintas condiciones comerciales.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 5): Reglas de negociación autoadaptativas

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 5): Reglas de negociación autoadaptativas

Las mejores prácticas, que definen cómo utilizar un indicador de forma segura, no siempre son fáciles de seguir. Las condiciones de mercado tranquilas pueden producir, sorprendentemente, lecturas en el indicador que no califican como señal de negociación, lo que conlleva la pérdida de oportunidades para los operadores algorítmicos. Este artículo propondrá una posible solución a este problema, al analizar cómo construir aplicaciones de negociación capaces de adaptar sus reglas de negociación a los datos de mercado disponibles.
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
Algoritmo de optimización de sociedad anárquica (Anarchic Society Optimization, ASO)

Algoritmo de optimización de sociedad anárquica (Anarchic Society Optimization, ASO)

En este artículo, nos familiarizaremos con el algoritmo de optimización de sociedad anárquica (Anarchic Society Optimization, ASO) y discutiremos cómo un algoritmo basado en el comportamiento irracional y aventurero de los participantes en una sociedad anárquica (un sistema anómalo de interacción social libre de poder centralizado y varios tipos de jerarquías) es capaz de explorar el espacio de soluciones y evitar las trampas del óptimo local. El artículo presenta una estructura ASO unificada aplicable tanto a problemas continuos como discretos.
preview
Algoritmo de optimización de neuroboides — Neuroboids Optimization Algorithm (NOA)

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

Hoy hablaremos de una nueva metaheurística de optimización inspirada en la naturaleza: el NOA (Neuroboids Optimisation Algorithm), que combina principios de inteligencia colectiva y redes neuronales. A diferencia de los métodos clásicos, el algoritmo usa una población de "neuroboides" autodidactas, cada uno con su propia red neuronal que adapta la estrategia de búsqueda en tiempo real. En el artículo se revela la arquitectura del algoritmo, los mecanismos de autoaprendizaje de los agentes y las perspectivas de aplicación de este enfoque híbrido a problemas complejos de optimización.
preview
Del básico al intermedio: Arrays y cadenas (II)

Del básico al intermedio: Arrays y cadenas (II)

En este artículo, demostraré que, aunque aún estamos en una fase inicial y muy básica, ya podemos implementar alguna aplicación interesante. En este caso, crearemos un generador de contraseñas bastante sencillo. Así podremos aplicar algunos de los conceptos explicados hasta ahora. Además, mostraré cómo se pueden desarrollar soluciones para algunos problemas específicos.
preview
Cliente en Connexus (Parte 7): Añadir la capa de cliente

Cliente en Connexus (Parte 7): Añadir la capa de cliente

En este artículo continuamos con el desarrollo de la biblioteca Connexus. En este capítulo creamos la clase CHttpClient, responsable de enviar una solicitud y recibir un orden. También cubrimos el concepto de simulaciones, dejando la biblioteca desacoplada de la función WebRequest, lo que permite una mayor flexibilidad para los usuarios.
preview
Algoritmo de optimización de neuroboides — Neuroboids Optimization Algorithm (NOA)

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

Hoy hablaremos de una nueva metaheurística de optimización inspirada en la naturaleza: el NOA (Neuroboids Optimisation Algorithm), que combina principios de inteligencia colectiva y redes neuronales. A diferencia de los métodos clásicos, el algoritmo usa una población de "neuroboides" autodidactas, cada uno con su propia red neuronal que adapta la estrategia de búsqueda en tiempo real. En el artículo se revela la arquitectura del algoritmo, los mecanismos de autoaprendizaje de los agentes y las perspectivas de aplicación de este enfoque híbrido a problemas complejos de optimización.
preview
Simulación de mercado (Parte 05): Creación de la clase C_Orders (II)

Simulación de mercado (Parte 05): Creación de la clase C_Orders (II)

En este artículo, explicaré cómo Chart Trade, junto con el asesor experto, gestionará la solicitud de cierre de todas las posiciones abiertas del usuario. Parece sencillo, pero hay algunos factores que complican la situación y que es necesario saber gestionar.
preview
Uso de reglas de asociación en el análisis de datos de Forex

Uso de reglas de asociación en el análisis de datos de Forex

¿Cómo aplicar las reglas predictivas del análisis minorista de supermercados al mercado Forex real? ¿Cómo se relacionan las compras de galletas, leche y pan con las transacciones bursátiles? El artículo analiza un enfoque innovador del trading algorítmico basado en el uso de reglas de asociación.
preview
Desarrollo de un sistema de repetición (Parte 67): Refinando el indicador de control

Desarrollo de un sistema de repetición (Parte 67): Refinando el indicador de control

En este artículo, mostraré lo que un poco de refinamiento en el código es capaz de lograr. Dicho refinamiento tiene como objetivo simplificar nuestro código, hacer un mayor uso de las llamadas a la biblioteca de MQL5 y, sobre todo, conseguir que sea mucho más estable, seguro y fácil de usar en otros códigos que desarrollemos en el futuro. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos mostrados.
preview
Características del Wizard MQL5 que debe conocer (Parte 28): Revisión de las GAN con una introducción a las tasas de aprendizaje

Características del Wizard MQL5 que debe conocer (Parte 28): Revisión de las GAN con una introducción a las tasas de aprendizaje

La Tasa de Aprendizaje, es un tamaño de paso hacia un objetivo de entrenamiento en muchos procesos de entrenamiento de algoritmos de aprendizaje automático. Examinamos el impacto que sus múltiples horarios y formatos pueden tener en el rendimiento de una Red Generativa Adversarial, un tipo de red neuronal que ya habíamos examinado en un artículo anterior.
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
Pruebas de robustez en asesores expertos

Pruebas de robustez en asesores expertos

En el desarrollo de una estrategia hay muchos detalles complejos a tener en cuenta, muchos de los cuales no se destacan para los traders principiantes. Como resultado, muchos comerciantes, incluido yo mismo, hemos tenido que aprender estas lecciones a las duras penas. Este artículo se basa en mis observaciones de errores comunes que la mayoría de los traders principiantes encuentran al desarrollar estrategias en MQL5. Ofrecerá una variedad de consejos, trucos y ejemplos para ayudar a identificar la descalificación de un EA y probar la solidez de nuestros propios EA de una manera fácil de implementar. El objetivo es educar a los lectores, ayudándolos a evitar futuras estafas al comprar EA, así como a prevenir errores en el desarrollo de su propia estrategia.
preview
Aprendizaje automático en la negociación de tendencias unidireccionales tomando el oro como ejemplo

Aprendizaje automático en la negociación de tendencias unidireccionales tomando el oro como ejemplo

En este artículo analizaremos un enfoque interesante: la negociación solo en la dirección seleccionada (compra o venta). Para ello, utilizaremos técnicas de inferencia causal y aprendizaje automático.
preview
Optimización de Battle Royale — Battle Royale Optimizer (BRO)

Optimización de Battle Royale — Battle Royale Optimizer (BRO)

El artículo describe un innovador enfoque de optimización que combina la competición espacial de soluciones con el estrechamiento adaptativo del espacio de búsqueda, lo cual convierte al Battle Royale Optimizer en una prometedora herramienta para el análisis financiero.
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
Ingeniería de características con Python y MQL5 (Parte III): El ángulo del precio (2) Coordenadas polares

Ingeniería de características con Python y MQL5 (Parte III): El ángulo del precio (2) Coordenadas polares

En este artículo, hacemos nuestro segundo intento de convertir los cambios en los niveles de precios de cualquier mercado en un cambio correspondiente en el ángulo. En esta ocasión, seleccionamos un enfoque matemáticamente más sofisticado que el que elegimos en nuestro primer intento, y los resultados obtenidos sugieren que nuestro cambio de enfoque puede haber sido la decisión correcta. Únase a nosotros hoy para debatir cómo podemos utilizar las coordenadas polares para calcular el ángulo formado por los cambios en los niveles de precios, de una manera significativa, independientemente del mercado que esté analizando.
preview
Desarrollo de un sistema de repetición (Parte 63): Presionando play en el servicio (IV)

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

En este archivo, resolveremos por fin los problemas de simulación de los ticks en una barra de un minuto, de manera que puedan coexistir con ticks reales. De esta manera, evitaremos enfrentarnos a problemas en el futuro. El contenido expuesto aquí tiene como único objetivo la didáctica. En ningún caso debe interpretarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Gestor de riesgos profesional remoto para Forex en Python

Gestor de riesgos profesional remoto para Forex en Python

Hoy crearemos un gestor de riesgos profesional remoto para Forex en Python, y los desplegaremos en un servidor paso a paso. En el transcurso del artículo entenderemos cómo gestionar programáticamente los riesgos en Forex, y cómo no agotar más nuestro depósito en el mundo de las divisas.
preview
Del básico al intermedio: Array (IV)

Del básico al intermedio: Array (IV)

En este artículo, veremos cómo podemos hacer algo muy parecido a lo que se encuentra en lenguajes como C, C++ y Java. Se trata de enviar un número casi infinito de parámetros dentro de una función o procedimiento. Aunque, aparentemente, se trate de un tema avanzado. En mi opinión, lo que se verá aquí puede ser implementado con facilidad por cualquier persona que haya comprendido los conceptos anteriores. Siempre y cuando se hayan comprendido los conceptos vistos anteriormente. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea aprender y estudiar los conceptos mostrados.
preview
Explorando técnicas avanzadas de aprendizaje automático en la estrategia Darvas Box Breakout

Explorando técnicas avanzadas de aprendizaje automático en la estrategia Darvas Box Breakout

La estrategia Darvas Box Breakout, creada por Nicolas Darvas, es un enfoque técnico de negociación que detecta posibles señales de compra cuando el precio de una acción sube por encima de un rango establecido, lo que sugiere un fuerte impulso alcista. En este artículo, aplicaremos este concepto estratégico como ejemplo para explorar tres técnicas avanzadas de aprendizaje automático. Entre ellas se incluyen el uso de un modelo de aprendizaje automático para generar señales en lugar de filtrar operaciones, el empleo de señales continuas en lugar de discretas y el uso de modelos entrenados en diferentes marcos temporales para confirmar las operaciones.
preview
Métodos de discretización de los movimientos de precios en Python

Métodos de discretización de los movimientos de precios en Python

Hoy analizaremos varios métodos de discretización de precios en Python + MQL5. En este artículo compartiré mi experiencia práctica en el desarrollo de una biblioteca Python que implementa toda una gama de enfoques para la formación de barras: desde las clásicas Volume y Range bars hasta métodos más exóticos como Renko y Kagi, velas de ruptura de tres líneas, barras de Rango; ¿cuáles son sus estadísticas, de qué otra forma se pueden representar los precios de forma discreta?
preview
Desarrollo de un sistema de repetición (Parte 60): Presionando play en el servicio (I)

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

Llevamos bastante tiempo trabajando únicamente con los indicadores. Pero ahora ha llegado el momento de hacer que el servicio vuelva a ejecutar su trabajo y podamos ver el gráfico construyéndose con los datos proporcionados. Sin embargo, como no todo es tan simple, será necesario observar para entender lo que nos espera.
preview
Redes neuronales en el trading: Modelo adaptativo multiagente (MASA)

Redes neuronales en el trading: Modelo adaptativo multiagente (MASA)

Hoy les propongo familiarizarse con el MASA, un framework adaptativo multiagente que combina el aprendizaje por refuerzo y las estrategias adaptativas para ofrecer un equilibrio armonioso entre la rentabilidad y la gestión del riesgo en condiciones de mercado turbulentas.
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
Dominando los registros (Parte 3): Exploración de controladores para guardar registros

Dominando los registros (Parte 3): Exploración de controladores para guardar registros

En este artículo, exploraremos el concepto de controladores en la librería de registro, comprenderemos cómo funcionan y crearemos tres implementaciones iniciales: Console, Database y File. Cubriremos todo, desde la estructura básica de los controladores hasta las pruebas prácticas, preparando el terreno para su plena funcionalidad en futuros artículos.
preview
Kit de herramientas de negociación MQL5 (Parte 7): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente cancelada

Kit de herramientas de negociación MQL5 (Parte 7): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente cancelada

Aprenda a completar la creación del módulo final en la librería History Manager EX5, centrándose en las funciones responsables de gestionar la orden pendiente cancelada más recientemente. Esto le proporcionará las herramientas necesarias para recuperar y almacenar de manera eficiente los detalles clave relacionados con las órdenes pendientes canceladas con MQL5.
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
Desarrollamos un asesor experto multidivisas (Parte 22): Inicio de la transición a la sustitución dinámica de ajustes

Desarrollamos un asesor experto multidivisas (Parte 22): Inicio de la transición a la sustitución dinámica de ajustes

Si hemos empezado a automatizar la optimización periódica, también deberíamos ocuparnos de la actualización automática de los ajustes de los asesores expertos que ya están trabajando en la cuenta comercial. También deberíamos permitirle ejecutar un asesor experto en el simulador de estrategias y cambiar su configuración en una sola pasada.
preview
Del básico al intermedio: Comando FOR

Del básico al intermedio: Comando FOR

En este artículo hablaremos de los conceptos más básicos sobre el comando FOR. Todo lo que se mostrará aquí debe asimilarse y comprenderse a fondo. A diferencia de otros comandos que hemos tratado anteriormente, este comando FOR tiene ciertas peculiaridades que lo hacen muy complejo con rapidez. Así que, querido lector, no permitas que este tipo de material se acumule. Comienza a estudiarlo y practicarlo cuanto antes. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea aprender y estudiar los conceptos mostrados.
preview
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
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
Simulación de mercado (Parte 15): Sockets (IX)

Simulación de mercado (Parte 15): Sockets (IX)

En este artículo, explicaré una de las posibles soluciones a lo que he estado intentando mostrar. Es decir, cómo permitir que un usuario de Excel realice una acción en MetaTrader 5 sin enviar órdenes ni abrir o cerrar una posición. La idea es que el usuario utilice Excel para realizar un análisis fundamental de algún símbolo. Y que, usando únicamente Excel, pueda indicar a un Asesor Experto que se esté ejecutando en MetaTrader 5 que debe abrir o cerrar una posición determinada.
preview
Pruebas retrospectivas manuales simplificadas: herramientas personalizadas en MQL5 para el Probador de Estrategias

Pruebas retrospectivas manuales simplificadas: herramientas personalizadas en MQL5 para el Probador de Estrategias

En este artículo diseñamos un conjunto de herramientas MQL5 personalizadas para facilitar las pruebas retrospectivas manuales en el Probador de Estrategias. Explicamos su diseño e implementación, centrándonos en los controles comerciales interactivos. A continuación mostramos cómo utilizarlo para probar estrategias de forma eficaz.
preview
Redes neuronales en el trading: Detección de anomalías en el dominio de la frecuencia (CATCH)

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

El framework CATCH combina la transformada de Fourier y el parcheo de frecuencias para detectar con precisión anomalías del mercado inaccesibles a los métodos tradicionales. En el presente artículo, analizaremos cómo este enfoque revela patrones ocultos en los datos financieros.
preview
Técnicas de remuestreo para la evaluación de predicciones y clasificaciones en MQL5

Técnicas de remuestreo para la evaluación de predicciones y clasificaciones en MQL5

En este artículo exploraremos e implementaremos métodos para evaluar la calidad de los modelos que utilizan un único conjunto de datos como conjuntos de entrenamiento y validación.
preview
Simulación de mercado (Parte 08): Sockets (II)

Simulación de mercado (Parte 08): Sockets (II)

¿Qué te parece si creamos algo práctico con sockets? Bien, en este artículo empezaremos a crear un minichat. Acompáñanos y descubre cómo se hace, porque será algo bastante interesante. Recuerda que el código que se mostrará aquí tiene un objetivo puramente didáctico. En realidad, no deberías utilizar este código con fines comerciales ni en una aplicación finalizada, ya que no cuenta con ningún tipo de seguridad en la transmisión de datos y es posible ver el contenido que se está transportando a través del socket.
preview
Del básico al intermedio: Definiciones (II)

Del básico al intermedio: Definiciones (II)

En este artículo, veremos y exploraremos un poco más sobre la directiva #define, pero esta vez nos centraremos en su segunda forma de utilización. Es decir, la creación de macros. Como sé que este tema puede resultar un poco complicado al principio, he decidido utilizar una aplicación que ya hemos estado explorando desde hace algún tiempo. Espero que disfrutes del contenido de este artículo.