Artículos de programación MQL4 y MQL5

icon

Aprenda el lenguaje de programación de estrategias comerciales MQL5 leyendo numerosos artículos la mayor parte de los cuales han sido escritos por Ustedes - miembros de MQL5.community. Con el fin de buscar rápidamente la respuesta sobre una u otra cuestión de programación, todos los artículos están divididos en categorías: "Integración", "Probador", "Estrategias comerciales", etc.

Siga las nuevas publicaciones y participe en sus discusiones en el foro de MQL5.community!

Nuevo artículo
últimas | mejores
preview
Gestión de Riesgo (Parte 5): Integrando la Gestión de Riesgo en un Asesor Experto

Gestión de Riesgo (Parte 5): Integrando la Gestión de Riesgo en un Asesor Experto

En este artículo implemento la gestión de riesgo desarrollada en publicaciones anteriores e incorporo el indicador de order blocks presentado en otros artículos. Además, realizaré un backtest para comparar los resultados con la aplicación de la gestión de riesgo y evaluaré el impacto del riesgo dinámico.
Gráficos en la biblioteca DoEasy (Parte 89): Creación programática de objetos gráficos estándar Funcionalidad básica
Gráficos en la biblioteca DoEasy (Parte 89): Creación programática de objetos gráficos estándar Funcionalidad básica

Gráficos en la biblioteca DoEasy (Parte 89): Creación programática de objetos gráficos estándar Funcionalidad básica

Nuestra biblioteca ahora puede monitorear la aparición de objetos gráficos estándar en el gráfico del terminal de cliente, así como la eliminación y modificación de algunos de sus parámetros. Pero para que el "conjunto" quede completo, obviamente necesitamos la capacidad de crear objetos gráficos estándar a partir de nuestros programas.
preview
Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 2): Estrategia de scalping en el USDJPY

Desarrollo de asesores expertos autooptimizables en MQL5 (Parte 2): Estrategia de scalping en el USDJPY

Únase a nosotros hoy mientras nos desafiamos a nosotros mismos a crear una estrategia comercial en torno al par USDJPY. Operaremos con patrones de velas japonesas que se forman en el marco temporal diario, ya que potencialmente tienen más fuerza detrás. Nuestra estrategia inicial resultó rentable, lo que nos animó a seguir perfeccionándola y añadiendo capas adicionales de seguridad para proteger el capital obtenido.
Gráficos en la biblioteca DoEasy (Parte 86): Colección de objetos gráficos - controlando la modificación de propiedades
Gráficos en la biblioteca DoEasy (Parte 86): Colección de objetos gráficos - controlando la modificación de propiedades

Gráficos en la biblioteca DoEasy (Parte 86): Colección de objetos gráficos - controlando la modificación de propiedades

En el presente artículo, analizaremos la modificación de los valores de las propiedades, así como la eliminación y el cambio de nombre de los objetos gráficos en la biblioteca.
preview
Tablero de cotizaciones: Versión básica

Tablero de cotizaciones: Versión básica

Aquí te mostraré cómo crear esas pantallas en forma de banda, normalmente usadas para mostrar cotizaciones como en la bolsa, pero pura y simplemente usando MQL5, sin recurrir a programación externa complicada e innecesariamente sofisticada.
preview
Redes neuronales: así de sencillo (Parte 35): Módulo de curiosidad intrínseca (Intrinsic Curiosity Module)

Redes neuronales: así de sencillo (Parte 35): Módulo de curiosidad intrínseca (Intrinsic Curiosity Module)

Seguimos analizando los algoritmos de aprendizaje por refuerzo. Todos los algoritmos que hemos estudiado hasta ahora requerían la creación de una política de recompensas tal que el agente pudiera evaluar cada una de sus acciones en cada transición de un estado del sistema a otro, pero este enfoque resulta bastante artificial. En la práctica, existe cierto tiempo de retraso entre la acción y la recompensa. En este artículo, le sugerimos que se familiarice con un algoritmo de entrenamiento de modelos que puede funcionar con varios retrasos de tiempo desde la acción hasta la recompensa.
preview
Metamodelos en el aprendizaje automático y el trading: Timing original de las órdenes comerciales

Metamodelos en el aprendizaje automático y el trading: Timing original de las órdenes comerciales

Metamodelos en el aprendizaje automático: Creación automática de sistemas comerciales sin apenas intervención humana: el Modelo decide por sí mismo cómo y cuándo comerciar.
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.
El modelado de la apuestas como medio para desarrollar la "intuición del mercado"
El modelado de la apuestas como medio para desarrollar la "intuición del mercado"

