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
Cómo construir un EA que opere automáticamente (Parte 10): Automatización (II)

Cómo construir un EA que opere automáticamente (Parte 10): Automatización (II)

La automatización no significa nada si no se puede controlar el horario. Ningún trabajador puede ser eficiente trabajando 24 horas al día. Sin embargo, muchos creen que un sistema automatizado debe trabajar 24 horas al día. Siempre es bueno tener formas de configurar una franja horaria para el Expert Advisor. En este artículo, vamos a discutir cómo agregar correctamente tal franja horaria.
preview
Algoritmos de optimización de la población: Algoritmo de salto de rana aleatorio (Shuffled Frog-Leaping, SFL)

Algoritmos de optimización de la población: Algoritmo de salto de rana aleatorio (Shuffled Frog-Leaping, SFL)

El artículo presenta una descripción detallada del algoritmo de salto de rana aleatorio (SFL) y sus capacidades para resolver problemas de optimización. El algoritmo SFL se inspira en el comportamiento de las ranas en su entorno natural y ofrece un enfoque innovador para la optimización de características. El algoritmo SFL supone una herramienta eficaz y flexible que puede gestionar una gran variedad de tipos de datos y alcanzar soluciones óptimas.
preview
Redes neuronales: así de sencillo (Parte 17): Reducción de la dimensionalidad

Redes neuronales: así de sencillo (Parte 17): Reducción de la dimensionalidad

Seguimos analizando modelos de inteligencia artificial, y en particular, los algoritmos de aprendizaje no supervisado. Ya nos hemos encontrado con uno de los algoritmos de clusterización. Y en este artículo queremos compartir con ustedes una posible solución a los problemas de la reducción de la dimensionalidad.
preview
Aprendiendo MQL5 de principiante a profesional (Parte III): Tipos de datos complejos y archivos de inclusión

Aprendiendo MQL5 de principiante a profesional (Parte III): Tipos de datos complejos y archivos de inclusión

Este artículo es el tercero de una serie de materiales sobre los principales aspectos de la programación en MQL5. Aquí nos encargaremos de tipos de datos complejos que no describimos en el artículo anterior, como estructuras, uniones, clases y el tipo de datos "función". También veremos cómo añadir modularidad a nuestro programa utilizando la directiva #include del preprocesador.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 7): Perfeccionamos nuestro modelo de desarrollo de la EA

Creación de un modelo de restricción de tendencia de velas (Parte 7): Perfeccionamos nuestro modelo de desarrollo de la EA

En este artículo, profundizaremos en la preparación detallada de nuestro indicador para el desarrollo del Asesor Experto (EA). Nuestro debate abarcará mejoras adicionales en la versión actual del indicador para mejorar su precisión y funcionalidad. Además, introduciremos nuevas características que marcan puntos de salida, abordando una limitación de la versión anterior, que solo identificaba puntos de entrada.
Algoritmos de optimización de la población
Algoritmos de optimización de la población

Algoritmos de optimización de la población

Artículo de introducción a los algoritmos de optimización (AO). Clasificación. En el artículo, intentaremos crear un banco de pruebas (un conjunto de funciones) que servirá en el futuro para comparar los AO entre sí, e incluso, quizás, para identificar el algoritmo más universal de todos los ampliamente conocidos.
preview
Desarrollo y prueba de los sistemas comerciales Aroon

Desarrollo y prueba de los sistemas comerciales Aroon

En este artículo, aprenderemos a construir un sistema comercial Aroon, aprendiendo asimilando los fundamentos de los indicadores y los pasos necesarios para crear un sistema comercial basado en el indicador Aroon. Una vez creado este sistema comercial, comprobaremos si puede ser rentable o necesita una mayor optimización.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 52): Concepto multiplataforma de indicadores estándar de período y símbolo múltiples de búfer único

Trabajando con las series temporales en la biblioteca DoEasy (Parte 52): Concepto multiplataforma de indicadores estándar de período y símbolo múltiples de búfer único

