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
Aplicación práctica de las redes neuronales en el trading. Python (Parte I)

Aplicación práctica de las redes neuronales en el trading. Python (Parte I)

En este artículo, analizaremos paso a paso la implementación de un sistema comercial basado en la programación de redes neuronales profundas en Python. Para ello, usaremos la biblioteca de aprendizaje automático TensorFlow, desarrollada por Google. Para describir las redes neuronales, utilizaremos la biblioteca de Keras.
Enfoque ideal sobre el desarrollo y el análisis de sistemas comerciales
Enfoque ideal sobre el desarrollo y el análisis de sistemas comerciales

Enfoque ideal sobre el desarrollo y el análisis de sistemas comerciales

En el presente artículo, trataremos de mostrar con qué criterio elegir un sistema o señal para invertir nuestro dinero, además de cuál es el mejor enfoque para desarrollar sistemas comerciales y por qué este tema es tan importante en el comercio en fórex.
preview
Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte II). Haciendo el marcado

Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte II). Haciendo el marcado

Este artículo continúa el ciclo en el que mostramos la creación de una biblioteca capaz de marcar gráficos manualmente utilizando atajos de teclado. El marcado se realiza con líneas rectas y combinaciones de estas. Esta parte habla directamente sobre el propio dibujado utilizando las funciones descritas en la primera parte. La biblioteca se puede conectar a cualquier asesor experto o indicador, lo cual simplifica sustancialmente las tareas de marcado. Esta solución NO UTILIZA dlls externas: todos los comandos se implementan usando las herramientas integradas de MQL.
preview
Redes neuronales: así de sencillo (Parte 6): Experimentos con la tasa de aprendizaje de la red neuronal

Redes neuronales: así de sencillo (Parte 6): Experimentos con la tasa de aprendizaje de la red neuronal

Ya hemos hablado sobre algunos tipos de redes neuronales y su implementación. En todos los casos, hemos usado el método de descenso de gradiente para entrenar las redes neuronales, lo cual implica la elección de una tasa de aprendizaje. En este artículo, queremos mostrar con ejemplos lo importante que resulta elegir correctamente la tasa de aprendizaje, y también su impacto en el entrenamiento de una red neuronal.
Cuadrícula y martingale: ¿qué son y cómo usarlos?
Cuadrícula y martingale: ¿qué son y cómo usarlos?

Cuadrícula y martingale: ¿qué son y cómo usarlos?

En este artículo trataremos de explicar con detalle qué son la cuadrícula y el martingale, y qué tienen en común. También intentaremos analizar cómo de viables son en realidad estas estrategias. En el artículo habrá una parte matemática y otra práctica.
Trabajando con los precios en la biblioteca DoEasy (Parte 59): Objeto para almacenar los datos de un tick
Trabajando con los precios en la biblioteca DoEasy (Parte 59): Objeto para almacenar los datos de un tick

Trabajando con los precios en la biblioteca DoEasy (Parte 59): Objeto para almacenar los datos de un tick

A partir de este artículo, procedemos a la creación de la funcionalidad de la biblioteca para trabajar con los datos de precios. Hoy, crearemos una clase del objeto que va a almacenar todos los datos de los precios que llegan con un tick.
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
Aproximación por fuerza bruta a la búsqueda de patrones

Aproximación por fuerza bruta a la búsqueda de patrones

En este artículo buscaremos patrones en el mercado, crearemos asesores expertos usando estos como base y verificaremos cuánto tiempo dichos patrones siguen funcionando y, en general, si se mantienen.
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.
El comercio en fórex y sus matemáticas básicas
El comercio en fórex y sus matemáticas básicas

El comercio en fórex y sus matemáticas básicas

El artículo pretende describir las principales características del comercio de divisas de la forma más rápida y simple posible, para compartir verdades sencillas con los lectores principiantes. También intentaremos responder a las preguntas más interesantes en el entorno comercial, así como escribir un indicador simple.
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.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 55): Clase de colección de indicadores