El modelado de la apuestas como medio para desarrollar la "intuición del mercado"

Este artículo aborda la noción de "intuición del mercado" y cómo desarrollarla. El método descrito en el artículo está basado en el modelado de las apuestas financieras en forma de un juego sencillo.
preview
Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte I): Interfaz móvil (I)

Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte I): Interfaz móvil (I)

Libere el poder de la presentación dinámica de datos en sus estrategias o utilidades comerciales con nuestra guía detallada para desarrollar una GUI móvil en MQL5. Sumérjase en los eventos del gráfico y aprenda a diseñar e implementar una GUI simple y con capacidad de movimiento múltiple en un solo gráfico. El artículo también analizará la adición de elementos a una interfaz gráfica, aumentando su funcionalidad y atractivo estético.
preview
Indicadores alternativos de riesgo y rentabilidad en MQL5

Indicadores alternativos de riesgo y rentabilidad en MQL5

En este artículo, presentaremos una aplicación de varias medidas de rentabilidad y riesgo consideradas alternativas al ratio de Sharpe e investigaremos diferentes curvas de capital hipotéticas para analizar sus características.
preview
Introducción a MQL5 (Parte 3): Estudiamos los elementos básicos de MQL5

Introducción a MQL5 (Parte 3): Estudiamos los elementos básicos de MQL5

En este artículo, seguiremos estudiando los fundamentos de la programación MQL5. Hoy veremos los arrays, las funciones definidas por el usuario, los preprocesadores y el procesamiento de eventos. Para una mayor claridad, todos los pasos de cada explicación irán acompañado de un código. Esta serie de artículos sienta las bases para el aprendizaje de MQL5, prestando especial atención a la explicación de cada línea de código.
preview
Aprendizaje automático y Data Science (Parte 13): Analizamos el mercado financiero usando el análisis de componentes principales (ACP)

Aprendizaje automático y Data Science (Parte 13): Analizamos el mercado financiero usando el análisis de componentes principales (ACP)

Hoy intentaremos mejorar cualitativamente el análisis de los mercados financieros utilizando el Análisis de Componentes Principales (ACP). Asimismo, aprenderemos cómo este método puede ayudarnos a identificar patrones ocultos en los datos, detectar tendencias ocultas del mercado y optimizar las estrategias de inversión. En este artículo veremos cómo el método de ACP aporta una nueva perspectiva al análisis de datos financieros complejos, ayudándonos a ver ideas que hemos pasado por alto con los enfoques tradicionales. ¿La aplicación del método ACP en estos mercados financieros ofrece una ventaja competitiva y ayuda a ir un paso por delante?
preview
Obtenga una ventaja sobre cualquier mercado

Obtenga una ventaja sobre cualquier mercado

Aprenda cómo puede adelantarse a cualquier mercado en el que desee operar, independientemente de su nivel actual de habilidad.
preview
Kit de herramientas de negociación MQL5 (Parte 2): Ampliación e implantación de la biblioteca EX5 de gestión de posiciones

Kit de herramientas de negociación MQL5 (Parte 2): Ampliación e implantación de la biblioteca EX5 de gestión de posiciones

Aprenda a importar y utilizar bibliotecas EX5 en su código o proyectos MQL5. En este artículo de continuación, ampliaremos la biblioteca EX5 agregando más funciones de gestión de posiciones a la biblioteca existente y creando dos Asesores Expertos. El primer ejemplo utilizará el indicador técnico de promedio dinámico de índice variable para desarrollar un asesor experto en estrategia comercial de trailing stop, mientras que el segundo ejemplo utilizará un panel comercial para monitorear, abrir, cerrar y modificar posiciones. Estos dos ejemplos demostrarán cómo utilizar e implementar la biblioteca de gestión de posiciones EX5 actualizada.
preview
Cómo construir un EA que opere automáticamente (Parte 13): Automatización (V)

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

¿Sabes lo que es un diagrama de flujo? ¿Sabes cómo utilizarlo? ¿Cree que los diagramas de flujo son sólo cosas de aprendiz de programador? Pues echa un vistazo a este artículo y aprende a trabajar con diagramas de flujo.
Operaciones con grupos de archivos
Operaciones con grupos de archivos

Operaciones con grupos de archivos

