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
Equilibrio de riesgos en la negociación simultánea de varios instrumentos comerciales

Equilibrio de riesgos en la negociación simultánea de varios instrumentos comerciales

Este artículo permitirá a los principiantes escribir desde cero la implementación de un script para el equilibrio de riesgos en la negociación simultánea de varios instrumentos comerciales, mientras que los usuarios experimentados podrán obtener nuevas ideas para la implementación de sus soluciones en cuanto a las opciones propuestas en este artículo.
preview
El papel de la calidad del generador de números aleatorios en la eficiencia de los algoritmos de optimización

El papel de la calidad del generador de números aleatorios en la eficiencia de los algoritmos de optimización

En este artículo, analizaremos el generador de números aleatorios Mersenne Twister y lo compararemos con el estándar en MQL5. También determinaremos la influencia de la calidad del generador de números aleatorios en los resultados de los algoritmos de optimización.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 03):  Haciendo ajustes (I)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 03): Haciendo ajustes (I)

Pongamos las cosas en su sitio, porque este comienzo no ha sido de los mejores. Si no lo hacemos ahora, pronto tendremos problemas.
preview
Redes neuronales: así de sencillo (Parte 68): Optimización de políticas offline basada en preferencias

Redes neuronales: así de sencillo (Parte 68): Optimización de políticas offline basada en preferencias

Desde los primeros artículos sobre el aprendizaje por refuerzo, hemos tocado de un modo u otro dos problemas: la exploración del entorno y la definición de la función de recompensa. Los artículos más recientes se han centrado en el problema de la exploración en el aprendizaje offline. En este artículo, queremos presentar un algoritmo cuyos autores han abandonado por completo la función de recompensa.
preview
Algoritmo de optimización de reacciones químicas (CRO) (Parte II): Ensamblaje y resultados

Algoritmo de optimización de reacciones químicas (CRO) (Parte II): Ensamblaje y resultados

En la segunda parte, reuniremos los operadores químicos en un único algoritmo y presentaremos un análisis detallado de sus resultados. Descubramos cómo el método de optimización de reacciones químicas (CRO) aborda la solución de problemas complejos en funciones de prueba.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 5): Volatility Navigator EA

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 5): Volatility Navigator EA

Determinar la dirección del mercado puede ser sencillo, pero saber cuándo entrar puede resultar complicado. Como parte de la serie titulada «Desarrollo de un kit de herramientas para el análisis de la acción del precio», me complace presentar otra herramienta que proporciona puntos de entrada, niveles de toma de ganancias y colocación de órdenes stop loss. Para lograrlo, hemos utilizado el lenguaje de programación MQL5. Profundicemos en cada paso de este artículo.
preview
Un algoritmo de selección de características que utiliza aprendizaje basado en energía en MQL5 puro

Un algoritmo de selección de características que utiliza aprendizaje basado en energía en MQL5 puro

En este artículo presentamos la implementación de un algoritmo de selección de características descrito en un artículo académico titulado "FREL: Un algoritmo de selección de características estable", llamado Ponderación de características como aprendizaje regularizado basado en energía.
preview
Desarrollo de un sistema de repetición (Parte 35): Haciendo retoques (I)

Desarrollo de un sistema de repetición (Parte 35): Haciendo retoques (I)

Tenemos que arreglar algunas cosas antes de poder continuar de verdad. Pero no es necesariamente una corrección, sino una mejora en la forma de gestionar y utilizar la clase. La razón es que hay fallos debidos a algún tipo de interacción dentro del sistema. A pesar de los intentos de comprender la razón de algunos de los fallos, para ponerles fin, todos ellos se vieron frustrados, ya que algunos no tenían sentido. Cuando usamos punteros o recursión en C / C++, y el programa empieza a fallar.
preview
Aprendizaje automático y Data Science (Parte 25): Predicción de series temporales de divisas mediante una red neuronal recurrente (RNN)

Aprendizaje automático y Data Science (Parte 25): Predicción de series temporales de divisas mediante una red neuronal recurrente (RNN)

