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
Algoritmos de optimización de la población: Algoritmo electromagnético (ElectroMagnetism-like algorithm, ЕМ)

Algoritmos de optimización de la población: Algoritmo electromagnético (ElectroMagnetism-like algorithm, ЕМ)

El artículo describe los principios, métodos y posibilidades del uso del algoritmo electromagnético (EM) en diversos problemas de optimización. El algoritmo EM es una herramienta de optimización eficiente capaz de trabajar con grandes cantidades de datos y funciones multidimensionales.
preview
Visualización de transacciones en un gráfico (Parte 1): Seleccionar un periodo para el análisis

Visualización de transacciones en un gráfico (Parte 1): Seleccionar un periodo para el análisis

Aquí vamos a desarrollar un script desde cero que simplifica la descarga de pantallas de impresión de transacciones para analizar entradas comerciales. Toda la información necesaria sobre una única operación se puede mostrar cómodamente en un gráfico con la posibilidad de dibujar diferentes marcos temporales.
preview
Implementación de Breakeven en MQL5 (Parte 2): Breakeven basado en ATR y RRR

Implementación de Breakeven en MQL5 (Parte 2): Breakeven basado en ATR y RRR

En este artículo se finaliza la implementación del breakeven por atr y rr en MQL5, junto con el desarrollo desde cero de una clase que permite cambiar fácilmente el tipo de breakeven sin necesidad de reingresar los parámetros. Se realizan múltiples backtests para evaluar el rendimiento de cada tipo, analizando sus ventajas y desventajas en el contexto del trading algorítmico.
preview
Teoría de categorías en MQL5 (Parte 11): Grafos

Teoría de categorías en MQL5 (Parte 11): Grafos

El presente artículo continúa la serie sobre la implementación de la teoría de categorías en MQL5. Aquí veremos cómo podemos integrar la teoría de grafos con los monoides y otras estructuras de datos al desarrollar una estrategia de cierre del sistema comercial.
preview
Asesor Experto Grid-Hedge Modificado en MQL5 (Parte III): Optimización de una estrategia de cobertura simple (I)

Asesor Experto Grid-Hedge Modificado en MQL5 (Parte III): Optimización de una estrategia de cobertura simple (I)

En la tercera parte, volveremos a los Asesores Expertos Simple Hedge y Simple Grid que hemos desarrollado anteriormente. En esta ocasión, mejoraremos el Simple Hedge Expert Advisor usando el análisis matemático y el enfoque de fuerza bruta para utilizar de manera óptima la estrategia. Este artículo profundizará en la optimización matemática de estrategias, sentando las bases para futuras investigaciones sobre la optimización basada en códigos de partes posteriores.
preview
Desarrollo de un EA comercial desde cero (Parte 30): ¿¡El CHART TRADE ahora como indicador?!

Desarrollo de un EA comercial desde cero (Parte 30): ¿¡El CHART TRADE ahora como indicador?!

Vamos a hacer uso del Chart Trade nuevamente... pero ahora será un indicador y podrá o no estar presente en el gráfico.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 21):  FOREX (II)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 21): FOREX (II)

Vamos a continuar el armado del sistema para cubrir el mercado FOREX. Entonces, para resolver este problema, primero necesitaríamos declarar la carga de los ticks antes de cargar las barras previas. Esto soluciona el problema, pero al mismo tiempo obliga al usuario a seguir un tipo de estructura en el archivo de configuración que, en mi opinión, no tiene mucho sentido. La razón es que, al desarrollar la programación responsable de analizar y ejecutar lo que está en el archivo de configuración, podemos permitir que el usuario declare las cosas en cualquier orden.
preview
Permutación de las barras de precio en MQL5

Permutación de las barras de precio en MQL5

En este artículo, presentaremos un algoritmo de permutación de barras de precio y detallaremos cómo se pueden utilizar las pruebas de permutación para identificar los casos en los que se ha fabricado el rendimiento de la estrategia para engañar a los posibles compradores del asesor.
preview
Desarrollando un EA comercial desde cero (Parte 13): Times And Trade (II)

