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
Redes neuronales: así de sencillo (Parte 79): Adición de solicitudes en el contexto de estado (FAQ)

Redes neuronales: así de sencillo (Parte 79): Adición de solicitudes en el contexto de estado (FAQ)

En el artículo anterior, nos familiarizamos con uno de los métodos para detectar objetos en una imagen. Sin embargo, el procesamiento de una imagen estática se diferencia ligeramente del trabajo con series temporales dinámicas que incluyen la dinámica de los precios que hemos analizado. En este artículo les presentaré un método de detección de objetos en vídeo que resulta algo más cercano al problema que estamos resolviendo.
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
Cómo publicar código en CodeBase: Guía práctica

Cómo publicar código en CodeBase: Guía práctica

En este artículo, analizaremos el proceso de publicación de diferentes tipos de programas para el terminal en la biblioteca de código fuente MQL5 usando ejemplos reales.
preview
Características del Wizard MQL5 que debe conocer (Parte 20): Regresión simbólica

Características del Wizard MQL5 que debe conocer (Parte 20): Regresión simbólica

La regresión simbólica es una forma de regresión que parte de supuestos mínimos o nulos sobre cómo sería el modelo subyacente que traza los conjuntos de datos objeto de estudio. Aunque puede implementarse mediante Métodos Bayesianos o Redes Neuronales, veremos cómo una implementación con Algoritmos Genéticos puede ayudar a personalizar una clase de señal experta utilizable en el asistente MQL5.
preview
Del básico al intermedio: Comando WHILE y DO WHILE

Del básico al intermedio: Comando WHILE y DO WHILE

En este artículo veremos de manera práctica y bastante didáctica el primer comando de bucle. A pesar de que muchos principiantes sienten temor al enfrentarse a la necesidad de crear bucles, saber cómo hacerlo de manera adecuada y segura, es algo que solo la experiencia y la práctica pueden proporcionar. Pero, ¿quién sabe? Tal vez pueda ayudarte a reducir las dificultades y el sufrimiento, mostrándote los principales problemas y precauciones que debes tener al utilizar bucles en tus códigos. El contenido expuesto aquí tiene como objetivo exclusivamente la enseñanza didáctica. En ningún caso debe considerarse como una aplicación destinada a otro fin que no sea el aprendizaje y estudio de los conceptos presentados.
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
Operaciones de arbitraje en Forex: Panel de evaluación de correlaciones

Operaciones de arbitraje en Forex: Panel de evaluación de correlaciones

Hoy analizaremos la creación de un panel de arbitraje en el lenguaje MQL5. ¿Cómo obtener tipos de cambio justos en Forex de formas diferentes? En esta ocasión, crearemos un indicador para obtener las desviaciones de los precios de mercado respecto a los tipos justos, y para estimar el beneficio de las vías de arbitraje para cambiar una divisa por otra (como en el arbitraje triangular).
preview
Desarrollo de un sistema de repetición (Parte 65): Presionando play en el servicio (VI)

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

En este artículo, mostraré cómo lo implementaremos y resolveremos el problema del indicador del mouse cuando se utiliza junto con la aplicación de repetición/simulación. El contenido expuesto aquí tiene como único propósito la enseñanza. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y estudio de los conceptos presentados.
preview
Del básico al intermedio: Directiva Include

Del básico al intermedio: Directiva Include

En este artículo, hablaremos de una directiva de compilación ampliamente utilizada en los diversos códigos que puedes encontrar en MQL5. Aunque esta directiva de compilación se explicará aquí de manera bastante básica y superficial, es importante comenzar a entender cómo usarla, ya que pronto será indispensable para avanzar hacia un nivel de programación superior. 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
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
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
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
Características del Wizard MQL5 que debe conocer (Parte 18): Búsqueda de arquitectura neural con vectores propios

Características del Wizard MQL5 que debe conocer (Parte 18): Búsqueda de arquitectura neural con vectores propios

Búsqueda de arquitectura neuronal, un enfoque automatizado para determinar la configuración ideal de la red neuronal, puede ser una ventaja cuando se enfrentan muchas opciones y grandes conjuntos de datos de prueba. Analizamos cómo, cuando se combinan vectores propios, este proceso puede resultar aún más eficiente.
preview
Aprendizaje automático y Data Science (Parte 33): Pandas Dataframe en MQL5, recopilación de datos para facilitar el uso de ML

