Artículos con ejemplos de programación en el lenguaje MQL5

icon

Le espera una gran variedad de diferentes artículos sobre la creación de indicadores y robots comerciales para la plataforma MetaTrader usando el lenguaje MQL5. Cada artículo va acompañado con los códigos fuente, Usted puede abrir e iniciarlos en el editor MetaEditor de una manera independiente.

Estos artículos serán útiles tanto para los principiantes en el trading automático, como para los operadores experimentados en la programación y el trading. Aquí encontrará no sólo los ejemplos, sino también las nuevas ideas.

Nuevo artículo
últimas | mejores
preview
Desarrollo de un sistema de repetición (Parte 59): Un nuevo futuro

Desarrollo de un sistema de repetición (Parte 59): Un nuevo futuro

La correcta comprensión de las cosas nos permite hacer más con menos esfuerzo. En este artículo, explicaré por qué es necesario ajustar la aplicación de la plantilla antes de que el servicio comience a interactuar realmente con el gráfico. Además, ¿qué tal si mejoramos el indicador del mouse para que podamos hacer más cosas con él?
preview
DoEasy. Elementos de control (Parte 10): Objetos WinForms: dando vida a la interfaz

DoEasy. Elementos de control (Parte 10): Objetos WinForms: dando vida a la interfaz

Ha llegado el momento de revitalizar la interfaz gráfica de usuario, haciendo que los objetos interactúen con el usuario y otros objetos. Y para que los objetos más complejos funcionen correctamente, necesitaremos una funcionalidad que permita a los objetos interactuar entre sí y con el usuario.
preview
DoEasy. Elementos de control (Parte 26): Mejoramos el objeto WinForms "ToolTip" y comenzamos a desarrollar "ProgressBar"

DoEasy. Elementos de control (Parte 26): Mejoramos el objeto WinForms "ToolTip" y comenzamos a desarrollar "ProgressBar"

En este artículo, completaremos el desarrollo del control ToolTip y comenzaremos a desarrollar el objeto WinForms ProgressBar. A medida que trabajemos en los objetos, desarrollaremos una funcionalidad universal para animar los controles y sus componentes.
preview
Pruebas de permutación de Monte Carlo en MetaTrader 5

Pruebas de permutación de Monte Carlo en MetaTrader 5

En este artículo echaremos un vistazo a cómo podemos realizar pruebas de permutación sobre la base de datos de ticks barajados en cualquier asesor experto utilizando solo MetaTrader 5.
Trabajando con los precios en la biblioteca DoEasy (Parte 62): Actualización de las series de tick en tiempo real, preparando para trabajar con la Profundidad del mercado
Trabajando con los precios en la biblioteca DoEasy (Parte 62): Actualización de las series de tick en tiempo real, preparando para trabajar con la Profundidad del mercado

Trabajando con los precios en la biblioteca DoEasy (Parte 62): Actualización de las series de tick en tiempo real, preparando para trabajar con la Profundidad del mercado

En este artículo, vamos a desarrollar la actualización de la colección de datos de tick en tiempo real, y prepararemos una clase del objeto de símbolo para manejar la Profundidad del mercado, con la que empezaremos a trabajar a partir del siguiente artículo.
Otras clases en la biblioteca DoEasy (Parte 70): Ampliación de la funcionalidad y actualización automática de la colección de objetos de gráfico
Otras clases en la biblioteca DoEasy (Parte 70): Ampliación de la funcionalidad y actualización automática de la colección de objetos de gráfico

Otras clases en la biblioteca DoEasy (Parte 70): Ampliación de la funcionalidad y actualización automática de la colección de objetos de gráfico

En este artículo, ampliaremos la funcionalidad de los objetos de gráfico, organizaremos la navegación por los gráficos, crearemos capturas de pantalla, y también guardaremos plantillas y las aplicaremos a los gráficos. Asimismo, implementaremos la actualización automática de la colección de objetos de gráfico, sus ventanas y los indicadores en ellas.
preview
Gráficos en la biblioteca DoEasy (Parte 99): Desplazando un objeto gráfico extendido con un punto de control

Gráficos en la biblioteca DoEasy (Parte 99): Desplazando un objeto gráfico extendido con un punto de control

En el último artículo, implementamos la posibilidad de desplazar los puntos de control de un objeto gráfico extendido usando formularios de gestión. Ahora vamos a desplazar el objeto gráfico compuesto usando un punto (formulario) para gestionar el objeto gráfico.
preview
Cómo desarrollar un agente de aprendizaje por refuerzo en MQL5 con Integración RestAPI (Parte 2): Funciones MQL5 para interacción HTTP con API REST del juego de tres en raya