En el presente artículo, vamos a considerar la creación del indicador estándar de período y símbolo múltiples Accumulation/Distribution. Vamos a mejorar un poco las clases de la biblioteca en cuanto a los indicadores para que los programas escritos para la plataforma obsoleta MetaTrader 4 y basados en la biblioteca en cuestión puedan funcionar sin problema cuando los usamos en MetaTrader 5.
preview
Características del Wizard MQL5 que debe conocer (Parte 04): Análisis Discriminante Lineal

Características del Wizard MQL5 que debe conocer (Parte 04): Análisis Discriminante Lineal

El tráder moderno está casi siempre a la búsqueda de nuevas ideas, probando constantemente nuevas estrategias, modificándolas y descartando las que han fracasado. En esta serie de artículos, trataremos de demostrar que el Wizard MQL5 es la verdadera columna vertebral para un tráder en su búsqueda.
preview
Cómo crear un diario de operaciones con MetaTrader y Google Sheets

Cómo crear un diario de operaciones con MetaTrader y Google Sheets

Crear un diario de operaciones con MetaTrader y Google Sheets! Aprenderá cómo sincronizar sus datos comerciales a través de HTTP POST y recuperarlos mediante solicitudes HTTP. Al final, tendrás un diario de operaciones que te ayudará a realizar un seguimiento de tus operaciones de manera eficaz y eficiente.
preview
Redes neuronales: así de sencillo (Parte 30): Algoritmos genéticos

Redes neuronales: así de sencillo (Parte 30): Algoritmos genéticos

En el artículo de hoy, hablaremos de un método de aprendizaje ligeramente distinto. Podríamos decir que lo hemos tomado de la teoría de la evolución de Darwin. Probablemente resulte menos controlable que los métodos anteriormente mencionados, pero también nos permite entrenar modelos indiferenciados.
preview
Procesos no estacionarios y regresión espuria

Procesos no estacionarios y regresión espuria

El presente artículo pretende demostrar la aparición de regresiones espurias cuando se intenta aplicar el análisis de regresión a procesos no estacionarios utilizando la simulación de Montecarlo.
preview
Cómo construir y optimizar un sistema de trading basado en la volatilidad (Chaikin Volatility - CHV)

Cómo construir y optimizar un sistema de trading basado en la volatilidad (Chaikin Volatility - CHV)

En este artículo, proporcionaremos otro indicador basado en la volatilidad llamado Chaikin Volatility. Entenderemos cómo construir un indicador personalizado después de identificar cómo se puede utilizar y construir. Compartiremos algunas estrategias sencillas que se pueden utilizar y luego las pondremos a prueba para entender cuál puede ser mejor.
preview
Análisis cuantitativo en MQL5: implementamos un algoritmo prometedor

Análisis cuantitativo en MQL5: implementamos un algoritmo prometedor

Hoy veremos qué es el análisis cuantitativo, cómo lo utilizan los grandes jugadores y crearemos uno de los algoritmos de análisis cuantitativo en MQL5.
preview
Desarrollo de un EA comercial desde cero (Parte 27): Rumbo al futuro (II)

Desarrollo de un EA comercial desde cero (Parte 27): Rumbo al futuro (II)

Sigamos avanzando hacia un sistema de órdenes más completo directamente en el gráfico. En este artículo les mostraré una forma de corregir o, más bien, de hacer que el sistema de órdenes sea más intuitivo.
preview
Experimentos con redes neuronales (Parte 7): Transmitimos indicadores

Experimentos con redes neuronales (Parte 7): Transmitimos indicadores

Ejemplos de transmisión de indicadores a un perceptrón. En el artículo ofreceremos conceptos generales y presentaremos un asesor listo para usar muy simple, así como los resultados de su optimización y sus pruebas forward.
Otras clases en la biblioteca DoEasy (Parte 69): Clases de colección de objetos de gráfico
Otras clases en la biblioteca DoEasy (Parte 69): Clases de colección de objetos de gráfico

Otras clases en la biblioteca DoEasy (Parte 69): Clases de colección de objetos de gráfico

A partir de este artículo, comenzaremos el desarrollo de una colección de clases de objetos de gráfico que almacenará una colección de lista de objetos de gráfico con sus subventanas y los indicadores en ellas, y nos permitirá trabajar con cualquier gráfico seleccionado y sus subventanas, o bien directamente con una lista de varios gráficos al mismo tiempo.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 16): Un nuevo sistema de clases

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 16): Un nuevo sistema de clases