Aprendizaje automático y Data Science (Parte 33): Pandas Dataframe en MQL5, recopilación de datos para facilitar el uso de ML

Cuando se trabaja con modelos de aprendizaje automático, es esencial garantizar la coherencia de los datos utilizados para el entrenamiento, la validación y las pruebas. En este artículo, crearemos nuestra propia versión de la biblioteca Pandas en MQL5 para garantizar un enfoque unificado para el manejo de datos de aprendizaje automático, con el fin de asegurar que se apliquen los mismos datos dentro y fuera de MQL5, donde se lleva a cabo la mayor parte del entrenamiento.
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
Algoritmo de optimización del comportamiento social adaptativo (ASBO): — Adaptive Social Behavior Optimization (ASBO): Evolución en dos fases

Algoritmo de optimización del comportamiento social adaptativo (ASBO): — Adaptive Social Behavior Optimization (ASBO): Evolución en dos fases

Este artículo supone una continuación del tema del comportamiento social de los organismos vivos y su impacto en el desarrollo de un nuevo modelo matemático: el ASBO (Adaptive Social Behavior Optimization). Así, nos sumergiremos en la evolución en dos fases, probaremos el algoritmo y sacaremos conclusiones. Al igual que en la naturaleza un grupo de organismos vivos une sus esfuerzos para sobrevivir, el ASBO utiliza los principios de comportamiento colectivo para resolver problemas de optimización complejos.
preview
Del básico al intermedio: Arrays y cadenas (III)

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

En este artículo veremos dos aspectos. El primero es cómo la biblioteca estándar puede transformar valores binarios en otras formas de representación, como el sistema octal, el sistema decimal y el sistema hexadecimal. El segundo versará sobre cómo podríamos definir el ancho de nuestra contraseña basándonos en una frase secreta, con el conocimiento mostrado hasta ahora. 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
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
Redes neuronales en el trading: Transformer para nubes de puntos (Pointformer)

Redes neuronales en el trading: Transformer para nubes de puntos (Pointformer)

En este artículo analizaremos los algoritmos necesarios para utilizar métodos de atención en la resolución de problemas de detección de objetos en nubes de puntos. La detección de objetos en nubes de puntos es bastante importante para muchas aplicaciones del mundo real.
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
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 40): SAR parabólico

Características del Wizard MQL5 que debe conocer (Parte 40): SAR parabólico

El SAR parabólico (Stop-and-Reversal, SAR) es un indicador de confirmación de tendencia y de puntos de finalización de tendencia. Debido a que es un rezagado en la identificación de tendencias, su propósito principal ha sido posicionar trailing stop loss en posiciones abiertas. Sin embargo, exploramos si realmente podría usarse como una señal de Asesor Experto, gracias a clases de señales personalizadas de Asesores Expertos ensamblados por un asistente.
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
Desarrollo de un asesor experto para el análisis de eventos de noticias basados en el calendario en MQL5

Desarrollo de un asesor experto para el análisis de eventos de noticias basados en el calendario en MQL5

La volatilidad tiende a alcanzar su punto máximo alrededor de eventos noticiosos de alto impacto, lo que crea oportunidades de ruptura significativas. En este artículo, describiremos el proceso de implementación de una estrategia de ruptura basada en el calendario. Cubriremos todo, desde la creación de una clase para interpretar y almacenar datos del calendario, el desarrollo de backtests realistas utilizando estos datos y, finalmente, la implementación del código de ejecución para operaciones en vivo.
preview
Automatización de estrategias de trading en MQL5 (Parte 10): Desarrollo de la estrategia Trend Flat Momentum

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

En este artículo, desarrollamos un Asesor Experto en MQL5 para la estrategia Trend Flat Momentum. Combinamos un cruce de dos medias móviles con filtros de impulso RSI y CCI para generar señales de trading. También cubrimos las pruebas retrospectivas y las posibles mejoras para el rendimiento en el mundo real.
preview
Redes neuronales en el trading: Integración de la teoría del caos en la previsión de series temporales (Final)

Redes neuronales en el trading: Integración de la teoría del caos en la previsión de series temporales (Final)

Seguimos integrando en los modelos comerciales los métodos propuestos por los autores del framework Attraos. Recordemos que este framework usa conceptos de la teoría del caos para resolver problemas de previsión de series temporales, interpretándolos como proyecciones de sistemas dinámicos caóticos multidimensionales.
preview
Redes neuronales en el trading: Estudio de la estructura local de datos