Las redes neuronales recurrentes (RNNs, Recurrent Neural Networks) destacan por aprovechar la información del pasado para predecir acontecimientos futuros. Sus notables capacidades predictivas se han aplicado en diversos ámbitos con gran éxito. En este artículo, utilizaremos modelos RNN para predecir tendencias en el mercado de divisas, demostrando su potencial para mejorar la precisión de las predicciones en el comercio de divisas.
preview
MQL5 Wizard techniques you should know (Part 49): Aprendizaje por refuerzo con optimización de políticas proximales

MQL5 Wizard techniques you should know (Part 49): Aprendizaje por refuerzo con optimización de políticas proximales

La optimización de políticas proximales es otro algoritmo del aprendizaje por refuerzo que actualiza la política, a menudo en forma de red, en pasos incrementales muy pequeños para garantizar la estabilidad del modelo. Examinamos cómo esto podría ser útil, tal y como hemos hecho en artículos anteriores, en un asesor experto creado mediante un asistente.
preview
Asesor Experto Grid-Hedge Modificado en MQL5 (Parte IV): Optimización de la estrategia de cuadrícula simple (I)

Asesor Experto Grid-Hedge Modificado en MQL5 (Parte IV): Optimización de la estrategia de cuadrícula simple (I)

En esta cuarta parte, revisamos los asesores expertos (EA) Simple Hedge y Simple Grid desarrollados anteriormente. Nuestro enfoque se centra en perfeccionar Simple Grid EA a través del análisis matemático y un enfoque de fuerza bruta, apuntando al uso óptimo de la estrategia. Este artículo profundiza en la optimización matemática de la estrategia, preparando el escenario para la futura exploración de la optimización basada en codificación en entregas posteriores.
preview
Del básico al intermedio: Comando IF ELSE

Del básico al intermedio: Comando IF ELSE

En este artículo veremos cómo trabajar con el comando IF y su compañero ELSE. Este es el comando más importante y significativo que existe en cualquier lenguaje de programación. Sin embargo, aunque es muy sencillo de usar, a veces genera cierta confusión cuando nos falta experiencia en su uso y en los conceptos asociados. 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
Teoría de categorías en MQL5 (Parte 18): Cuadrado de la naturalidad

Teoría de categorías en MQL5 (Parte 18): Cuadrado de la naturalidad

El artículo continúa la serie sobre teoría de categorías, presentando transformaciones naturales que suponen un elemento clave de la teoría. Hoy echaremos un vistazo a su definición (aparentemente compleja) y luego profundizaremos en los ejemplos y métodos de aplicación de las transformaciones para pronosticar la volatilidad.
preview
Algoritmo de colmena artificial — Artificial Bee Hive Algorithm (ABHA): Pruebas y resultados

Algoritmo de colmena artificial — Artificial Bee Hive Algorithm (ABHA): Pruebas y resultados

En este artículo, continuaremos analizando el algoritmo de colmena artificial ABHA profundizando en la codificación y observando los métodos restantes. Recordemos que cada abeja en el modelo está representada como un agente individual cuyo comportamiento dependerá de información interna y externa, así como del estado motivacional. Probaremos el algoritmo con varias funciones y resumiremos los resultados presentándolos en una tabla de calificación.
preview
Características del Wizard MQL5 que debe conocer (Parte 34): Incorporación de precios con un RBM no convencional

Características del Wizard MQL5 que debe conocer (Parte 34): Incorporación de precios con un RBM no convencional

Las Máquinas de Boltzmann Restringidas (Restricted Boltzmann Machines, RBMs) son un tipo de red neuronal desarrollada a mediados de la década de 1980, en una época en la que los recursos computacionales eran extremadamente costosos.. Desde sus inicios, se basó en el muestreo de Gibbs y la divergencia contrastiva para reducir la dimensionalidad o capturar las probabilidades y propiedades ocultas en los conjuntos de datos de entrenamiento. Analizamos cómo la retropropagación puede lograr un rendimiento similar cuando la RBM "incorpora" precios en un perceptrón multicapa para pronósticos.
preview
Optimización con el juego del caos — Game Optimization (CGO)

Optimización con el juego del caos — Game Optimization (CGO)

