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
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
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
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 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
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
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
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: 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
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
Integración de modelos ML con el simulador de estrategias (Conclusión): Implementación de un modelo de regresión para la predicción de precios

Integración de modelos ML con el simulador de estrategias (Conclusión): Implementación de un modelo de regresión para la predicción de precios

Este artículo describe la implementación de un modelo de regresión de árboles de decisión para predecir precios de activos financieros. Se realizaron etapas de preparación de datos, entrenamiento y evaluación del modelo, con ajustes y optimizaciones. Sin embargo, es importante destacar que el modelo es solo un estudio y no debe ser usado en operaciones reales.
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.
preview
DoEasy. Elementos de control (Parte 15): Objeto WinForms TabControl - múltiples filas de encabezados de pestañas, métodos de trabajo con pestañas

DoEasy. Elementos de control (Parte 15): Objeto WinForms TabControl - múltiples filas de encabezados de pestañas, métodos de trabajo con pestañas

En este artículo, continuaremos desarrollando el objeto WinForm TabControl: hoy crearemos la clase de objeto de pestaña, haremos posible la disposición de los encabezados de las pestañas en varias filas y añadiremos los métodos para trabajar con las pestañas del objeto.
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
DoEasy. Controles (Parte 23): mejorando los objetos WinForms TabControl y SplitContainer

DoEasy. Controles (Parte 23): mejorando los objetos WinForms TabControl y SplitContainer

En este artículo, añadiremos los nuevos eventos de ratón respecto a los límites de los espacios de trabajo WinForms, y también corregiremos algunos errores en los controles TabControl y SplitContainer.
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
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
Algoritmo de evolución del caparazón de tortuga (Turtle Shell Evolution Algorithm, TSEA)

Algoritmo de evolución del caparazón de tortuga (Turtle Shell Evolution Algorithm, TSEA)

Hoy hablaremos sobre un algoritmo de optimización único inspirado en la evolución del caparazón de las tortugas. El algoritmo TSEA emula la formación gradual de los sectores de piel queratinizada que representan soluciones óptimas a un problema. Las mejores soluciones se vuelven más "duras" y se encuentran más cerca de la superficie exterior, mientras que las menos exitosas permanecen "blandas" y se hallan en el interior. El algoritmo utiliza la clusterización de soluciones según su calidad y distancia, lo cual permite conservar las opciones menos acertadas y aporta flexibilidad y adaptabilidad.
preview
Ejemplo de toma de beneficios optimizada automáticamente y parámetros de indicadores con SMA y EMA

Ejemplo de toma de beneficios optimizada automáticamente y parámetros de indicadores con SMA y EMA

Este artículo presenta un asesor experto sofisticado para el trading de divisas, que combina el aprendizaje automático con el análisis técnico. Se centra en la negociación de acciones de Apple, presentando optimización adaptativa, gestión de riesgos y múltiples estrategias. Las pruebas retrospectivas muestran resultados prometedores con una alta rentabilidad, pero también caídas significativas, lo que indica potencial para un mayor refinamiento.
preview
DoEasy. Elementos de control (Parte 31): Desplazamiento por el contenido del control "ScrollBar"

DoEasy. Elementos de control (Parte 31): Desplazamiento por el contenido del control "ScrollBar"

En este artículo, crearemos la funcionalidad necesaria para desplazar el contenido del contenedor usando los botones de la barra de desplazamiento horizontal.
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.
preview
DoEasy. Funciones de servicio (Parte 1): Patrones de precios

DoEasy. Funciones de servicio (Parte 1): Patrones de precios

En este artículo empezaremos a desarrollar métodos de búsqueda de patrones de precios usando datos de series temporales. Un patrón tiene una serie de parámetros comunes a todas las clases y tipos de patrones. Todos los datos de este tipo se centrarán en la clase de objeto de patrón abstracto básico. Hoy crearemos una clase de patrón abstracto y una clase de patrón Pin-bar.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 17): Ticks y más ticks (I)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 17): Ticks y más ticks (I)

Aquí vamos a empezar a ver cómo implementar algo realmente interesante y curioso. Pero al mismo tiempo, es extremadamente complicado debido a algunas cuestiones que muchos confunden. Y lo peor que puede pasar es que algunos operadores que se autodenominan profesionales no tienen idea de la importancia de estos conceptos en el mercado de capitales. Sí, a pesar de que el enfoque aquí es la programación, comprender algunas cuestiones relacionadas con las operaciones en los mercados es de suma importancia para lo que vamos a empezar a implementar aquí.
preview
Teoría de categorías en MQL5 (Parte 4): Intervalos, experimentos y composiciones

Teoría de categorías en MQL5 (Parte 4): Intervalos, experimentos y composiciones

La teoría de categorías es una rama de las matemáticas diversa y en expansión, relativamente inexplorada aún en la comunidad MQL5. Esta serie de artículos tiene como objetivo describir algunos de sus conceptos para crear una biblioteca abierta y seguir utilizando esta maravillosa sección para crear estrategias comerciales.
preview
Marcado de datos en el análisis de series temporales (Parte 4): Descomposición de la interpretabilidad usando el marcado de datos

Marcado de datos en el análisis de series temporales (Parte 4): Descomposición de la interpretabilidad usando el 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
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
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
Algoritmos de optimización de la población: microsistema inmune artificial (Micro Artificial immune system, Micro-AIS)