Desarrollando un EA comercial desde cero (Parte 13): Times And Trade (II)

Hoy vamos a construir la segunda parte del sistema Times & Trade para analizar el mercado. En el artículo anterior Times & Trade ( I ) presenté un sistema alternativo para organizar un gráfico de manera que tengamos un indicador que nos permita interpretar las operaciones que se han ejecutado en el mercado lo más rápido posible.
preview
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD

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

El presente artículo representa el primer intento de desarrollar un cliente MQTT nativo para MQL5. El MQTT es un protocolo de comunicación "publicación-suscripción". Es ligero, abierto, simple y está diseñado para implementarse con facilidad, lo cual permite su uso en muchas situaciones.
preview
Trading con spreads en el mercado Fórex utilizando el factor de estacionalidad

Trading con spreads en el mercado Fórex utilizando el factor de estacionalidad

El en presente artículo analizaremos las posibilidades de formar y proporcionar datos sobre el uso del factor de estacionalidad al negociar con spreads en el mercado Fórex.
preview
Indicador de estimación de fuerza y debilidad de pares de divisas en MQL5 puro

Indicador de estimación de fuerza y debilidad de pares de divisas en MQL5 puro

Hoy crearemos un indicador profesional para analizar la fuerza de las divisas en MQL5. Esta guía paso a paso le enseñará cómo desarrollar una poderosa herramienta comercial con un tablero visual para MetaTrader 5. Asimismo, aprenderá a calcular la fuerza de los pares de divisas en múltiples marcos temporales (H1, H4, D1), a implementar actualizaciones dinámicas de datos y a crear una interfaz fácil de usar.
preview
Marcado de datos en el análisis de series temporales (Parte 5): Aplicación y comprobación de asesores usando Socket

Marcado de datos en el análisis de series temporales (Parte 5): Aplicación y comprobación de asesores usando Socket

En esta serie de artículos, presentaremos varias técnicas de marcado de series temporales que pueden producir datos que se ajusten a la mayoría de los modelos de inteligencia artificial (IA). El marcado dirigido de datos puede hacer que un modelo de IA entrenado resulte más relevante para las metas y objetivos del usuario, mejorando la precisión del modelo y ayudando a este a dar un salto de calidad.
preview
Ciclos y Forex

Ciclos y Forex

Los ciclos son de gran importancia en nuestras vidas. El día y la noche, las estaciones, los días de la semana y muchos otros ciclos de distinta naturaleza están presentes en la vida de cualquier persona. En este artículo, consideraremos los ciclos en los mercados financieros.
preview
Desarrollamos un asesor experto multidivisas (Parte 21): Preparación para un experimento importante y optimización del código

Desarrollamos un asesor experto multidivisas (Parte 21): Preparación para un experimento importante y optimización del código

Para continuar avanzando, sería bueno ver si podemos mejorar los resultados realizando periódicamente optimizaciones automáticas repetidas y generando un nuevo asesor experto. El escollo en muchos argumentos sobre el uso de la optimización de parámetros es la cuestión de cuánto tiempo pueden usarse los parámetros obtenidos para operar en el periodo futuro manteniendo los principales indicadores de rentabilidad y reducción en los niveles dados. ¿Es posible en general lograrlo?
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 11): Nacimiento del SIMULADOR (I)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 11): Nacimiento del SIMULADOR (I)

Para poder usar datos que forman barras, debemos abandonar la repetición y comenzar a desarrollar un simulador. Utilizaremos las barras de 1 minuto precisamente porque nos ofrecen un nivel de complejidad mínimo.
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
Multibot en MetaTrader (Parte II): Plantilla dinámica mejorada

Multibot en MetaTrader (Parte II): Plantilla dinámica mejorada