Hoy presentamos el nuevo algoritmo metaheurístico de Chaos Game Optimisation (CGO), que demuestra una capacidad única para mantener una alta eficiencia al trabajar con problemas de alta dimensionalidad. A diferencia de la mayoría de los algoritmos de optimización, el CGO no solo no pierde rendimiento, sino que a veces incluso lo aumenta cuando se escala el problema, lo cual supone su característica clave.
preview
Hibridación de algoritmos basados en poblaciones. Esquema secuencial y paralelo

Hibridación de algoritmos basados en poblaciones. Esquema secuencial y paralelo

En este artículo, nos sumergiremos en el mundo de la hibridación de algoritmos de optimización analizando tres tipos clave: la mezcla de estrategias y la hibridación secuencial y paralela. Asimismo, realizaremos una serie de experimentos combinando y probando los algoritmos de optimización correspondientes.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 8): Desarrollo de un asesor experto (I)

Creación de un modelo de restricción de tendencia de velas (Parte 8): Desarrollo de un asesor experto (I)

En esta discusión, crearemos nuestro primer Asesor Experto en MQL5 basado en el indicador que creamos en el artículo anterior. Cubriremos todas las características necesarias para automatizar el proceso, incluida la gestión de riesgos. Esto beneficiará ampliamente a los usuarios para pasar de la ejecución manual de operaciones a sistemas automatizados.
preview
Aprendiendo MQL5 de principiante a profesional (Parte V): Operadores básicos para redirigir el flujo de comandos

Aprendiendo MQL5 de principiante a profesional (Parte V): Operadores básicos para redirigir el flujo de comandos

Este artículo trata de los operadores básicos para cambiar el flujo de ejecución: condiciones, ciclos y el operador switch. El uso de estos operadores añadirá la capacidad de que las funciones que creemos actúen de forma "inteligente".
preview
Del básico al intermedio: Unión (II)

Del básico al intermedio: Unión (II)

Este será un artículo muy divertido y bastante curioso, en varios aspectos. Abordará la unión, para resolver un problema discutido anteriormente. Además, exploraremos algunas situaciones inusuales que pueden surgir al usar una unión en aplicaciones. El contenido expuesto aquí tiene, pura y simplemente, una finalidad didáctica. En ningún caso debe considerarse como una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
preview
Reimaginando las estrategias clásicas en MQL5 (Parte XI): Cruce de medias móviles (II)

Reimaginando las estrategias clásicas en MQL5 (Parte XI): Cruce de medias móviles (II)

Las medias móviles y el oscilador estocástico podrían utilizarse para generar señales de trading que sigan la tendencia. Sin embargo, estas señales solo se observarán después de que se haya producido la acción del precio. Podemos superar eficazmente este retraso inherente a los indicadores técnicos utilizando la inteligencia artificial. Este artículo le enseñará cómo crear un asesor experto totalmente autónomo impulsado por IA de una manera que pueda mejorar cualquiera de sus estrategias de trading existentes. Incluso la estrategia comercial más antigua posible se puede mejorar.
preview
Características del Wizard MQL5 que debe conocer (Parte 53): Market Facilitation Index (MFI)

Características del Wizard MQL5 que debe conocer (Parte 53): Market Facilitation Index (MFI)

El Market Facilitation Index (MFI) es otro indicador de Bill Williams que tiene como objetivo medir la eficiencia del movimiento de los precios en relación con el volumen. Como siempre, analizamos los distintos patrones de este indicador dentro de los límites de una clase de señales de ensamblaje del asistente y presentamos una variedad de informes de pruebas y análisis para los distintos patrones.
preview
Redes neuronales: así de sencillo (Parte 95): Reducción del consumo de memoria en los modelos de transformadores

Redes neuronales: así de sencillo (Parte 95): Reducción del consumo de memoria en los modelos de transformadores

Los modelos basados en la arquitectura de transformadores demuestran una gran eficacia, pero su uso se complica por el elevado coste de los recursos tanto en la fase de formación como durante el funcionamiento. En este artículo, propongo familiarizarse con los algoritmos que permiten reducir el uso de memoria de tales modelos.
preview
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 5)

Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 5)

El presente artículo supone la quinta parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT 5.0. Hoy describiremos la estructura de los paquetes PUBLISH: cómo establecemos sus banderas de publicación (Publish Flags), codificamos cadenas de nombres de temas y establecemos IDs de paquetes cuando es necesario.
preview
Redes neuronales en el trading: Transformador vectorial jerárquico (HiVT)