Redes neuronales en el trading: Estudio de la estructura local de datos

La identificación y preservación eficaz de la estructura local de los datos del mercado en condiciones de ruido es una tarea importante en el trading. El uso del mecanismo de Self-Attention ha ofrecido buenos resultados en el procesamiento de estos datos, pero el método clásico no tiene en cuenta las características locales de la estructura original. En este artículo, le propongo familiarizarse con un algoritmo que considera estas dependencias estructurales.
preview
Redes neuronales en el trading: Jerarquía de habilidades para el comportamiento adaptativo de agentes (HiSSD)

Redes neuronales en el trading: Jerarquía de habilidades para el comportamiento adaptativo de agentes (HiSSD)

Hoy nos familiarizaremos con el framework HiSSD, que combina el aprendizaje jerárquico y los enfoques multiagente para crear sistemas adaptativos. En este artículo, detallaremos cómo este enfoque innovador ayuda a identificar patrones ocultos en los mercados financieros y a optimizar las estrategias comerciales en un entorno descentralizado.
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
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
Desarrollo de un sistema de repetición (Parte 72): Una comunicación inesperada (I)

Desarrollo de un sistema de repetición (Parte 72): Una comunicación inesperada (I)

Lo que construiremos será complejo de entender. Por esta razón, en este artículo solo presentaré el inicio de la construcción. Léelo con calma, ya que es esencial comprender su contenido para pasar al siguiente paso. El objetivo de este contenido es meramente didáctico, sin aplicación práctica más allá del aprendizaje y estudio de los conceptos presentados.
preview
Desarrollo de un sistema de repetición (Parte 76): Un nuevo Chart Trade (III)

Desarrollo de un sistema de repetición (Parte 76): Un nuevo Chart Trade (III)

En este artículo, veremos cómo funciona el código faltante del artículo anterior, DispatchMessage. Aquí se introducirá el tema del próximo artículo. Por esta razón, es importante entender el funcionamiento de este procedimiento antes de pasar al siguiente tema. 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
Características del Wizard MQL5 que debe conocer (Parte 33): Núcleos de procesos gaussianos

Características del Wizard MQL5 que debe conocer (Parte 33): Núcleos de procesos gaussianos

Los núcleos del proceso gaussiano son la función de covarianza de la distribución normal que podría desempeñar un papel en el pronóstico. Exploramos este algoritmo único en una clase de señal personalizada de MQL5 para ver si podría usarse como una señal de entrada y salida principal.
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
Redes neuronales en el trading: Aprendizaje multitarea basado en el modelo ResNeXt

Redes neuronales en el trading: Aprendizaje multitarea basado en el modelo ResNeXt

El marco de aprendizaje multitarea basado en ResNeXt optimiza el análisis de datos financieros considerando su alta dimensionalidad, la no linealidad y las dependencias temporales. El uso de la convolución grupal y cabezas especializadas permite al modelo extraer eficazmente características clave de los datos de origen.
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
Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)

Desarrollo de un sistema de repetición (Parte 53): Esto complica las cosas (V)

En este artículo, presentaré un tema muy importante, que pocos comprenden realmente: Eventos personalizados. Peligros. Ventajas y fallos causados por tales elementos. Este tema es clave para quienes desean convertirse en programadores profesionales en MQL5 o en cualquier otro tipo de lenguaje. Por ello, nos centraremos en MQL5 y MetaTrader 5.
preview
Desarrollo de un sistema de repetición (Parte 69): Ajuste del tiempo (II)

Desarrollo de un sistema de repetición (Parte 69): Ajuste del tiempo (II)

Aquí entenderemos por qué necesitamos utilizar la función iSpread. Al mismo tiempo, comprenderemos cómo el sistema nos informa del tiempo restante de la barra cuando no hay ticks disponibles para hacerlo. El contenido presentado aquí tiene como único propósito la enseñanza y la didáctica. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Del básico al intermedio: Arrays y cadenas (I)

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

En este artículo, empezaremos a explorar algunos tipos especiales de datos. Empezaremos definiendo qué es una cadena de texto (string) y explicando cómo utilizar algunos procedimientos básicos. Esto nos permitirá trabajar con este tipo de dato, que puede resultar curioso, aunque en ciertos momentos puede resultar un poco confuso para principiantes. 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
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.