Trabajando con las series temporales en la biblioteca DoEasy (Parte 55): Clase de colección de indicadores

En este artículo, seguiremos desarrollando las clases de los objetos de indicador y sus colecciones. Crearemos la descripción para cada objeto de indicador y ajustaremos la clase de colección para un almacenamiento y obtención correctos de los objetos de indicador desde la lista de colección.
preview
Redes neuronales: así de sencillo (Parte 5): Cálculos multihilo en OpenCL

Redes neuronales: así de sencillo (Parte 5): Cálculos multihilo en OpenCL

Ya hemos analizado algunos tipos de implementación de redes neuronales. Podemos ver con facilidad que se repiten las mismas operaciones para cada neurona de la red. Y aquí sentimos el legítimo deseo de aprovechar las posibilidades que ofrece la computación multihilo de la tecnología moderna para acelerar el proceso de aprendizaje de una red neuronal. En el presente artículo, analizaremos una de las opciones para tal implementación.
preview
¿Cómo ganar $1 000 000 en el trading algorítmico? ¡En los servicios de MQL5.com!

¿Cómo ganar $1 000 000 en el trading algorítmico? ¡En los servicios de MQL5.com!

Todo tráder llega al mercado con el objetivo de ganar su primer millón de dólares. ¿Cómo podemos conseguirlo sin grandes riesgos y sin capital inicial? Los servicios MQL5 ofrecen estas posibilidades a los desarrolladores y tráders en cualquier país del mundo.
preview
Gradient boosting en el aprendizaje de máquinas transductivo y activo

Gradient boosting en el aprendizaje de máquinas transductivo y activo

En este artículo, el lector podrá familiarizarse con los métodos de aprendizaje automático activo basados en datos reales, descubriendo además cuáles son sus ventajas y desventajas. Puede que estos métodos terminen por ocupar un lugar en su arsenal de modelos de aprendizaje automático. El término transducción fue introducido por Vladímir Naúmovich Vápnik, el inventor de la máquina de vectores de soporte (SVM).
preview
Redes neuronales: así de sencillo (Parte 4): Redes recurrentes

Redes neuronales: así de sencillo (Parte 4): Redes recurrentes

Continuamos nuestra inmersión en el mundo de las redes neuronales. En el presente artículo, hablaremos de las redes neuronales recurrentes. Este tipo de redes neuronales se ofrece para su utilización con series temporales, que son precisamente los gráficos de precios en la plataforma comercial MetaTrader 5.
preview
Redes neuronales: así de sencillo (Parte 3): Redes convolucionales

Redes neuronales: así de sencillo (Parte 3): Redes convolucionales

Continuando el tema de la redes neuronales, proponemos al lector analizar las redes neuronales convolucionales. Este tipo de redes neuronales ha sido desarrollado para buscar objetos en una imagen. Asimismo, analizaremos cómo nos pueden ayudar al operar en los mercados financieros.
preview
Optimización móvil continua (Parte 8): Mejorando el programa y corrigiendo los errores encontrados

Optimización móvil continua (Parte 8): Mejorando el programa y corrigiendo los errores encontrados

A petición de los usuarios y lectores del presente ciclo de artículos, el programa ha sido modificado, y ahora podemos decir que el este artículo contiene la nueva versión del autooptimizador. Asimismo, hemos introducido en el autooptimizador tanto las mejoras solicitadas, como algunas nuevas cuya idea surgió durante la corrección del programa.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 54): Clases herederas del indicador abstracto básico

Trabajando con las series temporales en la biblioteca DoEasy (Parte 54): Clases herederas del indicador abstracto básico