Algunas veces es necesario realizar las mismas operaciones con un grupo de archivos. Si tenemos una lista de archivos en un grupo, esto no es un problema. Sin embargo, si necesitamos hacer esta lista nosotros mismos, surge la pregunta: "¿Cómo podemos hacerlo?" El artículo propone hacerlo mediante las funciones FindFirstFile() y FindNextFile() incluidas en kernel32.dll.
La inactividad es el estímulo del progreso. Marcado semiautomático de una plantilla.
La inactividad es el estímulo del progreso. Marcado semiautomático de una plantilla.

La inactividad es el estímulo del progreso. Marcado semiautomático de una plantilla.

Entre las docenas de ejemplos de cómo trabajar con gráficos, hay un método para marcar manualmente una plantilla. Líneas de tendencia, canales, niveles de apoyo/resistencia, etc. se imponen en un gráfico. Por supuesto que hay algunos programas especiales para este tipo de programas. Cada uno decide pos sí mismo/a qué método utilizar. En este artículo, ofrezco varios métodos de marcado manual para que los considere, con la subsecuente automatización de algunos elementos de acciones rutinarias repetidas.
preview
Redes neuronales: así de sencillo (Parte 15): Clusterización de datos usando MQL5

Redes neuronales: así de sencillo (Parte 15): Clusterización de datos usando MQL5

Continuamos analizando el método de clusterización. En este artículo, crearemos una nueva clase CKmeans para implementar uno de los métodos de clusterización de k-medias más extendidos. Según los resultados de la prueba, el modelo ha podido identificar alrededor de 500 patrones.
preview
Preparación de indicadores de símbolo/periodo múltiple

Preparación de indicadores de símbolo/periodo múltiple

En este artículo analizaremos los principios de la creación de los indicadores de símbolo/periodo múltiple y la obtención de datos de ellos en asesores e indicadores. Asimismo, veremos los principales matices de uso de los indicadores múltiples en asesores e indicadores, y su representación a través de los búferes del indicador personalizado.
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
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.
Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación
Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación

Gráficos en la biblioteca DoEasy (Parte 94): Objetos gráficos compuestos, desplazamiento y eliminación

En este artículo, comenzaremos a desarrollar varios eventos de los objetos gráficos compuestos. Vamos a analizar parcialmente el desplazamiento y la eliminación de los objetos gráficos compuestos. En general, hoy vamos a mejorar lo que ya creamos en el último artículo.
preview
Desarrollo de un robot en Python y MQL5 (Parte 2): Selección, creación y entrenamiento de modelos, simulador personalizado en Python

Desarrollo de un robot en Python y MQL5 (Parte 2): Selección, creación y entrenamiento de modelos, simulador personalizado en Python

Hoy vamos a continuar con la serie de artículos sobre la creación de un robot comercial en Python y MQL5. En el presente artículo, resolveremos el problema de la selección y el entrenamiento de modelos, la prueba de los mismos, la aplicación de la validación cruzada, la búsqueda en cuadrícula y el problema del ensamblaje de modelos.
preview
Desarrollo de un robot de trading en Python (Parte 3): Implementamos un algoritmo comercial basado en el modelo

Desarrollo de un robot de trading en Python (Parte 3): Implementamos un algoritmo comercial basado en el modelo

Hoy vamos a continuar con la serie de artículos sobre la creación de un robot comercial en Python y MQL5. En esta ocasión, resolveremos el problema relacionado con la creación de un algoritmo comercial en Python.
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.
Encuesta: Lo que opinan los traders del Terminal móvil
Encuesta: Lo que opinan los traders del Terminal móvil

Encuesta: Lo que opinan los traders del Terminal móvil

Desafortunadamente, todavía no hay previsiones claras acerca del futuro del trading móvil. Sin embargo, hay muchos rumores entorno a esta cuestión. En nuestro intento de disipar las dudas, hemos decidido realizar una encuesta entre los traders para averiguar sus opiniones acerca de los terminales móviles. Por medio de esta encuesta, hemos conseguido establecer una imagen clara de lo que piensan nuestros traders del producto en este momento, así como sus propuestas y expectativas para los futuros desarrollos de nuestros terminales móviles.
preview
Aprendiendo de las compañías de Prop-Trading (Parte 1) - Introducción

Aprendiendo de las compañías de Prop-Trading (Parte 1) - Introducción

En este artículo introductorio, compartiremos algunas de las lecciones que se pueden aprender de las pruebas realizadas en las empresas de prop-trading. Esto resulta especialmente actual para los principiantes y aquellos que luchan por encontrar su lugar en el mundo del trading. El siguiente artículo se centrará en la implementación del código.
preview
Cómo conectar MetaTrader 5 a PostgreSQL