Cómo desarrollar un agente de aprendizaje por refuerzo en MQL5 con Integración RestAPI (Parte 2): Funciones MQL5 para interacción HTTP con API REST del juego de tres en raya

Este artículo detalla cómo MQL5 puede interactuar con Python y FastAPI, utilizando llamadas HTTP en MQL5 para comunicarse con un juego de tres en raya en Python. En él se discute la creación de una API con FastAPI para esta integración e se incluye un script de prueba en MQL5, resaltando la versatilidad del MQL5, la simplicidad del Python y la eficiencia del FastAPI en la conexión de diferentes tecnologías para soluciones innovadoras.
preview
Soluciones sencillas para trabajar cómodamente con indicadores

Soluciones sencillas para trabajar cómodamente con indicadores

En este artículo le contaremos cómo crear un panel simple para cambiar la configuración del indicador directamente desde el gráfico, y qué cambios se deberán introducir en el indicador para conectar este panel. Este artículo está dirigido exclusivamente a aquellos que acaban de empezar a familiarizarse con MQL5.
preview
Medimos la informatividad de los indicadores

Medimos la informatividad de los indicadores

El aprendizaje automático se ha convertido en una técnica popular de desarrollo de estrategias. Por lo general, en el trading se presta más atención a la maximización de la rentabilidad y la precisión de los pronósticos. Al mismo tiempo, el procesamiento de los datos utilizados para la construcción de los modelos predictivos permanece en la periferia. En este artículo, analizaremos el uso del concepto de entropía para evaluar la idoneidad de los indicadores en la construcción de modelos predictivos, como se describe en el libro «Testing and Tuning Market Trading Systems» de Timothy Masters.
preview
Algoritmos de optimización de la población: Modificamos la forma y desplazamos las distribuciones de probabilidad y realizamos pruebas con el cefalópodo inteligente (Smart Cephalopod, SC)

Algoritmos de optimización de la población: Modificamos la forma y desplazamos las distribuciones de probabilidad y realizamos pruebas con el cefalópodo inteligente (Smart Cephalopod, SC)

Este artículo investigará qué efectos provoca el cambio de la forma de las distribuciones de probabilidad en el rendimiento de los algoritmos de optimización. Hoy realizaremos experimentos con el algoritmo de prueba "Smart Cephalopod" (SC) para evaluar la eficacia de distintas distribuciones de probabilidad en el contexto de problemas de optimización.
preview
Algoritmo de optimización del comportamiento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, método de Box-Muller

Algoritmo de optimización del comportamiento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, método de Box-Muller

Este artículo presenta una fascinante inmersión en el mundo del comportamiento social de los organismos vivos y su influencia en la creación de un nuevo modelo matemático, el ASBO (Adaptive Social Behavior Optimisation). Hoy exploraremos cómo los principios de liderazgo, vecindad y cooperación observados en las sociedades de seres vivos inspiran el desarrollo de algoritmos de optimización innovadores.
preview
Gráficos en la biblioteca DoEasy (Parte 97): Procesamiento independiente del desplazamiento de los objetos de formulario

Gráficos en la biblioteca DoEasy (Parte 97): Procesamiento independiente del desplazamiento de los objetos de formulario

En el presente artículo, analizaremos la implementación del desplazamiento independiente de cualquier objeto de formulario con el ratón, y también complementaremos la biblioteca con mensajes de error y nuevas propiedades de transacciones previamente introducidos en el terminal y MQL5.
preview
Características del Wizard MQL5 que debe conocer (Parte 16): Método de componentes principales con vectores propios

Características del Wizard MQL5 que debe conocer (Parte 16): Método de componentes principales con vectores propios

En este artículo analizaremos el método de componentes principales, una técnica de reducción de la dimensionalidad para el análisis de datos, y cómo podemos aplicar este utilizando valores propios y vectores. Como siempre, intentaremos desarrollar un prototipo de la clase de señales del asesor experto que se pueda utilizar en el Wizard MQL5.
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
Trabajando con las series temporales en la biblioteca DoEasy (Parte 57): Objeto de datos del búfer de indicador

Trabajando con las series temporales en la biblioteca DoEasy (Parte 57): Objeto de datos del búfer de indicador