Algoritmos de optimización de la población: microsistema inmune artificial (Micro Artificial immune system, Micro-AIS)

El artículo habla de un método de optimización basado en los principios del sistema inmune del organismo -Micro Artificial immune system, (Micro-AIS)-, una modificación del AIS. El Micro-AIS usa un modelo más simple del sistema inmunitario y operaciones sencillas de procesamiento de la información inmunitaria. El artículo también analizará las ventajas e inconvenientes del Micro-AIS en comparación con el AIS convencional.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 05): Vistas previas

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 05): Vistas previas

Hemos logrado desarrollar una forma de ejecutar la repetición de mercado de manera bastante realista y aceptable. Ahora, vamos a continuar con nuestro proyecto y agregar datos para mejorar el comportamiento de la repetición.
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 2): Continuamos trabajando con la clase CPanel

DoEasy. Elementos de control (Parte 2): Continuamos trabajando con la clase CPanel

En este artículo, eliminaremos algunos errores que surgen al trabajar con los elementos gráficos y continuaremos desarrollando el control CPanel. Estos métodos servirán para establecer por defecto los parámetros de fuente usados para todos los objetos de texto en el panel, que a su vez podrán ser colocados en él en el futuro.
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
Del básico al intermedio: Operadores

Del básico al intermedio: Operadores

En este artículo, exploraremos los operadores básicos. Aunque es un tema fácil de comprender, existen pequeños detalles que marcan una gran diferencia a la hora de incorporar expresiones matemáticas en formato de código. Sin comprender adecuadamente estos detalles, muchos programadores con poca o ninguna experiencia terminan abandonando su intento de crear sus propias soluciones.
Trabajando con los precios en la biblioteca DoEasy (Parte 61): Colección de series de tick de los símbolos
Trabajando con los precios en la biblioteca DoEasy (Parte 61): Colección de series de tick de los símbolos

Trabajando con los precios en la biblioteca DoEasy (Parte 61): Colección de series de tick de los símbolos

Dado que el programa puede utilizar varios símbolos, entonces, es necesario crear su propia lista para cada uno de estos símbolos. En este artículo, vamos a combinar estas listas en una colección de datos de tick. En realidad, se trata de una lista común a base de la clase de la matriz dinámica de punteros a las instancias de la clase CObject y sus herederos de la Biblioteca estándar.
preview
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte III): Descifrando el algoritmo del Boom 1000

Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte III): Descifrando el algoritmo del Boom 1000

En esta serie de artículos, analizamos cómo podemos construir Asesores Expertos capaces de adaptarse de forma autónoma a las condiciones dinámicas del mercado. En el artículo de hoy, intentaremos sintonizar una red neuronal profunda con los mercados sintéticos de Deriv.
preview
Cómo ver las transacciones directamente en el gráfico sin tener que perderse en el historial de transacciones

Cómo ver las transacciones directamente en el gráfico sin tener que perderse en el historial de transacciones

En este artículo, crearemos una herramienta sencilla para visualizar cómodamente posiciones y transacciones directamente en el gráfico con navegación mediante teclas. Esto permitirá a los operadores examinar visualmente las transacciones individuales y recibir toda la información sobre los resultados comerciales directamente en el momento.
preview
Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte IV): Apilamiento de modelos

Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte IV): Apilamiento de modelos

Hoy demostraremos cómo se pueden crear aplicaciones comerciales impulsadas por IA capaces de aprender de sus propios errores. Demostraremos una técnica conocida como apilamiento, mediante la cual usamos 2 modelos para hacer 1 predicción. El primer modelo suele ser un alumno más débil, y el segundo modelo suele ser un modelo más potente que aprende los residuos de nuestro alumno más débil. Nuestro objetivo es crear un conjunto de modelos, para lograr, con suerte, una mayor precisión.
preview
Desarrollo de un sistema de repetición (Parte 39): Pavimentando el terreno (II)

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

Antes de comenzar la segunda fase del desarrollo, es necesario reforzar algunas ideas. Entonces, ¿sabes cómo forzar al MQL5 a hacer lo que es necesario? ¿Has intentado ir más allá de lo que informa la documentación? Si no, prepárate. Porque empezaré a hacer cosas mucho más allá de lo que la mayoría hace normalmente.
preview
Gráficos del índice del dólar y del índice del euro — ejemplo de servicio en MetaTrader 5

Gráficos del índice del dólar y del índice del euro — ejemplo de servicio en MetaTrader 5

Como ejemplo de programa de servicio, consideraremos la creación y actualización de gráficos del índice del dólar (USDX) y del índice del euro (EURX). Al lanzar el servicio, comprobaremos la disponibilidad del instrumento sintético requerido, lo crearemos en caso de que no exista y lo colocaremos en la ventana de Observación del Mercado. A continuación, se creará la historia del instrumento sintético, de minutos y ticks, y se abrirá el gráfico del instrumento creado.
preview
Regresión neta elástica mediante descenso de coordenadas en MQL5

Regresión neta elástica mediante descenso de coordenadas en MQL5

En este artículo, analizaremos la implementación práctica de la regresión neta elástica para minimizar el sobreajuste y al mismo tiempo separar automáticamente los predictores útiles de aquellos que tienen poco poder de pronóstico.
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.