Desarrollando el tema del artículo anterior sobre el multibot, hemos decidido crear una plantilla más flexible y funcional, que tenga grandes posibilidades, y que se pueda utilizar eficazmente en freelance, además de como base para desarrollar asesores de divisa y periodo múltiple con posibilidad de integración con soluciones externas.
Trabajando con los precios en la biblioteca DoEasy (Parte 64): Profundidad del mercado, clases del objeto de instantánea y del objeto de serie de instantáneas del DOM
Trabajando con los precios en la biblioteca DoEasy (Parte 64): Profundidad del mercado, clases del objeto de instantánea y del objeto de serie de instantáneas del DOM

Trabajando con los precios en la biblioteca DoEasy (Parte 64): Profundidad del mercado, clases del objeto de instantánea y del objeto de serie de instantáneas del DOM

En este artículo, vamos a crear dos clases: la clase del objeto de instantánea del DOM y la clase del objeto de serie de instantáneas del DOM, además, simularemos la creación de la serie de datos del DOM.
preview
Análisis de sentimientos y aprendizaje profundo para operar con EA y backtesting con Python

Análisis de sentimientos y aprendizaje profundo para operar con EA y backtesting con Python

En este artículo, presentaremos un análisis de sentimiento y los modelos ONNX con Python para ser utilizados en un asesor experto. Un script ejecuta un modelo ONNX entrenado a partir de TensorFlow para predicciones de aprendizaje profundo, mientras que otro obtiene titulares de noticias y cuantifica el sentimiento utilizando IA.
preview
Desarrollo de un sistema de repetición (Parte 31): Proyecto Expert Advisor — Clase C_Mouse (V)

Desarrollo de un sistema de repetición (Parte 31): Proyecto Expert Advisor — Clase C_Mouse (V)

Desarrollar una manera de poner un cronómetro, de modo que durante una repetición/simulación, éste pueda decirnos cuánto tiempo falta, puede parecer a primera vista una tarea simple y de rápida solución. Muchos simplemente intentarían adaptar y usar el mismo sistema que se utiliza cuando tenemos el servidor comercial a nuestro lado. Pero aquí reside un punto que muchos quizás no consideran al pensar en tal solución. Cuando estás haciendo una repetición, y esto para no hablar del hecho de la simulación, el reloj no funciona de la misma manera. Este tipo de cosa hace complejo construir tal sistema.
preview
Creación de un EA limitador de reducción diaria en MQL5

Creación de un EA limitador de reducción diaria en MQL5

El artículo analiza, desde una perspectiva detallada, cómo implementar la creación de un Asesor Experto (EA) basado en el algoritmo comercial. Esto ayuda a automatizar el sistema en MQL5 y tomar el control de la reducción diaria.
preview
Integración de modelos ML con el simulador de estrategias (Parte 3): Gestión de archivos CSV(II)

Integración de modelos ML con el simulador de estrategias (Parte 3): Gestión de archivos CSV(II)

Este texto es una guía completa sobre la creación de una clase en MQL5 para la gestión eficaz de archivos CSV. En él comprenderás cómo se lleva a cabo la implementación de métodos de apertura, escritura, lectura y conversión de datos y cómo se pueden emplear para guardar y acceder a la información. Además, trataremos las restricciones y los aspectos cruciales a la hora de utilizar una clase de este tipo. Este es un material valioso para aquellos que deseen aprender a manipular archivos CSV en MQL5.
preview
Marcado de datos en el análisis de series temporales (Parte 3): Ejemplo de uso del marcado de datos

Marcado de datos en el análisis de series temporales (Parte 3): Ejemplo de uso del marcado de datos

En esta serie de artículos, presentaremos varias técnicas de marcado de series temporales que pueden producir datos que se ajusten a la mayoría de los modelos de inteligencia artificial (IA). El marcado dirigido de datos puede hacer que un modelo de IA entrenado resulte más relevante para las metas y objetivos del usuario, mejorando la precisión del modelo y ayudando a este a dar un salto de calidad.
preview
Estimamos la rentabilidad futura usando intervalos de confianza

Estimamos la rentabilidad futura usando intervalos de confianza

En este artículo, nos adentraremos en la aplicación de técnicas de bootstrapping como forma de evaluar la rentabilidad futura de una estrategia automatizada.
preview
Escribimos el primer modelo de caja de cristal (Glass Box) en Python y MQL5