En este artículo, vamos a desarrollar el objeto que incluirá todos los datos de un búfer de un indicador. Estos objetos serán necesarios para almacenar los datos de serie de los búferes de indicadores, a través de los cuales será posible ordenar y comparar los datos de los búferes de cualquier indicador, así como otros datos parecidos.
preview
Creación de un modelo de restricción de tendencia de velas (Parte 9): Asesor Experto de múltiples estrategias (III)

Creación de un modelo de restricción de tendencia de velas (Parte 9): Asesor Experto de múltiples estrategias (III)

¡Bienvenidos a la tercera entrega de nuestra serie sobre tendencias! Hoy profundizaremos en el uso de la divergencia como estrategia para identificar puntos de entrada óptimos dentro de la tendencia diaria predominante. También presentaremos un mecanismo de bloqueo de ganancias personalizado, similar a un stop-loss dinámico, pero con mejoras únicas. Además, actualizaremos el asesor experto Trend Constraint a una versión más avanzada, incorporando una nueva condición de ejecución comercial para complementar las existentes. A medida que avanzamos, continuaremos explorando la aplicación práctica de MQL5 en el desarrollo algorítmico, brindándole información más detallada y técnicas prácticas.
preview
Indicador de posiciones históricas en el gráfico como diagrama de sus ganancias/pérdidas

Indicador de posiciones históricas en el gráfico como diagrama de sus ganancias/pérdidas

En el artículo analizaremos una variante para obtener información sobre posiciones cerradas usando la historia de sus transacciones. Asimismo, crearemos un indicador sencillo que mostrará en forma de gráfico los beneficios/pérdidas aproximados de las posiciones en cada barra.
preview
Gráficos en la biblioteca DoEasy (Parte 98): Desplazamiento de los puntos de anclaje de los objetos gráficos estándar ampliados

Gráficos en la biblioteca DoEasy (Parte 98): Desplazamiento de los puntos de anclaje de los objetos gráficos estándar ampliados

En el presente artículo, continuaremos el desarrollo de los objetos gráficos estándar extendidos, y crearemos la funcionalidad necesaria para desplazar los puntos de pivote de los objetos gráficos compuestos usando los puntos de control para gestionar las coordenadas de los puntos de pivote del objeto gráfico.
preview
Gestión de Riesgo (Parte 4): Finalizando los Métodos Clave de la Clase

Gestión de Riesgo (Parte 4): Finalizando los Métodos Clave de la Clase

Este artículo constituye la cuarta entrega de nuestra serie sobre gestión de riesgo en MQL5, donde continuamos explorando técnicas avanzadas para proteger y optimizar nuestras estrategias de trading. Luego de haber sentado bases importantes en artículos anteriores, ahora nos centraremos en finalizar todos aquellos métodos pendientes que dejamos en la tercera parte, incluyendo funciones para verificar si se han alcanzado ciertos límites de pérdidas o ganancias. Además, presentaremos nuevos eventos clave que permiten una gestión más precisa y ágil.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 58): Series temporales de los datos de búferes de indicadores

Trabajando con las series temporales en la biblioteca DoEasy (Parte 58): Series temporales de los datos de búferes de indicadores

En conclusión del tema de trabajo con series temporales, vamos a organizar el almacenamiento, la búsqueda y la ordenación de los datos que se guardan en los búferes de indicadores. En el futuro, eso nos permitirá realizar el análisis a base de los valores de los indicadores que se crean a base de la biblioteca en nuestros programas. El concepto general de todas las clases de colección de la biblioteca permite encontrar fácilmente los datos necesarios en la colección correspondiente, y por tanto, lo mismo también será posible en la clase que vamos a crear hoy.
preview
Desarrollo de un sistema de repetición (Parte 34): Sistema de órdenes (III)

Desarrollo de un sistema de repetición (Parte 34): Sistema de órdenes (III)

En este artículo concluiremos la primera fase de la construcción. Aunque será algo relativamente rápido, explicaré detalles que quizás no se comentaron anteriormente. Pero aquí explicaré algunas cosas que mucha gente no entiende por qué son como son. Uno de estos casos es el del ratón. ¡¡¡¿Sabes por qué tienes que pulsar la tecla Shift o Ctrl en tu teclado?!!!
preview
Indicadores basados ​​en la clase CCanvas: Rellenando canales con transparencia

Indicadores basados ​​en la clase CCanvas: Rellenando canales con transparencia

En este artículo, analizaremos métodos utilizados para crear indicadores personalizados que se dibujan con la ayuda de la clase CCanvas de la Biblioteca estándar, y también consideraremos las propiedades de los gráficos para transformar coordenadas. Prestaremos especial atención a los indicadores que rellenan de transparencia el área entre las dos líneas.
preview
Teoría de Categorías en MQL5 (Parte 10): Grupos monoidales