En este artículo, vamos a hablar de la creación de las clases de los objetos herederos del indicador abstracto básico. Estos objetos nos permitirán crear los asesores expertos tipo indicador, recopilar y obtener estadísticas de valores de datos de diferentes indicadores y precios. Además, crearemos una colección de objetos de indicador de la cual se podrá obtener el acceso a las propiedades y datos de cada indicador creado en el programa.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 53): Clase del indicador abstracto básico

Trabajando con las series temporales en la biblioteca DoEasy (Parte 53): Clase del indicador abstracto básico

En este artículo, vamos a analizar la creación de la clase del indicador abstracto que a continuación va a usarse como una clase básica para crear objetos de los indicadores estándar y personalizados de la biblioteca.
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
Optimización paralela con el método de enjambre de partículas (Particle Swarm Optimization)

Optimización paralela con el método de enjambre de partículas (Particle Swarm Optimization)

El presente artículo describimos un modo de optimización rápida usando el método de enjambre de partículas, y presentamos una implementación en MQL lista para utilizar tanto en el modo de flujo único dentro de un EA, como en el modo paralelo de flujo múltiples como un complemento ejecutado en los agentes locales del simulador.
preview
Redes neuronales: así de sencillo (Parte 2): Entrenamiento y prueba de la red

Redes neuronales: así de sencillo (Parte 2): Entrenamiento y prueba de la red

En el presente artículo, proseguiremos nuestro estudio de las redes neuronales, iniciado en el artículo anterior, y analizaremos un ejemplo de uso en los asesores de la clase CNet que hemos creado. Asimismo, analizaremos dos modelos de red neuronal que han mostrado resultados semejantes tanto en su tiempo de entrenamiento, como en la precisión de sus predicciones.
preview
Símbolo personalizados: fundamentos de uso en la práctica

Símbolo personalizados: fundamentos de uso en la práctica

El presente artículo está dedicado a la generación programática de los símbolos personalizados que sirven para mostrar varios métodos populares de representación de cotizaciones. Asimismo, ofrecemos una adaptación poco invasiva de asesores para comerciar con un símbolo real desde el gráfico del símbolo personalizado derivado. Los códigos fuente se adjuntan al artículo.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 49): Indicadores estándar de período, símbolo y búfer múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 49): Indicadores estándar de período, símbolo y búfer múltiples

En el presente artículo, vamos a mejorar las clases de la biblioteca para tener la posibilidad de crear los indicadores estándar de período y símbolo múltiples que requieren varios búferes de indicador para visualizar sus datos.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 51): Indicadores estándar compuestos de período y símbolo múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 51): Indicadores estándar compuestos de período y símbolo múltiples

En este artículo, vamos a finalizar el desarrollo de indicadores estándar de período y símbolo múltiples. A base del indicador Ichimoku Kinko Hyo, vamos a analizar la creación de los indicadores personalizados de composición compleja que disponen de los búferes dibujados auxiliares para la visualización de los datos en el gráfico.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 50): Indicadores estándar de período y símbolo múltiples con desplazamiento

Trabajando con las series temporales en la biblioteca DoEasy (Parte 50): Indicadores estándar de período y símbolo múltiples con desplazamiento

En el artículo de hoy, vamos a mejorar los métodos de la biblioteca para una representación correcta de los indicadores de período y símbolo múltiples cuyas líneas se muestran en el gráfico del símbolo actual con desplazamiento que se establece en los ajustes. Además, acondicionaremos el contenido dentro de los métodos de trabajo con los indicadores estándar y guardaremos el código sobrante del indicador final en la parte de la biblioteca.
¿Qué son las tendencias y cómo es la estructura de los mercados: de tendencia o plana?
¿Qué son las tendencias y cómo es la estructura de los mercados: de tendencia o plana?

¿Qué son las tendencias y cómo es la estructura de los mercados: de tendencia o plana?