Escribimos el primer modelo de caja de cristal (Glass Box) en Python y MQL5

Los modelos de aprendizaje automático son difíciles de interpretar, y entender por qué los modelos no se ajustan a nuestras expectativas puede ayudarnos mucho a conseguir, en última instancia, el resultado deseado al utilizar técnicas tan avanzadas. Sin un conocimiento exhaustivo del funcionamiento interno del modelo, podría resultar difícil encontrar fallos que degraden el rendimiento. De este modo, podremos dedicar tiempo a crear funciones que no afecten a la calidad de la previsión. La conclusión es que, por muy bueno que sea un modelo, nos perderemos todas sus grandes ventajas por culpa de nuestros propios errores. Afortunadamente, existe una solución sofisticada y bien diseñada que permite ver con claridad lo que sucede bajo el capó del modelo.
preview
Cómo implementar la optimización automática en los asesores expertos de MQL5

Cómo implementar la optimización automática en los asesores expertos de MQL5

Guía paso a paso para la optimización automática en MQL5 para Asesores Expertos. Cubriremos la lógica de optimización robusta, las mejores prácticas para la selección de parámetros y cómo reconstruir estrategias con pruebas retrospectivas. Además, se discutirán métodos de nivel superior, como la optimización del avance, para mejorar su enfoque comercial.
preview
Interpretación de modelos: Una comprensión más profunda de los modelos de aprendizaje automático

Interpretación de modelos: Una comprensión más profunda de los modelos de aprendizaje automático

El aprendizaje automático es un campo desafiante y gratificante para cualquiera, independientemente de la experiencia que tenga. En este artículo, nos sumergiremos en el funcionamiento interno de los modelos creados, exploraremos el complejo mundo de las funciones, las predicciones y las soluciones eficientes, y comprenderemos claramente la interpretación de los modelos. Asimismo, aprenderemos el arte de hacer concesiones, mejorar las predicciones, clasificar la importancia de los parámetros y tomar decisiones sólidas. Este artículo le ayudará a mejorar el rendimiento de los modelos de aprendizaje automático y a sacar más partido de sus metodologías.
preview
Algoritmos de optimización de la población: Algoritmo de recocido isotrópico simulado (Simulated Isotropic Annealing, SIA). Parte II

Algoritmos de optimización de la población: Algoritmo de recocido isotrópico simulado (Simulated Isotropic Annealing, SIA). Parte II

En la primera parte del artículo, hablamos del conocido y popular algoritmo del recocido simulado, analizamos sus ventajas y describimos detalladamente sus desventajas. La segunda parte del artículo se dedicará a la transformación cardinal del algoritmo y su renacimiento en un nuevo algoritmo de optimización, el "recocido isotrópico simulado, SIA".
preview
Algoritmos de optimización de la población: Búsqueda por difusión estocástica (Stochastic Diffusion Search, SDS)

Algoritmos de optimización de la población: Búsqueda por difusión estocástica (Stochastic Diffusion Search, SDS)

En este artículo veremos la búsqueda por difusión estocástica, o SDS, que es un algoritmo de optimización muy potente y eficiente basado en los principios del paseo aleatorio. El algoritmo puede encontrar soluciones óptimas en espacios multidimensionales complejos, con una alta tasa de convergencia y la capacidad de evitar extremos locales.
preview
Desarrollo y prueba de sistemas comerciales basados en el canal de Keltner

Desarrollo y prueba de sistemas comerciales basados en el canal de Keltner

En este artículo examinaremos los sistemas comerciales que utilizan un concepto muy importante de los mercados financieros: la volatilidad. Asimismo, estudiaremos un sistema comercial basado en el Canal de Keltner, incluyendo su implementación en código y sus pruebas con varios activos.
preview
Variables y tipos de datos extendidos en MQL5

Variables y tipos de datos extendidos en MQL5