Cómo conectar MetaTrader 5 a PostgreSQL

Este artículo describiremos cuatro métodos para conectar el código MQL5 a una base de datos de Postgres y ofreceremos una guía paso a paso para configurar un entorno de desarrollo para uno de ellos, la API REST, utilizando el Subsistema de Windows para Linux (WSL). Asimismo, mostraremos una aplicación demostrativa de la API con el código MQL5 correspondiente para insertar datos y consultas a las tablas correspondientes, así como un asesor demo para usar estos datos.
preview
Introducción a MQL5 (Parte 17): Creación de asesores expertos para reversiones de tendencias

Introducción a MQL5 (Parte 17): Creación de asesores expertos para reversiones de tendencias

Este artículo enseña a los principiantes cómo crear un Asesor Experto (EA) en MQL5 que opera basándose en el reconocimiento de patrones gráficos utilizando rupturas y reversiones de líneas de tendencia. Al aprender a recuperar dinámicamente los valores de las líneas de tendencia y compararlos con la evolución de los precios, los lectores podrán desarrollar EA capaces de identificar y operar con patrones gráficos como líneas de tendencia ascendentes y descendentes, canales, cuñas, triángulos y mucho más.
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
Redes neuronales: así de sencillo (Parte 85): Predicción multidimensional de series temporales

Redes neuronales: así de sencillo (Parte 85): Predicción multidimensional de series temporales

En este artículo presentaremos un nuevo método complejo de previsión de series temporales que combina armoniosamente las ventajas de los modelos lineales y los transformadores.
preview
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 11): EA de señales Heikin Ashi

Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 11): EA de señales Heikin Ashi

MQL5 ofrece infinitas oportunidades para desarrollar sistemas de trading automatizados adaptados a sus preferencias. ¿Sabías que incluso puede realizar cálculos matemáticos complejos? En este artículo, presentamos la técnica japonesa Heikin-Ashi como una estrategia de trading automatizada.
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
Desarrollo de un sistema de repetición (Parte 32): Sistema de órdenes (I)

Desarrollo de un sistema de repetición (Parte 32): Sistema de órdenes (I)

De todas las cosas desarrolladas hasta ahora, esta, como seguramente también notarás y con el tiempo estarás de acuerdo, es la más desafiante de todas. Lo que tenemos que hacer es algo simple: hacer que nuestro sistema simule lo que hace un servidor comercial en la práctica. Esto de tener que implementar una forma de simular exactamente lo que haría el servidor comercial parece simple. Al menos en palabras. Pero necesitamos hacer esto de manera que, para el usuario del sistema de repetición/simulación, todo suceda de la manera más invisible o transparente posible.
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
Implementación de un algoritmo de trading de negociación rápida utilizando SAR Parabólico (Stop and Reverse, SAR) y Media Móvil Simple (Simple Moving Average, SMA) en MQL5

Implementación de un algoritmo de trading de negociación rápida utilizando SAR Parabólico (Stop and Reverse, SAR) y Media Móvil Simple (Simple Moving Average, SMA) en MQL5

En este artículo, desarrollamos un Asesor Experto de trading de ejecución rápida en MQL5, aprovechando los indicadores SAR Parabólico (Stop and Reverse, SAR) y Media Móvil Simple (Simple Moving Average, SMA) para crear una estrategia de trading reactiva y eficiente. Detallamos la implementación de la estrategia, incluyendo el uso de los indicadores, la generación de señales y el proceso de prueba y optimización.
preview
Filtrado y extracción de características en el dominio de la frecuencia

Filtrado y extracción de características en el dominio de la frecuencia

En este artículo, analizaremos la aplicación de filtros digitales a series temporales representadas en el dominio de la frecuencia con el fin de extraer características únicas que puedan resultar útiles para los modelos de predicción.
preview
Añadimos un LLM personalizado a un robot comercial (Parte 2): Ejemplo de despliegue del entorno

Añadimos un LLM personalizado a un robot comercial (Parte 2): Ejemplo de despliegue del 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 adaptar estos modelos 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
Construya Asesores Expertos Auto-Optimizables con MQL5 y Python

Construya Asesores Expertos Auto-Optimizables con MQL5 y Python

En este artículo, vamos a discutir cómo podemos construir Asesores Expertos capaces de seleccionar de forma autónoma y cambiar las estrategias de negociación en función de las condiciones imperantes en el mercado. Aprenderemos sobre las cadenas de Markov y cómo pueden sernos útiles como operadores algorítmicos.