Artículos sobre programación y uso de robots comerciales en el lenguaje MQL5

icon

Los Asesores Expertos creados para la plataforma MetaTrader ejecutan una gran variedad de funciones ideadas por sus desarrolladores. Los robots comerciales son capaces de realizar el seguimiento de los instrumentos financieros 24 horas al día, copiar las operaciones, confeccionar y enviar los informes, analizar las noticias, e incluso facilitar al operador una interfaz gráfica personalizada desarrollada por encargo.

Los artículos contienen las técnicas de programación, ideas matemáticas para el procesamiento de datos, consejos para la creación y el encargo de robots comerciales.

Nuevo artículo
últimas | mejores
preview
Gestionando el Horario (Parte 1): Fundamentos

Gestionando el Horario (Parte 1): Fundamentos

Funciones y fragmentos de código que simplifican y aclaran el manejo del tiempo, la diferencia con el bróker y los cambios en el horario de verano o invierno. La sincronización precisa puede ser un elemento crucial en el trading. A la hora actual, ¿la bolsa de valores de Londres o Nueva York está ya abierta o sigue cerrada? ¿Cuándo comienza y finaliza el horario comercial para el trading en Fórex? Para un tráder que comercia de forma manual y en vivo, esto no supone un gran problema.
Asesor Experto multiplataforma: Gestión de capital (money management)
Asesor Experto multiplataforma: Gestión de capital (money management)

Asesor Experto multiplataforma: Gestión de capital (money management)

En este artículo se analiza la implementación de la gestión de capital (money management) en el Asesor Experto multiplataforma. Las clases de la gestión de capital se encargan del cálculo del tamaño del lote que el Asesor Experto usará para entrar en la siguiente operación.
El reproductor de trading basado en el historial de las transacciones
El reproductor de trading basado en el historial de las transacciones

El reproductor de trading basado en el historial de las transacciones

El reproductor de trading. Solo son cuatro palabras, y no requieren ninguna explicación. Le viene a la mente un pequeño dispositivo con botones. Empieza a reproducir al presionar un botón y cambia la velocidad de reproducción al mover la palanca. En realidad, es muy parecido. En este artículo, quiero mostrar el reproductor que he desarrollado y que reproduce el historial de las operaciones como si fuera en tiempo real. El artículo trata algunos matices de la programación orientada a objetos, el trabajo con indicadores y la gestión de los gráficos.
Almacenamiento y visualización de la información
Almacenamiento y visualización de la información

Almacenamiento y visualización de la información

Este artículo expone algunos métodos eficientes de almacenamiento y visualización de la información. Vamos a proponer algunas alternativas tanto para el archivo de log estándar del terminal como para la función Comment().
Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking
Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking

Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking

Continuamos construyendo conjuntos. Ahora vamos a añadir al conjunto bagging creado anteriormente un combinador entrenable: una red neuronal profunda. Una red neuronal combina las mejores 7 salidas del conjunto después de la poda. La segunda recibe en la entrada las 500 salidas del conjunto, las poda y las combina. Construiremos las redes neuronales con la ayuda del paquete keras/TensorFlow de Python. Veremos brevemente las posibilidades del paquete. Y finalmente, realizaremos la simulación y compararemos la calidad de la clasificación de los conjuntos bagging y stacking.
Procesando los eventos de transacciones en el Expert Advisor por medio de la función OnTrade()
Procesando los eventos de transacciones en el Expert Advisor por medio de la función OnTrade()

Procesando los eventos de transacciones en el Expert Advisor por medio de la función OnTrade()

MQL5 introdujo infinidad de soluciones innovadoras, incluyendo el trabajo con distintos tipos de eventos (eventos de reloj, eventos sobre transacciones, eventos personalizados, etc.). La capacidad para gestionar eventos permite crear un tipo completamente nuevo de programas para el trading automático o semi-automático. En este artículo vamos a ver los eventos de transacciones y a escribir código para la función OnTrade(), encargada de procesar el evento Trade.
Patrones de viraje: Poniendo a prueba el patrón "Pico/valle doble"
Patrones de viraje: Poniendo a prueba el patrón "Pico/valle doble"

Patrones de viraje: Poniendo a prueba el patrón "Pico/valle doble"

