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
Analizamos el código binario de los precios en bolsa (Parte I): Una nueva visión del análisis técnico

Analizamos el código binario de los precios en bolsa (Parte I): Una nueva visión del análisis técnico

En este artículo presentaremos un enfoque innovador del análisis técnico basado en la conversión de los movimientos de los precios en código binario. El autor demostrará cómo diversos aspectos del comportamiento de los mercados -desde simples movimientos de precios hasta patrones complejos- pueden codificarse en una secuencia de ceros y unos.
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 Tribu Artificial (Artificial Tribe Algorithm, ATA)

Algoritmo de Tribu Artificial (Artificial Tribe Algorithm, ATA)

Este artículo detalla los componentes clave y las innovaciones del algoritmo de optimización ATA, un método evolutivo con un sistema de comportamiento dual único que se adapta según la situación. Usando el cruce para la exploración en profundidad y la migración para la búsqueda cuando se dan atascos en óptimos locales, el ATA combina el aprendizaje individual y el social.
preview
Características del Wizard MQL5 que debe conocer (Parte 15): Máquinas de vectores de soporte utilizando el polinomio de Newton

Características del Wizard MQL5 que debe conocer (Parte 15): Máquinas de vectores de soporte utilizando el polinomio de Newton

Las máquinas de vectores de soporte clasifican los datos en función de clases predefinidas explorando los efectos de aumentar su dimensionalidad. Se trata de un método de aprendizaje supervisado bastante complejo dado su potencial para tratar datos multidimensionales. Para este artículo consideramos cómo su implementación muy básica de datos bidimensionales puede hacerse más eficientemente con el polinomio de Newton al clasificar precio-acción.
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.
preview
Redes generativas antagónicas (GAN) para datos sintéticos en modelos financieros (Parte 1): Introducción a las GAN y los datos sintéticos en modelos financieros

Redes generativas antagónicas (GAN) para datos sintéticos en modelos financieros (Parte 1): Introducción a las GAN y los datos sintéticos en modelos financieros

Este artículo presenta a los operadores bursátiles las redes generativas antagónicas (Generative Adversarial Networks, GAN) para generar datos financieros sintéticos, abordando las limitaciones de datos en el entrenamiento de modelos. Este artículo presenta a los operadores bursátiles las redes generativas antagónicas (GAN) para generar datos financieros sintéticos, abordando las limitaciones de datos en el entrenamiento de modelos.
preview
Características del Wizard MQL5 que debe conocer (Parte 46): Ichimoku Kinko Hyo (IKH)

Características del Wizard MQL5 que debe conocer (Parte 46): Ichimoku Kinko Hyo (IKH)

El Ichimoku Kinko Hyo (IKH) es un reconocido indicador japonés que sirve como sistema de identificación de tendencias. Examinamos esto, patrón por patrón, como ha sido el caso en artículos similares anteriores, y también evaluamos sus estrategias e informes de pruebas con la ayuda de las clases de la biblioteca del asistente MQL5 y el ensamblaje.
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: 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
Redes neuronales en el trading: Segmentación guiada

Redes neuronales en el trading: Segmentación guiada

Hoy proponemos al lector familiarizarse con el método de análisis multimodal complejo de interacción y comprensión de características.
preview
Redes neuronales en el trading: Aprendizaje contextual aumentado por memoria (MacroHFT)

Redes neuronales en el trading: Aprendizaje contextual aumentado por memoria (MacroHFT)

Hoy le propongo familiarizarse con el framework MacroHFT, que aplica el aprendizaje por refuerzo dependiente del contexto y la memoria para mejorar las decisiones en el comercio de criptodivisas de alta frecuencia utilizando datos macroeconómicos y agentes adaptativos.
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
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: 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
Elementos del análisis de correlación en MQL5: Prueba chi-cuadrado de Pearson de independencia y ratio de correlación.

Elementos del análisis de correlación en MQL5: Prueba chi-cuadrado de Pearson de independencia y ratio de correlación.

El artículo analiza las herramientas clásicas del análisis de correlaciones. Se hace hincapié en los breves antecedentes teóricos, así como en la aplicación práctica de la prueba de independencia chi-cuadrado de Pearson y la ratio de correlación.
preview
Asistente de Connexus (Parte 5): Métodos HTTP y códigos de estado

Asistente de Connexus (Parte 5): Métodos HTTP y códigos de estado

En este artículo, comprenderemos los métodos HTTP y los códigos de estado, dos piezas muy importantes de la comunicación entre el cliente y el servidor en la web. Comprender lo que hace cada método le brinda el control para realizar solicitudes con mayor precisión, informando al servidor qué acción desea realizar y haciéndolo más eficiente.
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
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
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: 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: 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
Del básico al intermedio: Plantilla y Typename (I)

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

