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
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
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
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
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
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
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
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
Kit de herramientas de negociación MQL5 (Parte 6): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente completada

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

Aprenda a crear un módulo EX5 de funciones exportables que consultan y guardan datos de forma fluida para el pedido pendiente completado más recientemente. En esta guía paso a paso, mejoraremos la librería History Management EX5 desarrollando funciones específicas y compartimentadas para recuperar las propiedades esenciales de la última orden pendiente completada. Estas propiedades incluyen el tipo de orden, el tiempo de configuración, el tiempo de ejecución, el tipo de ejecución y otros detalles críticos necesarios para la gestión y el análisis eficaces del historial de operaciones de las órdenes pendientes.
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
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
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
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
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
Desarrollo de un sistema de repetición (Parte 77): Un nuevo Chart Trade (IV)

Desarrollo de un sistema de repetición (Parte 77): Un nuevo Chart Trade (IV)

En este artículo, explicaré algunos detalles y precauciones que debes tener en cuenta al crear un protocolo de comunicación. Son cosas bastante básicas y simples. No voy a profundizar demasiado en este artículo. Pero es necesario que comprendas su contenido para entender lo que sucederá en el receptor.
preview
Características del Wizard MQL5 que debe conocer (Parte 14): Previsión multiobjetivo de series temporales con STF

Características del Wizard MQL5 que debe conocer (Parte 14): Previsión multiobjetivo de series temporales con STF

La fusión espacio-temporal, que utiliza métricas espaciales y temporales en la modelización de datos, es útil sobre todo en teledetección y otras muchas actividades visuales para comprender mejor nuestro entorno. Gracias a un artículo publicado, adoptamos un enfoque novedoso en su uso examinando su potencial para los comerciantes.
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
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
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
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
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
Redes neuronales: así de sencillo (Parte 97): Entrenamiento de un modelo con el MSFformer

Redes neuronales: así de sencillo (Parte 97): Entrenamiento de un modelo con el MSFformer

Al estudiar las distintas arquitecturas de construcción de modelos, prestamos poca atención al proceso de entrenamiento de los mismos. En este artículo intentaremos rellenar ese vacío.
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
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
Clases de tabla y encabezado basadas en el modelo de tabla de MQL5: Aplicación del concepto MVC

Clases de tabla y encabezado basadas en el modelo de tabla de MQL5: Aplicación del concepto MVC

Esta es la segunda parte del artículo dedicado a la implementación del modelo de tabla en MQL5 utilizando el paradigma constructivo MVC (Model-View-Controller). Este artículo trata sobre el desarrollo de clases de tabla y su encabezado a partir de un modelo de tabla previamente creado. Las clases desarrolladas serán la base para la posterior implementación de los componentes Vista (View) y Controlador (Controller), que se tratarán en los siguientes artículos.
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 70): Ajuste del tiempo (III)

Desarrollo de un sistema de repetición (Parte 70): Ajuste del tiempo (III)

En este artículo, mostraré cómo utilizar la función CustomBookAdd de manera correcta y funcional. Aunque pueda parecer sencillo, tiene muchas implicaciones. Por ejemplo, permite indicar al indicador de mouse si el símbolo personalizado está en subasta, en negociación o si el mercado está cerrado. El contenido expuesto aquí tiene como único objetivo ser didáctico. En ningún caso debe considerarse una aplicación cuya finalidad sea distinta a la de aprender y estudiar los conceptos mostrados.
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
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
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
Características del Wizard MQL5 que debe conocer (Parte 32): Regularización

Características del Wizard MQL5 que debe conocer (Parte 32): Regularización

La regularización es una forma de penalizar la función de pérdida en proporción a la ponderación discreta aplicada a lo largo de las distintas capas de una red neuronal. Observamos la importancia que esto puede tener, para algunas de las diversas formas de regularización, en ejecuciones de prueba con un Asesor Experto ensamblado mediante el asistente.
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
Desarrollo de un sistema de repetición (Parte 58): Volvemos a trabajar en el servicio

Desarrollo de un sistema de repetición (Parte 58): Volvemos a trabajar en el servicio

Después de haber tomado un descanso en el desarrollo y perfeccionamiento del servicio usado en la repetición/simulación, retomaremos el trabajo en él. Ahora que no utilizaremos algunos recursos, como las variables globales del terminal, es necesario reestructurar por completo algunas partes de él. No se preocupen, este proceso se explicará adecuadamente para que todos puedan seguir el desarrollo del servicio.
preview
Redes neuronales en el trading: Agente con memoria multinivel

Redes neuronales en el trading: Agente con memoria multinivel

Los enfoques de memoria multinivel que imitan los procesos cognitivos humanos permiten procesar datos financieros complejos y adaptarse a nuevas señales, lo cual contribuye a mejorar la eficacia de las decisiones de inversión en mercados dinámicos.
preview
Del básico al intermedio: Paso por valor o por referencia

Del básico al intermedio: Paso por valor o por referencia

En este artículo entenderás en la práctica la diferencia entre el paso por valor y el paso por referencia. Aunque parece algo aparentemente sencillo y que no suele causar problemas, muchos programadores con una considerable experiencia suelen enfrentarse a verdaderos contratiempos con sus códigos, precisamente por este pequeño detalle. Saber cuándo, cómo y por qué usar un paso por valor o un paso por referencia marcará una gran diferencia en tu vida como programador. El contenido presentado aquí tiene como único objetivo la enseñanza. En ningún caso debe considerarse como una aplicación destinada a otro fin que no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Asesor experto basado en un aproximador MLP universal

Asesor experto basado en un aproximador MLP universal

El artículo presenta una forma sencilla y asequible de usar redes neuronales en un asesor comercial que no requiere conocimientos profundos en aprendizaje automático. El método excluye la normalización de la función objetivo y elimina los problemas de "explosión de pesos" y "estupor de la red", posibilitando un aprendizaje intuitivo y un control visual de los resultados.
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)
preview
De novato a experto: Noticias animadas utilizando MQL5 (I)

De novato a experto: Noticias animadas utilizando MQL5 (I)

La accesibilidad a las noticias es un factor crítico a la hora de operar en el terminal MetaTrader 5. Aunque existen numerosas API de noticias, muchos operadores tienen dificultades para acceder a ellas e integrarlas de forma eficaz en su entorno de negociación. En este debate, nuestro objetivo es desarrollar una solución optimizada que lleve las noticias directamente al gráfico, donde más se necesitan. Lograremos esto mediante la creación de un asesor experto en titulares de noticias que monitorea y muestra actualizaciones de noticias en tiempo real desde fuentes API.
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
Redes neuronales en el trading: Segmentación de datos basada en expresiones de referencia

Redes neuronales en el trading: Segmentación de datos basada en expresiones de referencia

En el proceso de análisis de la situación del mercado, dividimos este en segmentos individuales, identificando las tendencias clave. Sin embargo, los métodos tradicionales de análisis suelen centrarse en un solo aspecto, lo cual limita nuestra percepción. En este artículo, presentaremos un método que nos permitirá seleccionar varios objetos, ofreciéndonos una comprensión más completa y variada de la situación.