En la práctica del comercio, los tráders buscan con frecuencia los puntos de viraje de tendencia, puesto que precisamente en el momento en el que surge una tendencia, el precio tiene el mayor potencial de movimiento. Precisamente por ello, en la práctica del análisis técnico se analizan diferentes patrones de viraje. Uno de los más famosos y más utilizados en el patrón del pico/valle doble. En este artículo ofrecemos una variante de detección automática del patrón, y también ponemos a prueba su rentabilidad con datos históricos.
Neuroredes profundas (Parte IV). Creación, entrenamiento y simulación de un modelo de neurored
Neuroredes profundas (Parte IV). Creación, entrenamiento y simulación de un modelo de neurored

Neuroredes profundas (Parte IV). Creación, entrenamiento y simulación de un modelo de neurored

En el artículo se analizan las nuevas posibilidades del paquete darch (v.0.12.0). Se describen los resultados del entrenamiento de una red neuronal profunda con diferentes tipos de datos, estructura y secuencia de entrenamiento. También se analizan los resultados.
Gestión de capital según Vince. Implementación como módulo de Wizard MQL5
Gestión de capital según Vince. Implementación como módulo de Wizard MQL5

Gestión de capital según Vince. Implementación como módulo de Wizard MQL5

El artículo se basa en el libro de R.Vince "Las matemáticas de la gestión de capital". En este se analizan los métodos empíricos y paramétricos usados para localizar el tamaño óptimo de lote comercial, sobre cuyas bases se han escrito los módulos comerciales de gestión de capital para el wizard MLQ5.
preview
Aprenda por qué y cómo diseñar su sistema de trading algorítmico

Aprenda por qué y cómo diseñar su sistema de trading algorítmico

En este artículo, mostraremos los fundamentos de MQL que permitirán a los tráders principiantes diseñar su propio sistema de trading algorítmico (Asesor Experto) mediante el diseño de un sistema de trading algorítmico simple después de mencionar algunas ideas básicas de MQL5
Unos cuantos consejos para clientes que acaban de empezar
Unos cuantos consejos para clientes que acaban de empezar

Unos cuantos consejos para clientes que acaban de empezar

La sabiduría popular, cuya autoría suele atribuirse a personas famosas, dice: "Quien no hace nada, no se equivoca". Si no consideramos también la inactividad como un error, entonces resulta difícil no estar de acuerdo con esto. Sin embargo, es posible también analizar los errores que se han cometido con anterioridad (los propios y los ajenos), con objeto de reducir al mínimo los que podamos cometer en el futuro. Ahora haremos un intento de aclararnos con las posibles situaciones que puedan aparecer durante el proceso de trabajo en el servicio homónimo.
Algoritmos que generan ingresos empleando órdenes Trailing Stop
Algoritmos que generan ingresos empleando órdenes Trailing Stop

Algoritmos que generan ingresos empleando órdenes Trailing Stop

El objetivo de este artículo es estudiar la rentabilidad de los algoritmos con diferentes entradas y salidas en el mercado usando órdenes Trailing Stop. Los tipos de entrada que se usaran son las entradas aleatorias y las entradas inversas. Las órdenes Stop que se usarán son las de tipo Trailing Stop y Trailing Take. El artículo describe los algoritmos generadores de ingresos con una rentabilidad en torno al 30% al año.
Desarrollando un EA comercial desde cero
Desarrollando un EA comercial desde cero

Desarrollando un EA comercial desde cero

Comprenda cómo desarrollar un EA para tráding programando lo menos posible
Mi primer "Grial"
Mi primer "Grial"

Mi primer "Grial"

Se han examinado los errores más frecuentes que llevan a los programadores primerizos a la creación de un sistema de trading "para hacerse de oro" (cuando se ha probado). Hay expertos ejemplares que muestran resultados fantásticos durante la prueba, pero se pierden resultados durante el trading real.
Cómo mejorar el simulador de estrategias para optimizar indicadores usando ejemplos de los mercados de tendencia y flat
Cómo mejorar el simulador de estrategias para optimizar indicadores usando ejemplos de los mercados de tendencia y flat

Cómo mejorar el simulador de estrategias para optimizar indicadores usando ejemplos de los mercados de tendencia y flat