Las variables y los tipos de datos son temas muy importantes no solo en la programación MQL5, sino también en cualquier lenguaje de programación. Las variables y los tipos de datos de MQL5 pueden dividirse en simples y extendidos. Aquí veremos las variables y los tipos de datos extendidos. Ya analizamos los sencillos en un artículo anterior.
preview
La teoría del caos en el trading (Parte 2): Continuamos la inmersión

La teoría del caos en el trading (Parte 2): Continuamos la inmersión

Continuamos nuestra inmersión en la teoría del caos en los mercados financieros: hoy analizaremos su aplicabilidad al análisis de divisas y otros activos.
preview
Teoría de categorías en MQL5 (Parte 13): Eventos del calendario con esquemas de bases de datos

Teoría de categorías en MQL5 (Parte 13): Eventos del calendario con esquemas de bases de datos

El artículo analiza cómo se pueden incluir esquemas de bases de datos para la clasificación en MQL5. Vamos a repasar brevemente cómo los conceptos de esquema de base de datos pueden combinarse con la teoría de categorías para identificar información textual (cadenas) relevante para el comercio. La atención se centrará en los eventos del calendario.
preview
Redes neuronales: así de sencillo (Parte 54): Usamos un codificador aleatorio para una exploración eficiente (RE3)

Redes neuronales: así de sencillo (Parte 54): Usamos un codificador aleatorio para una exploración eficiente (RE3)

Siempre que analizamos métodos de aprendizaje por refuerzo, nos enfrentamos al problema de explorar eficientemente el entorno. Con frecuencia, la resolución de este problema hace que el algoritmo se complique, llevándonos al entrenamiento de modelos adicionales. En este artículo veremos un enfoque alternativo para resolver el presente problema.
preview
Redes neuronales: así de sencillo (Parte 87): Segmentación de series temporales

Redes neuronales: así de sencillo (Parte 87): Segmentación de series temporales

La previsión juega un papel esencial en el análisis de series temporales. En este nuevo artículo, hablaremos de las ventajas de la segmentación de series temporales.
preview
Desarrollo de un sistema de repetición (Parte 41): Inicio de la segunda fase (II)

Desarrollo de un sistema de repetición (Parte 41): Inicio de la segunda fase (II)

Si hasta ahora todo te ha parecido correcto, significa que no estás pensando realmente a largo plazo. Donde empiezas a desarrollar aplicaciones y, con el tiempo, ya no necesitas programar nuevas aplicaciones. Solo tienes que conseguir que trabajen juntos. Veamos cómo terminar de montar el indicador del ratón.
preview
DoEasy. Elementos de control (Parte 13): Optimizando la interacción de los objetos WinForms con el ratón. Comenzamos el desarrollo del objeto WinForms TabControl

DoEasy. Elementos de control (Parte 13): Optimizando la interacción de los objetos WinForms con el ratón. Comenzamos el desarrollo del objeto WinForms TabControl

En el presente artículo, corregiremos y optimizaremos el procesamiento de la apariencia de los objetos WinForms después de mover el cursor del ratón lejos del objeto y comenzaremos a desarrollar el objeto TabControl WinForms.
preview
Características del Wizard MQL5 que debe conocer (Parte 08): Perceptrones

Características del Wizard MQL5 que debe conocer (Parte 08): Perceptrones

Los perceptrones, o redes con una sola capa oculta, pueden ser una buena opción para quienes estén familiarizados con los fundamentos del comercio automatizado y quieran sumergirse en las redes neuronales. Paso a paso veremos como se pueden implementar en el ensamblado de clases de señales que forma parte de las clases del Wizard MQL5 para asesores expertos.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 56): Objeto del indicador personalizado, obtención de datos de parte de los objetos de indicador en la colección

Trabajando con las series temporales en la biblioteca DoEasy (Parte 56): Objeto del indicador personalizado, obtención de datos de parte de los objetos de indicador en la colección

En el presente artículo, vamos a considerar la creación de un objeto del indicador personalizado para usarlo en los asesores expertos. Mejoraremos un poco las clases de la biblioteca y escribiremos los métodos para obtener los datos de parte de los objetos de indicador en los expertos.