Teoría de Categorías en MQL5 (Parte 10): Grupos monoidales

El presente artículo continúa la serie sobre la implementación de la teoría de categorías en MQL5. Hoy analizaremos los grupos monoidales como un medio que normaliza conjuntos de monoides y los hace más comparables entre una gama más amplia de conjuntos de monoides y tipos de datos.
preview
DoEasy. Elementos de control (Parte 28): Estilos de barra en el control «ProgressBar»

DoEasy. Elementos de control (Parte 28): Estilos de barra en el control «ProgressBar»

El artículo desarrollará los estilos de visualización y el texto de descripción para la barra de progreso del control ProgressBar.
preview
Funciones de activación neuronal durante el aprendizaje: ¿la clave de una convergencia rápida?

Funciones de activación neuronal durante el aprendizaje: ¿la clave de una convergencia rápida?

En este artículo presentamos un estudio de la interacción de distintas funciones de activación con algoritmos de optimización en el contexto del entrenamiento de redes neuronales. Se presta especial atención a la comparación entre el ADAM clásico y su versión poblacional al tratar con una amplia gama de funciones de activación, incluidas las funciones oscilatorias ACON y Snake. Usando una arquitectura MLP minimalista (1-1-1) y un único ejemplo de entrenamiento, la influencia de las funciones de activación en el proceso de optimización se aísla de otros factores. Asimismo, propondremos un enfoque para controlar los pesos de la red mediante los límites de las funciones de activación y un mecanismo de reflexión de pesos que evitará los problemas de saturación y estancamiento en el aprendizaje.
preview
DoEasy. Elementos de control (Parte 6): Control Panel, cambio automático del tamaño del contenedor según el contenido interno

DoEasy. Elementos de control (Parte 6): Control Panel, cambio automático del tamaño del contenedor según el contenido interno

En este artículo, continuaremos trabajando en el control "Panel" del objeto WinForms e implementaremos su cambio automático de tamaño según las dimensiones generales de los objetos Dock colocados dentro del panel. Además, añadiremos nuevas propiedades al objeto de biblioteca "Símbolo".
preview
Obtenga una ventaja sobre cualquier mercado (Parte V): Datos alternativos de FRED (Federal Reserve Economic Data) sobre el EURUSD

Obtenga una ventaja sobre cualquier mercado (Parte V): Datos alternativos de FRED (Federal Reserve Economic Data) sobre el EURUSD

En el debate de hoy, utilizamos datos diarios alternativos de la Reserva Federal de St. Louis sobre el índice amplio del dólar estadounidense y una colección de otros indicadores macroeconómicos para predecir el tipo de cambio futuro del EURUSD. Lamentablemente, aunque los datos parecen tener una correlación casi perfecta, no logramos obtener ninguna mejora material en la precisión de nuestro modelo, lo que posiblemente nos sugiere que los inversores podrían estar mejor si utilizan cotizaciones de mercado ordinarias.
preview
Operaciones angulares para tráders

Operaciones angulares para tráders

En este artículo se analizarán las operaciones angulares. Veremos varios métodos para construir ángulos y cómo aplicarlos en el trading.
preview
Ejemplo de Análisis de Redes de Causalidad (CNA), Control Óptimo de Modelos Estocásticos (SMOC) y la Teoría de Juegos de Nash con Aprendizaje Profundo (Deep Learning)

Ejemplo de Análisis de Redes de Causalidad (CNA), Control Óptimo de Modelos Estocásticos (SMOC) y la Teoría de Juegos de Nash con Aprendizaje Profundo (Deep Learning)

Agregaremos Deep Learning a esos tres ejemplos que se publicaron en artículos anteriores y compararemos los resultados con los anteriores. El objetivo es aprender cómo agregar DL (Deep Learning) a otro EA.
preview
DoEasy. Elementos de control (Parte 8): Objetos básicos WinForms por categorías, controles "GroupBox" y "CheckBox

DoEasy. Elementos de control (Parte 8): Objetos básicos WinForms por categorías, controles "GroupBox" y "CheckBox

En este artículo, veremos la creación de los objetos WinForms "GroupBox" y "CheckBox", y crearemos los objetos básicos para las categorías de los objetos WinForms. Todos los objetos que hemos creado hasta ahora son estáticos, es decir, no tienen ninguna funcionalidad para interactuar con el ratón.
preview
Desarrollo de un factor de calidad para los EAs