Al comerciar con diferentes estrategias a veces se requiere determinar si el mercado se encuentra en tendencia o en flat. Con este objetivo se desarrollan multitud de indicadores. ¿Pero cómo evaluar si el indicador cumple o no con la tarea indicada? ¿Cómo aclarar cuál es el diapasón medio del estado del flat o de la tendencia para definir nuestros stops y objetivos? En este artículo se propone usar para ello el simulador de estrategias, demostrando al mismo tiempo que no solo sirve para la optimización de robots para determinadas necesidades. Como indicador de prueba vamos a usar a nuestro viejo conocido ADX.
Un Gestor de Órdenes Virtuales para rastrear órdenes dentro del entorno centrado en posiciones de MetaTrader 5
Un Gestor de Órdenes Virtuales para rastrear órdenes dentro del entorno centrado en posiciones de MetaTrader 5

Un Gestor de Órdenes Virtuales para rastrear órdenes dentro del entorno centrado en posiciones de MetaTrader 5

Esta biblioteca de clase se puede añadir al Asesor Experto de MetaTrader 5 para activarla y escribirla con un enfoque centrado en las órdenes, muy similar a MetaTrader 4, en comparación con el enfoque basado en posiciones de MetaTrader 5. Esto se consigue rastreando las órdenes virtuales en el Terminal de Cliente MetaTrader 5, manteniendo a la vez un stop de seguridad para cada posición como protección ante desastres.
Creando un ayudante para el comercio manual
Creando un ayudante para el comercio manual

Creando un ayudante para el comercio manual

El número de robots comerciales para trabajar en los mercados de divisas está creciendo últimamente como una bola de nieve. En ellos se implementan diferentes conceptos y estrategias, pero nadie ha conseguido hasta el momento crear una muestra perfecta de inteligencia artificial que nunca tenga pérdidas. Por eso, muchos tráders se mantienen fieles al comercio manual. Precisamente para esos especialistas se crean los ayudantes robotizados, los llamados paneles comerciales. Este artículo es otro ejemplo más de la creación de un panel comercial partiendo "desde cero".
Módulo de señales comerciales según el sistema de Bill Williams
Módulo de señales comerciales según el sistema de Bill Williams

Módulo de señales comerciales según el sistema de Bill Williams

En el artículo se describen las reglas del sistema comercial de Bill Williams, el orden de uso del módulo MQL5 desarrollado para la búsqueda y marcado de patrones de este sistema en el gráfico, el comercio automático según los patrones hallados, y también se presentan los resultados de la simulación con diferentes instrumentos comerciales.
Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación
Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación

Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación

El artículo ofrece una descripción de las formas de utilización del análisis de regresión múltiple para el desarrollo de sistemas de trading. Muestra el uso del análisis de regresión para la automatización de la búsqueda de estrategias. Se proporciona como ejemplo una ecuación de regresión generada e integrada en un asesor experto sin necesidad de disponer de habilidades de programación.
Asesor Experto multiplataforma: Niveles stop
Asesor Experto multiplataforma: Niveles stop

Asesor Experto multiplataforma: Niveles stop

En este artículo se analiza la implementación de niveles stop en el asesor comercial, la implementación es compatible con las plataformas MetaTrader 4 y MetaTrader 5.
Creando un feed de noticias personalizado en MetaTrader 5
Creando un feed de noticias personalizado en MetaTrader 5

Creando un feed de noticias personalizado en MetaTrader 5

En el artículo se analiza la posibilidad de crear un feed de noticias flexible, que ofrecezca multitud de opciones para elegir el tipo de noticias y su fuente. El artículo muestra cómo se pueden integrar web API con el terminal MetaTrader 5.
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN

Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN

En el artículo se analizan las posibilidades de la optimización bayesiana de los hiperparámetros de las neuroredes profundas obtenidas con diferentes formas de entrenamiento. Se compara la calidad de la clasificación de las DNN con los hiperparámetros óptimos en diferentes variedades de entrenamiento. Se ha comprobado mediante forward tests la profundidad de la efectividad de los hiperparámetros óptimos de la DNN. Se han definido los posibles campos de mejora de la calidad de la clasificación.
Neuroredes profundas (Parte I). Preparación de datos
Neuroredes profundas (Parte I). Preparación de datos

Neuroredes profundas (Parte I). Preparación de datos

Esta serie de artículos continúa y desarrolla el tema de las neuroredes profundas (DNN), que ha sido incluidas en los últimos tiempos en muchas áreas aplicadas, incluyendo el trading. Se analizan las corrientes de dicho tema, comprobándose con experimentos prácticos los nuevos métodos e ideas. El primer artículo de la serie está dedicado a la preparación de los datos para las DNN.
¿Cómo copiar señales con la ayuda de un asesor según sus propias normas?
¿Cómo copiar señales con la ayuda de un asesor según sus propias normas?