Los tráders hablan con frecuencia sobre tendencias y mercado plano (flat), pero muchos de ellos no entienden correctamente qué es en realidad una tendencia o un flat, y son muy pocos los capaces de explicar estos conceptos. Alrededor de estos conceptos básicos, se ha ido formando un conjunto de prejuicios y confusiones que pervive a día de hoy. Y todo a pesar de que, para ganar dinero, es necesario comprender su sentido matemático y lógico. En este artículo, veremos con detalle qué es una tendencia, qué es el mercado plano, y cómo es la estructura de los mercados: de tendencia, plana, o de otro tipo. Asimismo, analizaremos cómo deberá ser una estrategia para ganar dinero en un mercado de tendencia, cómo deberá ser una estrategia para ganar dinero durante un mercado plano.
preview
Aprendizaje de máquinas de Yándex (CatBoost) sin estudiar Python y R

Aprendizaje de máquinas de Yándex (CatBoost) sin estudiar Python y R

En el artículo, descricribiremos las etapas del proceso de aprendizaje de máquinas usando un ejemplo concreto, y también adjuntaremos un código sobre el mismo. Para obtener los modelos, no necesitaremos conocer ningún lenguaje de programación como Python o R. Los conocimientos requeridos de MQL5 no serán profundos, iguales, por cierto, que los del autor del presente artículo; por eso, esperamos que este artículo sirva de guía para un amplio círculo de lectores que deseen valorar de forma experimental las posibilidades del aprendizaje de máquinas e implementar estas en sus desarrollos.
preview
Gradient boosting (CatBoost) en las tareas de construcción de sistemas comerciales. Un enfoque ingenuo

Gradient boosting (CatBoost) en las tareas de construcción de sistemas comerciales. Un enfoque ingenuo

Entrenamiento del clasificador CatBoost en el lenguaje Python, exportación al formato mql5; análisis de los parámetros del modelo y simulador de estrategias personalizado. Para preparar los datos y entrenar el modelo, se usan el lenguaje de programación Python y la biblioteca MetaTrader5.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 48): Indicadores de periodo y símbolo múltiples en un búfer en una subventana
Trabajando con las series temporales en la biblioteca DoEasy (Parte 48): Indicadores de periodo y símbolo múltiples en un búfer en una subventana

Trabajando con las series temporales en la biblioteca DoEasy (Parte 48): Indicadores de periodo y símbolo múltiples en un búfer en una subventana

En el presente artículo, analizaremos la creación de indicadores estándar de periodo y símbolo múltiples que utilizan un búfer de indicador para sus construcciones, y que funcionan en una subventana del gráfico. Asimismo, prepararemos las clases de la biblioteca para trabajar con los indicadores estándar que funcionan en la ventana principal del programa, o que tienen más de un búfer para mostrar sus datos.
Uso de criptografía con aplicaciones externas
Uso de criptografía con aplicaciones externas

Uso de criptografía con aplicaciones externas

En el presente artículo, analizaremos la encriptación/desencriptación de objetos en MetaTrader y los programas externos para aclarar las condiciones en las que se obtendrán los mismos resultados con los mismos datos iniciales.
Enfoque científico sobre el desarrollo de algoritmos comerciales
Enfoque científico sobre el desarrollo de algoritmos comerciales

Enfoque científico sobre el desarrollo de algoritmos comerciales

En el presente artículo, estudiaremos con ejemplos la metodología de desarrollo de algoritmos comerciales usando un enfoque científico secuencial sobre el análisis de las posibiles patrones de formación de precio y la construcción de algoritmos comerciales basados en dichas leyes.
Sistema de notificaciones de voz para evetos comerciales y señales
Sistema de notificaciones de voz para evetos comerciales y señales

Sistema de notificaciones de voz para evetos comerciales y señales

En nuestros tiempos, los asistentes de voz juegan hace mucho un papel considerable en la vida del hombre, ya sea como navegador, buscador de voz o traductor. Por eso, en el presente artículo trataremos de desarrollar un sistema sencillo y comprensible de notificaciones de voz para los diferentes eventos comerciales, los estados del mercado o las señales de los sistemas comerciales.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 47): Indicadores estándar de periodo y símbolo múltiples
Trabajando con las series temporales en la biblioteca DoEasy (Parte 47): Indicadores estándar de periodo y símbolo múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 47): Indicadores estándar de periodo y símbolo múltiples