Precisamos organizarnos mejor. El código está creciendo y si no lo organizamos ahora, será imposible hacerlo después. Así que vamos a dividir para conquistar. El hecho de que MQL5 nos permita usar clases nos ayudará en esta tarea. Pero para hacerlo, es necesario que tengas algún conocimiento sobre algunas cosas relacionadas con las clases. Y tal vez lo que más confunde a los aspirantes y principiantes es la herencia. Así que en este artículo, te mostraré de manera práctica y sencilla cómo usar estos mecanismos.
Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos
Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos

Gráficos en la biblioteca DoEasy (Parte 87): Colección de objetos gráficos - control de la modificación de propiedades en todos los gráficos abiertos

En este artículo, continuaremos trabajando en el monitoreo de los eventos de los objetos gráficos estándar y crearemos una funcionalidad que nos permitirá controlar los cambios en las propiedades de los objetos gráficos colocados en cualquier gráfico abierto en el terminal.
preview
Desarrollo de un EA comercial desde cero (Parte 24): Dotando de robustez al sistema (I)

Desarrollo de un EA comercial desde cero (Parte 24): Dotando de robustez al sistema (I)

En este artículo haremos que el sistema sea más robusto, para que sea más estable y seguro de usar. Una forma de conseguir robustez es intentar reutilizar el código lo máximo posible, de esta forma él mismo será probado todo el tiempo y en diversas ocasiones. Pero esta es solo una de las formas, otra forma es el uso de la programación OOP.
preview
Integración de modelos ocultos de Márkov en MetaTrader 5

Integración de modelos ocultos de Márkov en MetaTrader 5

En este artículo demostramos cómo los modelos ocultos de Márkov entrenados con Python pueden integrarse en las aplicaciones de MetaTrader 5. Los modelos ocultos de Márkov son una potente herramienta estadística utilizada para modelar datos de series temporales, en los que el sistema modelado se caracteriza por estados no observables (ocultos). Una premisa fundamental de los modelos ocultos de Márkov es que la probabilidad de estar en un estado determinado en un momento concreto depende del estado del proceso en el intervalo de tiempo anterior.
preview
Ejemplo de nuevo Indicador y LSTM condicional

Ejemplo de nuevo Indicador y LSTM condicional

Este artículo explora el desarrollo de un Asesor Experto (Expert Advisor, EA) para trading automatizado que combina el análisis técnico con predicciones de aprendizaje profundo.
Gráficos en la biblioteca DoEasy (Parte 79): Clase de objeto "Fotograma de animación" y sus objetos herederos
Gráficos en la biblioteca DoEasy (Parte 79): Clase de objeto "Fotograma de animación" y sus objetos herederos

Gráficos en la biblioteca DoEasy (Parte 79): Clase de objeto "Fotograma de animación" y sus objetos herederos

En el presente artículo, desarrollaremos la clase de fotograma de animación y sus clases herederas. La clase permitirá dibujar figuras, con el posterior almacenamiento y restauración del fondo según la figura dibujada.
preview
Redes neuronales en el trading: Modelo de doble atención para la previsión de tendencias

Redes neuronales en el trading: Modelo de doble atención para la previsión de tendencias

Continuamos la conversación sobre el uso de la representación lineal por partes de las series temporales iniciada en el artículo anterior. Y hoy hablaremos de la combinación de este método con otros enfoques del análisis de series temporales para mejorar la calidad de la previsión de la tendencia del movimiento de precios.
preview
Transacciones comerciales. Estructuras de solicitud y respuesta, descripción y registro.

Transacciones comerciales. Estructuras de solicitud y respuesta, descripción y registro.

En el presente artículo veremos cómo trabajar con las estructuras de las solicitudes comerciales: la creación de una solicitud, su verificación preliminar antes de enviarla al servidor, la respuesta del servidor a una solicitud comercial y la estructura de las transacciones comerciales. Asimismo, crearemos funciones simples y cómodas para enviar órdenes comerciales al servidor y, basándonos en todo lo discutido, y también crearemos un asesor-informante sobre las transacciones comerciales.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 20): FOREX (I)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 20): FOREX (I)