Redes neuronales en el trading: Transformador vectorial jerárquico (HiVT)

Hoy proponemos al lector introducir el método del transformador vectorial jerárquico (HiVT), desarrollado para la previsión rápida y precisa de series temporales multimodales.
preview
Algoritmo de optimización de Escalera Real - Royal Flush Optimisation (RFO)

Algoritmo de optimización de Escalera Real - Royal Flush Optimisation (RFO)

El algoritmo Royal Flush Optimization del autor ofrece una nueva perspectiva en la resolución de problemas de optimización sustituyendo la clásica codificación binaria de los algoritmos genéticos por un enfoque basado en sectores e inspirado en los principios del póquer. El RFO demuestra cómo la simplificación de los principios básicos puede dar lugar a un método de optimización eficaz y práctico. El artículo presenta un análisis detallado del algoritmo y los resultados de las pruebas.
preview
Desarrollo de un sistema de repetición (Parte 75): Un nuevo Chart Trade (II)

Desarrollo de un sistema de repetición (Parte 75): Un nuevo Chart Trade (II)

En este artículo explicaré gran parte de la clase C_ChartFloatingRAD. Esta es la encargada de hacer que Chart Trade funcione. Sin embargo, no terminaré la explicación aquí. La finalizaré en el próximo artículo, ya que el contenido de este es bastante denso y necesita ser comprendido a fondo. El contenido expuesto aquí tiene como único objetivo la enseñanza. En ningún caso debe considerarse como una aplicación cuya finalidad sea distinta a la enseñanza y el estudio de los conceptos mostrados.
preview
Características del Wizard MQL5 que debe conocer (Parte 29): Continuación sobre las tasas de aprendizaje con MLP

Características del Wizard MQL5 que debe conocer (Parte 29): Continuación sobre las tasas de aprendizaje con MLP

Concluimos nuestro análisis de la sensibilidad de la tasa de aprendizaje al rendimiento de los Asesores Expertos examinando principalmente las Tasas de Aprendizaje Adaptativo. Estas tasas de aprendizaje pretenden personalizarse para cada parámetro de una capa durante el proceso de entrenamiento, por lo que evaluamos los beneficios potenciales frente al peaje de rendimiento esperado.
preview
Inferencia causal en problemas de clasificación de series temporales

Inferencia causal en problemas de clasificación de series temporales

En este artículo, examinaremos la teoría de la inferencia causal utilizando el aprendizaje automático, así como la implementación del enfoque personalizado en Python. La inferencia causal y el pensamiento causal tienen sus raíces en la filosofía y la psicología y desempeñan un papel importante en nuestra comprensión de la realidad.
preview
Encabezado en Connexus (Parte 3): Dominando el uso de encabezado HTTP para solicitudes WebRequest

Encabezado en Connexus (Parte 3): Dominando el uso de encabezado HTTP para solicitudes WebRequest

Continuamos desarrollando la biblioteca Connexus. En este capítulo, exploramos el concepto de cabeceras en el protocolo HTTP, explicando qué son, para qué sirven y cómo usarlos en las solicitudes. Cubrimos los principales encabezados utilizados en las comunicaciones con API y mostramos ejemplos prácticos de cómo configurarlos en la biblioteca.
preview
Filtrado de estacionalidad y período de tiempo para modelos de Deep Learning ONNX con Python para EA

Filtrado de estacionalidad y período de tiempo para modelos de Deep Learning ONNX con Python para EA

¿Podemos beneficiarnos de la estacionalidad al crear modelos para Deep Learning con Python? ¿Ayuda el filtrado de datos para los modelos ONNX a obtener mejores resultados? ¿Qué periodo de tiempo debemos utilizar? Trataremos todo esto a lo largo de este artículo.
preview
Optimización del búfalo africano - African Buffalo Optimization (ABO)

Optimización del búfalo africano - African Buffalo Optimization (ABO)