En el presente artículo, comenzaremos a desarrollar los métodos de trabajo con los indicadores estándar, lo cual nos permitirá crear indicadores estándar de periodo y símbolo múltiples basados en las clases de la bibliotecas. Asimismo, añadiremos a las clases de las series temporales el evento "Barras Omitidas" y aligeraremos el código del programa principal, trasladando las funciones de preparación de la biblioteca de dicho programa a la clase CEngine.
Instrumental para el comercio manual rápido: Trabajando con órdenes abiertas y órdenes pendientes
Instrumental para el comercio manual rápido: Trabajando con órdenes abiertas y órdenes pendientes

Instrumental para el comercio manual rápido: Trabajando con órdenes abiertas y órdenes pendientes

En este artículo, ampliaremos las posibilidades del instrumental, añadiremos al mismo las capacidades de abrir posiciones comerciales, y también crearemos un recuadro para registrar las órdenes abiertas y las órdenes pendientes con la posibilidad de editar las mismas.
Teoría de probabilidad y estadística matemática con ejemplos (Parte I): Fundamentos y teoría elemental
Teoría de probabilidad y estadística matemática con ejemplos (Parte I): Fundamentos y teoría elemental

Teoría de probabilidad y estadística matemática con ejemplos (Parte I): Fundamentos y teoría elemental

El trading siempre ha estado relacionado con la toma de decisiones en condiciones de incertidumbre. Esto significa que los resultados de las decisiones tomadas no son totalmente obvios en el momento en que se toman. Por este motivo, resultan importantes los enfoques teóricos sobre la construcción de los modelos matemáticos que permiten describir estas situaciones ofreciendo información relevante e ilustrativa.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 46): Búferes de indicador de periodo y símbolo múltiples
Trabajando con las series temporales en la biblioteca DoEasy (Parte 46): Búferes de indicador de periodo y símbolo múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 46): Búferes de indicador de periodo y símbolo múltiples

En el presente artículo, mejoraremos las clases de los objetos de los búferes de indicador para trabajar en el modo multisímbolo. De esta forma, tendremos todo listo para crear en nuestros programas indicadores de periodo y símbolo múltiples. También añadiremos la funcionalidad que falta en los búferes de cálculo, lo cual nos permitirá crear indicadores estándar de periodo y símbolo múltiples.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 45): Búferes de indicador de periodo múltiple
Trabajando con las series temporales en la biblioteca DoEasy (Parte 45): Búferes de indicador de periodo múltiple

Trabajando con las series temporales en la biblioteca DoEasy (Parte 45): Búferes de indicador de periodo múltiple

En el artículo, comenzaremos a mejorar los objetos de búfer de indicador y la clase de colección de búferes para trabajar en los modos de periodo y símbolo múltiples. Asimismo, analizaremos el funcionamiento de los objetos de búfer para obtener y mostrar los datos desde cualquier marco temporal en el gráfico actual del símbolo actual.
Instrumental para el comercio manual rápido: Funcionalidad básica
Instrumental para el comercio manual rápido: Funcionalidad básica

Instrumental para el comercio manual rápido: Funcionalidad básica

En la actualidad, cada vez son más los tráders que dan el salto a los sistemas comerciales automáticos. Muchos de ellos, o bien demandan una configuración inicial, o bien (una parte de los mismos) que los sistemas ya estén totalmente automatizados. No obstante, queda una parte significativa de tráders que comercian manualmente, a la antigua. En este artículo, crearemos un conjunto de herramientas para el comercio automático rápido con la ayuda de atajos de teclado y la ejecución de acciones comerciales rápidas en un solo clic.