La intención inicial de este artículo no será cubrir todas las características de FOREX, sino más bien adaptar el sistema de manera que puedas realizar al menos una repetición del mercado. La simulación quedará para otro momento. Sin embargo, en caso de que no tengas los ticks y solo tengas las barras, con un poco de trabajo, puedes simular posibles transacciones que podrían haber ocurrido en FOREX. Esto será hasta que te muestre cómo adaptar el simulador. El hecho de intentar trabajar con datos provenientes de FOREX dentro del sistema sin modificarlo conlleva errores de rango.
preview
Alan Andrews y sus métodos de análisis de series temporales

Alan Andrews y sus métodos de análisis de series temporales

Alan Andrews es uno de los "educadores" más célebres del mundo moderno en el campo del trading. Su "tridente" está incluido en casi todos los programas modernos de análisis de cotizaciones, pero la mayoría de los tráders no utilizan ni una quinta parte de las posibilidades que ofrece esta herramienta. Y el curso original de Andrews incluye una descripción no solo del tridente (aunque sigue siendo lo esencial), sino también de algunas otras líneas útiles. Este artículo ofrece al lector una idea de las maravillosas técnicas de análisis de gráficos que Andrews enseñó en su curso original. Le advertimos que hay muchas fotos.
preview
Elaboración de previsiones económicas: el potencial de Python

Elaboración de previsiones económicas: el potencial de Python

¿Cómo utilizar los datos económicos del Banco Mundial para crear previsiones? ¿Qué ocurre si se combinan modelos de IA y economía?
preview
Características del Wizard MQL5 que debe conocer (Parte 3): Entropía de Shannon

Características del Wizard MQL5 que debe conocer (Parte 3): Entropía de Shannon

El tráder moderno está casi siempre a la búsqueda de nuevas ideas, probando constantemente nuevas estrategias, modificándolas y descartando las que han fracasado. En esta serie de artículos, intentaré demostrar que el Wizard MQL5 es un verdadero apoyo para el tráder.
preview
Automatización de estrategias de trading en MQL5 (Parte 5): Desarrollo de la estrategia Adaptive Crossover RSI Trading Suite

Automatización de estrategias de trading en MQL5 (Parte 5): Desarrollo de la estrategia Adaptive Crossover RSI Trading Suite

En este artículo, desarrollamos el sistema Adaptive Crossover RSI Trading Suite, que utiliza cruces de medias móviles de 14 y 50 períodos como señales, confirmadas por un filtro RSI de 14 períodos. El sistema incluye un filtro de días de negociación, flechas de señal con anotaciones y un panel de control en tiempo real para la supervisión. Este enfoque garantiza precisión y adaptabilidad en el comercio automatizado.
preview
Añadimos un LLM personalizado a un robot comercial (Parte 1): Desplegando el equipo y el entorno

Añadimos un LLM personalizado a un robot comercial (Parte 1): Desplegando el equipo y el entorno

Los modelos lingüísticos (LLM) son una parte importante de la inteligencia artificial que evoluciona rápidamente, por lo que debemos plantearnos cómo integrar unos LLM potentes en nuestro comercio algorítmico. A la mayoría de la gente le resulta difícil personalizar estos potentes modelos para adaptarlos a sus necesidades, implantarlos de forma local y luego aplicarlos al trading algorítmico. En esta serie de artículos abordaremos un enfoque paso a paso para lograr este objetivo.
preview
Automatización de estrategias de trading en MQL5 (Parte 5): Desarrollo de la estrategia Adaptive Crossover RSI Trading Suite

Automatización de estrategias de trading en MQL5 (Parte 5): Desarrollo de la estrategia Adaptive Crossover RSI Trading Suite

En este artículo, desarrollamos el sistema Adaptive Crossover RSI Trading Suite, que utiliza cruces de medias móviles de 14 y 50 períodos como señales, confirmadas por un filtro RSI de 14 períodos. El sistema incluye un filtro de días de negociación, flechas de señal con anotaciones y un panel de control en tiempo real para la supervisión. Este enfoque garantiza precisión y adaptabilidad en el comercio automatizado.
preview
Consejos de un programador profesional (Parte III): Registro Conexión al sistema de recopilación y análisis de logs Seq