¿Cómo copiar señales con la ayuda de un asesor según sus propias normas?

Al suscribirse a una señal puede darse la situación siguiente: su cuenta comercial tiene un apalancamiento de 1:100, el proveedor tiene un apalancamiento de 1:500 y comercia con un lote mínimo, y sus balances comerciales son prácticamente iguales, además, el coeficiente de copiado es del 10% al 15%. En este artículo hablaremos de cómo aumentar el coeficiente de copiado en ese caso.
Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts
Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts

Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts

En el artículo vamos a analizar cuestiones relacionadas con el guaradado de objetos dinámicos, matrices y otras variables en forma de propiedades de asesores, indicadores y scripts en archivos de texto. Estos son un complemento cómodo a la funcionalidad de los recursos estándar propuestos por los lenguajes MQL.
MQL5 Wizard: Nueva Versión
MQL5 Wizard: Nueva Versión

MQL5 Wizard: Nueva Versión

Este artículo contiene descripciones de los nuevos elementos disponibles en el MQL5 Wizard actualizado. La arquitectura actualizada de señales nos permite crear robots de trading basados en la combinación de varios patrones de mercado. El ejemplo que contiene este artículo explica el procedimiento de creación interactiva de un Asesor Experto.
MQL para "Dummies": Cómo Diseñar y Construir Clases de Objetos
MQL para "Dummies": Cómo Diseñar y Construir Clases de Objetos

MQL para "Dummies": Cómo Diseñar y Construir Clases de Objetos

Creando un modelo de programa de diseño visual demostramos cómo diseñar y construir clases en MQL5. Este artículo está escrito para programadores principiantes que están trabajando con aplicaciones MT5. Propondremos una tecnología sencilla y fácil de entender para crear clases sin necesidad de entrar muy a fondo en la teoría de programación orientada al objeto.
Las matemáticas de los algoritmos genéticos
Las matemáticas de los algoritmos genéticos

Las matemáticas de los algoritmos genéticos

Los algoritmos genéticos evolutivos se aplican en tareas de optimización. Por ejemplo en el aprendizaje neuronet, esto es, para seleccionar los valores de peso que permiten obtener el mínimo error. El algoritmo genético se basa en el método de búsqueda aleatoria.
Asesor Experto multiplataforma: Filtros temporales
Asesor Experto multiplataforma: Filtros temporales

Asesor Experto multiplataforma: Filtros temporales

En este artículo se analiza la implementación de diferentes métodos de la filtración temporal en el Asesor Experto multiplataforma. Las clases de los filtros temporales se ocupan de verificar la correspondencia de un determinado momento de tiempo a un determinado período definido en los ajustes.
Colocando las entradas por los indicadores
Colocando las entradas por los indicadores

Colocando las entradas por los indicadores

En la vida de cada trader pueden ocurrir diferentes situaciones. A menudo usamos el historial de transacciones rentables para intentar restablecer una estrategia, y usando el historial de pérdidas, tratamos de mejorarla. En ambos casos comparamos las transacciones con indicadores conocidos. En este artículo, se propone la técnica de comparación por lotes de las transacciones con una serie de indicadores.
El poder del ZigZag (Parte II): Ejemplos de obtención, procesamiento y representación de datos.
El poder del ZigZag (Parte II): Ejemplos de obtención, procesamiento y representación de datos.

El poder del ZigZag (Parte II): Ejemplos de obtención, procesamiento y representación de datos.

En la primera parte, describimos un indicador ZigZag modificado y una clase para la obtención de datos de los indicadores de este tipo. Ahora vamos a mostrar cómo crear indicadores basados ​​en dichas herramientas, además de escribir un experto para las pruebas, que realizará transacciones según las señales generadas por el indicador ZigZag. Como añadido, en este artículo se ofrecerá una nueva versión de la biblioteca de creación de interfaces gráficas EasyAndFast.
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2

Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2

En este artículo se describe el nuevo enfoque en las cuestiones de la cobertura (hedging) de posiciones y se pone punto en las discusiones entre los usuarios de MetaTrader 4 y MetaTrader 5 sobre esta materia. Es la continuación de la primera parte: “Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando el panel HedgeTerminal, Parte 1”. En la segunda parte se describe la integración de los EAs personalizados con HedgeTerminalAPI, una biblioteca especial de virtualización que permite tradear bidireccionalmente estando en un entorno cómodo que permite gestionar sus posiciones de una manera sencilla y clara.
El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado
El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado

El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado

En este artículo se analiza el problema del cálculo del volumen total de la posición de un determinado símbolo y número mágico. El método propuesto requiere solamente la parte estrictamente necesaria del historial de las transacciones, encuentra el tiempo más próximo cuando el total de la posición es igual a cero, y lleva a cabo los cálculos con las últimas transacciones. También se analiza el trabajo del terminal de cliente con variables globales.
Cómo trabajar con el módem GSM de un experto de MQL5
Cómo trabajar con el módem GSM de un experto de MQL5

Cómo trabajar con el módem GSM de un experto de MQL5

En la actualidad existen medios suficientes para monitorizar a distancia una cuenta comercial, con toda comodidad: con la ayuda de los terminales móviles, las notificaciones push y el trabajo con ICQ. Pero para todo ello se debe tener conexión a internet. Este artículo describe la creación un experto que les permitirá mantenerse en contacto con su terminal comercial, incluso en el caso de que el internet móvil no está disponible, más concretamente con ayuda de llamadas y mensajes SMS.
El prototipo del Robot de trading
El prototipo del Robot de trading

El prototipo del Robot de trading

Este artículo resume y sistematiza los principios para la creación de algoritmos de sistemas de trading. El artículo aborda el diseño del algoritmo del experto. Como ejemplo, se aborda la clase CExpert Advisor, que se puede utilizar para un desarrollo rápido y sencillo de los sistemas de trading.
El enfoque econométrico en la búsqueda de leyes de mercado: autocorrelación, mapas de calor y diagramas de dispersión
El enfoque econométrico en la búsqueda de leyes de mercado: autocorrelación, mapas de calor y diagramas de dispersión

El enfoque econométrico en la búsqueda de leyes de mercado: autocorrelación, mapas de calor y diagramas de dispersión

Investigación ampliada de características estacionales: autocorrelación, mapas de calor y diagramas de dispersión. El objetivo de este artículo es mostrar que la "memoria del mercado" tiene un carácter estacional que se muestra a través de la maximización de la correlación de los incrementos de orden aleatorio.
Recetas MQL5 - Señales comerciales de los canales móviles
Recetas MQL5 - Señales comerciales de los canales móviles

Recetas MQL5 - Señales comerciales de los canales móviles

En el artículo se muestra el proceso de desarrollo e implemementación de una clase-señalizadora en base a los canales móviles. A cada versión de la señal le sigue una estrategia comercial con los resultados de la simulación. Para crear las clases derivadas se usan las ​​clases de Biblioteca estándar.
Sistema comercial 'Turtle Soup' y su modificación 'Turtle Soup Plus One'
Sistema comercial 'Turtle Soup' y su modificación 'Turtle Soup Plus One'

Sistema comercial 'Turtle Soup' y su modificación 'Turtle Soup Plus One'

En este artículo han sido formalizadas y programadas las reglas de las estrategias comerciales llamadas «Turtle Soup» y «Turtle Soup Plus One» del libro titulado «Street Smarts: High Probability Short-Term Trading Strategies», escrito por Linda Raschke y Laurence Connors. Las estrategias descritas en este libro recibieron bastante amplia acogida, pero es importante comprender que sus autores las ideaban basándose en el comportamiento del mercado de hace 15-20 años.
Gap - ¿una estrategia rentable o 50/50?
Gap - ¿una estrategia rentable o 50/50?

Gap - ¿una estrategia rentable o 50/50?

La investigación de la aparición de gaps se relaciona con la situación en la que se da una diferencia sustancial entre el precio de cierre del marco temporal anterior y el precio de apertura del siguiente, así como en la dirección en la que irá la barra diaria. Uso de la función DLL GetOpenFileName de sistema.
Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)
Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)

Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)

El artículo describe cómo añadir a los expertos en MQL5 la posibilidad de trabajar con el servidor de bases de datos Microsoft SQL Server. Usaremos la importación de funciones de DLL. Para crear la DLL, se utilizará la plataforma Microsoft .NET y el lenguaje C#. Los métodos utilizados en el artículo, aunque con algunos cambios poco significativos, funcionan también para los expertos escritos en MQL4.