El artículo se centra en el algoritmo de optimización del búfalo africano (ABO), un enfoque metaheurístico desarrollado en 2015 y basado en el comportamiento único de estos animales. El artículo detalla los pasos de implementación del algoritmo y su eficacia a la hora de encontrar soluciones a problemas complejos, lo cual lo convierte en una valiosa herramienta en el campo de la optimización.
preview
Añadimos un LLM personalizado a un robot comercial (Parte 4): Entrena tu propio LLM con GPU

Añadimos un LLM personalizado a un robot comercial (Parte 4): Entrena tu propio LLM con GPU

Con el rápido desarrollo de la inteligencia artificial en la actualidad, los modelos lingüísticos (LLM) son una parte importante de la inteligencia artificial, por lo que deberíamos pensar en cómo integrar potentes LLM en nuestras operaciones algorítmicas. Para la mayoría de la gente, es difícil ajustar estos potentes modelos a sus necesidades, desplegarlos localmente y luego aplicarlos a la negociación algorítmica. Esta serie de artículos abordará paso a paso la consecución de este objetivo.
preview
Redes neuronales en el trading: Transformador contrastivo de patrones (Final)

Redes neuronales en el trading: Transformador contrastivo de patrones (Final)

En el último artículo de nuestra serie, analizamos el framework Atom-Motif Contrastive Transformer (AMCT), que usa el aprendizaje contrastivo para identificar patrones clave a todos los niveles, desde los elementos básicos hasta las estructuras complejas. En este artículo, continuaremos con la implementación de los enfoques AMCT usando MQL5.
preview
De Python a MQL5: Un viaje hacia los sistemas de trading inspirados en la cuántica

De Python a MQL5: Un viaje hacia los sistemas de trading inspirados en la cuántica

El artículo analiza el desarrollo de un sistema de negociación inspirado en la cuántica, pasando de un prototipo en Python a una implementación en MQL5 para la negociación en el mundo real. El sistema utiliza principios de computación cuántica, como la superposición y el entrelazamiento, para analizar los estados del mercado, aunque funciona en ordenadores clásicos utilizando simuladores cuánticos. Las características principales incluyen un sistema de tres qubits para analizar ocho estados del mercado simultáneamente, períodos de revisión de 24 horas y siete indicadores técnicos para el análisis del mercado. Aunque los índices de precisión puedan parecer modestos, proporcionan una ventaja significativa cuando se combinan con estrategias adecuadas de gestión de riesgos.
preview
DoEasy. Elementos de control (Parte 18): Preparamos la funcionalidad para el scrolling de las pestañas en TabControl

DoEasy. Elementos de control (Parte 18): Preparamos la funcionalidad para el scrolling de las pestañas en TabControl

En este artículo colocaremos los botones de control de scrolling del encabezado en el objeto WinForms TabControl en su lugar en caso de que la fila del encabezado no se ajuste al tamaño del control, y haremos que la fila del encabezado se desplace al clicar en un encabezado de pestaña recortado.
preview
Características del Wizard MQL5 que debe conocer (Parte 24): Medias móviles

Características del Wizard MQL5 que debe conocer (Parte 24): Medias móviles

Las medias móviles son un indicador muy común que la mayoría de los operadores utilizan y comprenden. Exploramos posibles casos de uso menos comunes dentro de los Asesores Expertos disponibles en el Asistente de MQL5.
preview
Del básico al intermedio: Indicador (I)

Del básico al intermedio: Indicador (I)

En este artículo, crearemos nuestro primer indicador, que será totalmente práctico y funcional. El objetivo no es mostrar cómo se crea una aplicación, sino ayudarte a entender cómo puedes desarrollar tus propias ideas. El objetivo es que puedas ponerlas en práctica de forma segura, simple y práctica.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 10): Sólo datos reales para la repetición
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 10): Sólo datos reales para la repetición

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 10): Sólo datos reales para la repetición

Aquí veremos cómo se pueden utilizar datos más fiables (ticks negociados) en el sistema de repetición, sin tener que preocuparnos necesariamente de si están ajustados o no.
preview
DoEasy. Elementos de control (Parte 22): SplitContainer. Cambiando las propiedades del objeto creado

DoEasy. Elementos de control (Parte 22): SplitContainer. Cambiando las propiedades del objeto creado

En este artículo, implementaremos la capacidad de cambiar las propiedades y el aspecto del control SplitContainer después de haberlo creado.