Consejos de un programador profesional (Parte III): Registro Conexión al sistema de recopilación y análisis de logs Seq

Implementación de la clase Logger para unificar (estructurar) los mensajes mostrados en el diario del experto. Conexión al sistema de recopilación y análisis de logs Seq. Supervisión de los mensajes en el modo online.
preview
Ejemplo de un conjunto de modelos ONNX en MQL5

Ejemplo de un conjunto de modelos ONNX en MQL5

ONNX (Open Neural Network eXchange) es un estándar abierto para representar redes neuronales. En este artículo, le mostraremos la posibilidad de usar dos modelos ONNX simultáneamente en un asesor experto.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 3): Prefijos/sufijos de símbolos y sesión comercial

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 3): Prefijos/sufijos de símbolos y sesión comercial

Últimamente, he recibido comentarios de varios compañeros tráders sobre cómo usar el asesor multidivisa que estamos analizando con brókeres que utilizan prefijos y/o sufijos con nombres de símbolos, así como sobre la forma de implementar zonas horarias comerciales o sesiones comerciales en el asesor.
preview
Reimaginando las estrategias clásicas (Parte III): Predicción de máximos crecientes y mínimos decrecientes

Reimaginando las estrategias clásicas (Parte III): Predicción de máximos crecientes y mínimos decrecientes

En esta serie de artículos, analizaremos empíricamente las estrategias comerciales clásicas para ver si podemos mejorarlas utilizando IA. En la discusión de hoy, intentamos predecir máximos más altos y mínimos más bajos utilizando el modelo de análisis discriminante lineal.
preview
Aplicación de la teoría de juegos de Nash con filtrado HMM en el trading

Aplicación de la teoría de juegos de Nash con filtrado HMM en el trading

Este artículo profundiza en la aplicación de la teoría de juegos de John Nash, específicamente el Equilibrio de Nash, en el trading. Se analiza cómo los traders pueden utilizar scripts de Python y MetaTrader 5 para identificar y explotar las ineficiencias del mercado utilizando los principios de Nash. El artículo proporciona una guía paso a paso sobre la implementación de estas estrategias, incluido el uso de modelos ocultos de Markov (HMM) y análisis estadístico, para mejorar el rendimiento comercial.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 2): Script de comentarios analíticos

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 2): Script de comentarios analíticos

En línea con nuestra visión de simplificar la acción del precio, nos complace presentar otra herramienta que puede mejorar significativamente su análisis de mercado y ayudarle a tomar decisiones bien informadas. Esta herramienta muestra indicadores técnicos clave, como los precios del día anterior, los niveles significativos de soporte y resistencia, y el volumen de operaciones, al tiempo que genera automáticamente señales visuales en el gráfico.
preview
Desarrollo de un EA comercial desde cero (Parte 29): Plataforma parlante

Desarrollo de un EA comercial desde cero (Parte 29): Plataforma parlante

En este artículo aprenderemos a hacer hablar a la plataforma MT5. ¿Qué tal si hacemos que el EA sea más divertido? Operar en los mercados financieros suele ser una actividad extremadamente aburrida y monótona, pero podemos hacerla un poco menos tediosa. Este proyecto podría ser peligroso en caso de que tengas un problema que te haga adicto, pero en realidad con las modificaciones todo el escenario podría ser más entretenido, menos aburrido.
Gráficos en la biblioteca DoEasy (Parte 81): Integrando gráficos en los objetos de la biblioteca
Gráficos en la biblioteca DoEasy (Parte 81): Integrando gráficos en los objetos de la biblioteca

Gráficos en la biblioteca DoEasy (Parte 81): Integrando gráficos en los objetos de la biblioteca

Vamos a comenzar a integrar los objetos gráficos ya creados en el resto de objetos de la biblioteca creados previamente, lo que finalmente dotará a cada objeto de biblioteca de su propio objeto gráfico, permitiendo al usuario interactuar con el programa.