Desarrollo de un factor de calidad para los EAs

En este artículo, te explicaremos cómo desarrollar un factor de calidad que tu Asesor Experto (EA) pueda mostrar en el simulador de estrategias. Te presentaremos dos formas de cálculo muy conocidas (Van Tharp y Sunny Harris).
preview
Simulación de mercado (Parte 03): Una cuestión de rendimiento

Simulación de mercado (Parte 03): Una cuestión de rendimiento

Muchas veces, estamos obligados a dar un paso atrás para luego avanzar. En este artículo, mostraré todos los cambios necesarios para que el rendimiento de los indicadores Mouse y Chart Trade no se viera comprometido. Como bono, presentaré otros cambios que ocurrieron en otros archivos de encabezado, los cuales serán muy utilizados en el futuro.
preview
Búferes de color en indicadores de periodo y símbolo múltiple

Búferes de color en indicadores de periodo y símbolo múltiple

En este artículo revisaremos la estructura de los búferes de los indicadores de periodo y símbolo múltiple y organizaremos la muestra de los búferes de color de estos indicadores en el gráfico.
preview
Reimaginando las estrategias clásicas (Parte VII): Análisis de los mercados Forex y la deuda soberana en el USDJPY

Reimaginando las estrategias clásicas (Parte VII): Análisis de los mercados Forex y la deuda soberana en el USDJPY

En el artículo de hoy analizaremos la relación entre los tipos de cambio futuros y los bonos gubernamentales. Los bonos se encuentran entre las formas más populares de valores de renta fija y serán el foco de nuestro debate. Únase a nosotros mientras exploramos si podemos mejorar una estrategia clásica utilizando IA.
preview
Algoritmos de optimización de la población: Algoritmo Mind Evolutionary Computation (Computación Evolutiva Mental, (MEC)

Algoritmos de optimización de la población: Algoritmo Mind Evolutionary Computation (Computación Evolutiva Mental, (MEC)

En este artículo, analizaremos un algoritmo de la familia MEC llamado algoritmo MEC Simple de evolución mental (Simple MEC, SMEC). El algoritmo se caracteriza por la belleza de la idea expuesta y su sencillez de aplicación.
preview
DoEasy. Elementos de control (Parte 24): El objeto auxiliar WinForms "Pista"

DoEasy. Elementos de control (Parte 24): El objeto auxiliar WinForms "Pista"

En este artículo, elaboraremos nuevamente la lógica de especificación de los objetos principal y básico para todos los objetos de la biblioteca WinForms; asimismo, desarrollaremos el nuevo objeto básico "Pista" y varias de sus clases derivadas para indicar la posible dirección de movimiento de la línea separadora.
preview
Algoritmos de optimización de la población: Algoritmo Boids, o algoritmo de comportamiento de bandada (Algoritmo Boids, Boids)

Algoritmos de optimización de la población: Algoritmo Boids, o algoritmo de comportamiento de bandada (Algoritmo Boids, Boids)

En este artículo, realizamos un estudio del algoritmo Boids, que se basa en ejemplos únicos del comportamiento de enjambre o bandada de animales. El algoritmo Boids, a su vez, ha servido de base para la creación de toda una clase de algoritmos agrupados bajo el nombre de "inteligencia de enjambre".
preview
Desarrollo de un sistema de repetición (Parte 38): Pavimentando el terreno (II)

Desarrollo de un sistema de repetición (Parte 38): Pavimentando el terreno (II)

Muchas personas que se hacen llamar programadores de MQL5 no tienen los conocimientos básicos que presentaré en este artículo. Muchos consideran que MQL5 es limitado; sin embargo, todo se debe a la falta de conocimientos. Así que no te avergüences de no saber. Avergüénzate, en cambio, de no preguntar. El simple hecho de obligar a MetaTrader 5 a no permitir que un indicador se duplique, en ningún caso nos da los medios para realizar una comunicación bidireccional entre el indicador y el Expert Advisor. Todavía estamos muy lejos de esto. No obstante, el hecho de que el indicador no se duplique en el gráfico nos da cierta tranquilidad.
preview
Operar con noticias de manera sencilla (Parte 2): Gestión de riesgos

Operar con noticias de manera sencilla (Parte 2): Gestión de riesgos

En este artículo, se introducirá la herencia en nuestro código anterior. Se implementará un nuevo diseño de base de datos para brindar eficiencia. Además, se creará una clase de gestión de riesgos para abordar los cálculos de volumen.