En este artículo, comenzaremos a tratar uno de los conceptos que muchos principiantes evitan. Esto se debe a que las plantillas no son un tema sencillo de entender y utilizar, ya que muchos no comprenden el principio básico detrás de lo que sería una plantilla: la sobrecarga de funciones y procedimientos.
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: Transformer parámetro-eficiente con atención segmentada (Final)

Redes neuronales en el trading: Transformer parámetro-eficiente con atención segmentada (Final)

En artículos anteriores, revisamos los aspectos teóricos del framework PSformer, que incluye dos importantes innovaciones en la arquitectura del Transformer clásico: el mecanismo de compartición de parámetros (PS) y la atención a los segmentos espaciotemporales (SegAtt). En este artículo, continuaremos el trabajo sobre la implementación de los enfoques propuestos mediante MQL5.
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
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
Ingeniería de características con Python y MQL5 (Parte II): El ángulo del precio

Ingeniería de características con Python y MQL5 (Parte II): El ángulo del precio

Hay muchas publicaciones en el foro MQL5 pidiendo ayuda para calcular la pendiente de los cambios de precios. Este artículo demostrará una forma posible de calcular el ángulo formado por los cambios de precio en cualquier mercado en el que desee operar. Además, responderemos si vale la pena invertir el esfuerzo y el tiempo extra para diseñar esta nueva característica. Exploraremos si la pendiente del precio puede mejorar la precisión de nuestro modelo de IA al pronosticar el par USDZAR en M1.
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
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
Características del Wizard MQL5 que debe conocer (Parte 43): Aprendizaje por refuerzo con SARSA

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

SARSA, que es la abreviatura de State-Action-Reward-State-Action (Estado-Acción-Recompensa-Estado-Acción), es otro algoritmo que se puede utilizar al implementar el aprendizaje por refuerzo. Por lo tanto, tal y como vimos con Q-Learning y DQN, analizamos cómo se podría explorar e implementar esto como un modelo independiente, en lugar de solo como un mecanismo de entrenamiento, en los asesores expertos ensamblados por el asistente.
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
Del básico al intermedio: Recursividad

Del básico al intermedio: Recursividad

En este artículo, veremos un concepto de programación muy interesante y bastante divertido, aunque debe ser tratado con extremo respeto, ya que un mal uso o un mal entendimiento del mismo convierte programas relativamente simples en algo innecesariamente complicado. Aunque, el buen uso y la perfecta adecuación en situaciones igualmente adecuadas convierten la recursividad en un gran aliado para resolver cuestiones que, de otra forma, serían mucho más trabajosas y demoradas. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe ser considerado como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
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
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
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
Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoría

Optimización del modelo de nubes atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoría

Este artículo se centra en el algoritmo metaheurístico Atmosphere Clouds Model Optimisation (ACMO), que modela el comportamiento de las nubes para resolver problemas de optimización. El algoritmo usa los principios de generación, movimiento y propagación de nubes, adaptándose a las "condiciones meteorológicas" del espacio de soluciones. El artículo revela cómo una simulación meteorológica del algoritmo encuentra soluciones óptimas en un espacio de posibilidades complejo y detalla las etapas del ACMO, incluida la preparación del "cielo", el nacimiento de las nubes, su movimiento y la concentración de la lluvia.
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
Del básico al intermedio: Array (III)

Del básico al intermedio: Array (III)

En este artículo, veremos cómo trabajar con arrays en MQL5, hasta el punto de transferir información entre funciones y procedimientos mediante arrays. El objetivo es prepararte para lo que se verá y explicará en artículos futuros. No obstante, es extremadamente recomendable que estudies muy bien lo que se mostrará en este artículo.
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
Análisis de múltiples símbolos con Python y MQL5 (Parte II): Análisis de componentes principales para la optimización de carteras

Análisis de múltiples símbolos con Python y MQL5 (Parte II): Análisis de componentes principales para la optimización de carteras

La gestión del riesgo de las cuentas de trading es un reto para todos los operadores. ¿Cómo podemos desarrollar aplicaciones de trading que aprendan dinámicamente los modos de riesgo alto, medio y bajo para diversos símbolos en MetaTrader 5? Al utilizar el Análisis de Componentes Principales (Principal Components Analysis, PCA), obtenemos un mejor control sobre la variación de la cartera. Demostraré cómo crear aplicaciones que aprendan estos tres modos de riesgo a partir de datos de mercado obtenidos de MetaTrader 5.