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

icon

En el ámbito del trading automático los Asesores Expertos es la cima de la programación y objetivo deseable de cada desarrollador. Usted puede escribir su propio Asesor Experto utilizando los artículos de esta sección. Paso a paso los principiantes podrán pasar todas las fases de creación, depuración y simulación de los sistemas automáticos de trading.

Los artículos no sólo enseñarán a programar en el lenguaje MQL5, sino mostrarán cómo implementar cualquier idea y técnica comercial. Usted conocerá cómo programar el Trailing Stop, cómo realizar la gestión del capital, cómo obtener el valor del indicador y muchas cosas más.

Nuevo artículo
últimas | mejores
Interfaces gráficas X: Control "Hora", control "Lista de las casillas de verificación" y ordenamiento (sort) de la tabla (build 6)
Interfaces gráficas X: Control "Hora", control "Lista de las casillas de verificación" y ordenamiento (sort) de la tabla (build 6)

Interfaces gráficas X: Control "Hora", control "Lista de las casillas de verificación" y ordenamiento (sort) de la tabla (build 6)

Continuamos con el desarrollo de la librería para la creación de interfaces gráficas. Esta vez mostraremos los controles «Hora» y «Lista de las casillas de verificación». Aparte de eso, a la clase de la tabla tipo CTable se le ha sido añadida la posibilidad de organizar los datos en orden ascendiente y descendiente.
Zigzag universal
Zigzag universal

Zigzag universal

El Zigzag es uno de los indicadores más populares entre los usuario de MetaTrader 5. En este artículo se han analizado las posibilidades de creación de diferentes versiones del Zigzag. Como resultado, obtenemos un indicador universal con amplias posibilidades para la ampliación de la funcionalidad, el cual es muy cómodo utilizar en el desarrollo de los Asesores Expertos y otros indicadores.
Estrategia de trading '80-20'
Estrategia de trading '80-20'

Estrategia de trading '80-20'

En este artículo se describe la creación de las herramientas (indicador y Asesor Experto) para el análisis de la estrategia comercial '80-20'. Las reglas de esta Estrategia Comercial han sido tomadas del libro titulado «Street Smarts: High Probability Short-Term Trading Strategies» escrito por Linda Raschke y Laurence Connors. Las reglas han sido formalizadas en el lenguaje MQL5, y el indicador y el Asesor Experto diseñados a base de esta estrategia han sido probados en el historial actual del mercado.
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.
Interfaces gráficas X: Campo de edición del texto, slider de imágenes y controles simples (build 5)
Interfaces gráficas X: Campo de edición del texto, slider de imágenes y controles simples (build 5)

Interfaces gráficas X: Campo de edición del texto, slider de imágenes y controles simples (build 5)

En este artículo vamos a analizar los controles nuevos, tales como: «Campo de edición del texto», «Slider de imágenes», así como los controles simples adicionales, «Etiqueta de texto» e «Imagen». La librería sigue desarrollándose, y además de la aparición de controles nuevos, se van mejorando los que ya han sido creados anteriormente.
Principios de programación en MQL5: Variables globales del terminal  MetaTrader 5
Principios de programación en MQL5: Variables globales del terminal  MetaTrader 5

Principios de programación en MQL5: Variables globales del terminal MetaTrader 5

Las variables globales del terminal es un medio imprescindible durante la programación de los Asesores Expertos complejos y seguros. Después de aprender a trabajar con las variables globales, ya no podrá imaginar la creación de los asesores expertos en MQL5 sin usarlas.
Interfaces gráficas X: Control "Gráfico estándar" (build 4)
Interfaces gráficas X: Control "Gráfico estándar" (build 4)

Interfaces gráficas X: Control "Gráfico estándar" (build 4)

En este artículo vamos a analizar el control de la interfaz gráfica como «Gráfico estándar». Nos permitirá crear los arrays de objetos-gráficos con posibilidad del desplazamiento horizontal sincronizado del gráfico. Aparte de eso, continuaremos optimizando el código de la librería para reducir el consumo de los recursos de CPU.
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)

Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)

En este artículo se muestra la siguiente versión de la librería Easy And Fast (versión 3). Hemos corregido algunos fallos, así como hemos añadido nuevas posibilidades. Para más información, lea a continuación.
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.
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)

Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)

Desde la anterior publicación del artículo de esta serie, la librería Easy And Fast ha adquirido nuevas posibilidades. Ha sido hecha la optimización parcial del esquema y del código de la librería, eso ha reducido un poco el consumo de recursos de la CPU. Algunos métodos que se repiten con frecuencia en muchas clases de los controles han sido traspasados a la clase base CElement.
Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)
Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)

Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)

El segundo capítulo de la novena parte de la serie estará dedicada a los elementos «Indicador de progreso» y «Gráfico lineal». Como siempre mostraremos los ejemplos detallados de cómo puede usar estos elementos en sus aplicaciones MQL.
Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)
Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)

Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)

Con este artículo se abre la novena parte de la serie sobre el desarrollo de la librería para la creación de las interfaces gráficas en el entorno de los terminales de trading MetaTrader. Se compone de dos partes en las que se muestran nuevos controles y elementos de la interfaz: «Paleta para seleccionar el color», «Botón para abrir la paleta de colores», «Indicador de progreso» y «Gráfico lineal».
Expresiones regulares para los traders
Expresiones regulares para los traders

Expresiones regulares para los traders

Una expresión regular es un lenguaje especial para el manejo de textos mediante la aplicación de una regla especificada, también llamada un regex o regexp para abreviar. En este artículo, vamos a mostrar cómo manejar un informe sobre el trade con la librería RegularExpressions para MQL5 y también demostrar los resultados de optimización después de usarlo.
Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales
Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales

Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales

Los sockets... ¿Qué podría existir sin ellos en este mundo de información? Aparecieron por primera vez en 1982 y prácticamente no han cambiado hasta el día de hoy, siguen funcionando para nosotros cada segundo. Son la base de una red, las terminaciones nerviosas del Matrix en el que vivimos.
Interfaces gráficas VIII: Control "Explorador de archivos" (Capítulo 3)
Interfaces gráficas VIII: Control "Explorador de archivos" (Capítulo 3)

Interfaces gráficas VIII: Control "Explorador de archivos" (Capítulo 3)

En los capítulos anteriores de la octava parte de la serie, nuestra librería se ha completado con las clases para la creación de los punteros para el cursor del ratón, calendarios y listas jerárquicas. En este artículo vamos a analizar el control “Explorador de archivos” que también puede utilizarse como parte de la interfaz gráfica de la aplicación MQL.
Interfaces gráficas VIII: Control "Lista jerárquica" (Capítulo 2)
Interfaces gráficas VIII: Control "Lista jerárquica" (Capítulo 2)

Interfaces gráficas VIII: Control "Lista jerárquica" (Capítulo 2)

En el capítulo anterior de la octava parte de la serie sobre las interfaces gráficas hemos analizado los controles “Calendario estático” y “Calendario desplegable”. El segundo capítulo va a dedicarse a un control compuesto no menos complejo, “Lista jerárquica”, sin la que no se arregla ninguna librería multifuncional para la creación de interfaces gráficas. La implementación de la lista jerárquica presentada en este artículo contiene múltiples ajustes y modos flexibles, lo que permitirá configurar este control a sus necesidades con la máxima precisión.
Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)
Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)

Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)

Esta parte está dedicada a la integración del motor comercial CStrategy con los módulos de señales incluidos en la biblioteca estándar de MetaTrader. El material describe los métodos de trabajo con las señales y la creación de estrategias de usuario basadas ellas.
Interfaces gráficas VIII: Control "Calendario" (Capítulo 1)
Interfaces gráficas VIII: Control "Calendario" (Capítulo 1)

Interfaces gráficas VIII: Control "Calendario" (Capítulo 1)

En la octava parte de la serie sobre la creación de las interfaces gráficas en el entorno de los terminales de trading MetaTrader nosotros vamos a considerar los controles compuestos (complejos): calendarios, lista jerárquica (en forma de árbol), explorador de archivos. A cada uno de estos controles le dedicaremos un artículo personal, puesto que el contenido del material es bastante extenso. Pues bien, en el primer artículo de esta parte se describe el control “Calendario” y su versión ampliada, “Calendario desplegable”.
Interfaces gráficas VII: Control "Pestañas" (Capítulo 2)
Interfaces gráficas VII: Control "Pestañas" (Capítulo 2)

Interfaces gráficas VII: Control "Pestañas" (Capítulo 2)

En el primer capítulo de la séptima parte han sido presentadas tres clases de los controles para la creación de las tablas: tabla de las etiquetas de texto (CLabelsTable), tabla de los campos de edición (CTable) y la tabla dibujada (CCanvasTable). En este artículo (capítulo 2) hablaremos del control “Pestañas”.
Interfaces gráficas VII: Control "Tablas" (Capítulo 1)
Interfaces gráficas VII: Control "Tablas" (Capítulo 1)

Interfaces gráficas VII: Control "Tablas" (Capítulo 1)

En la séptima parte de la serie de los artículos sobre las interfaces gráficas en los terminales MetaTrader serán presentados tres tipos de tablas: tabla a base de las etiquetas de texto, tabla a base de los campos de edición y tabla dibujada. Otro control importante que se usa con bastante frecuencia son las pestañas a través de los cuales se puede ocultar o mostrar los grupos de otros controles. Eso permite al usuario diseñar las interfaces gráficas muy compactas en sus aplicaciones MQL.
Experto comercial universal: Trabajando con trailing-stops personalizados (parte 6)
Experto comercial universal: Trabajando con trailing-stops personalizados (parte 6)

Experto comercial universal: Trabajando con trailing-stops personalizados (parte 6)

La sexta parte del artículo sobre el experto comercial universal describe el funcionamiento de los trailing-stops. Después de leerlo, usted aprenderá cómo usar normas unificadas para crear su propio módulo de trailing-stop y conectarlo al motor comercial de tal forma que el control de la posición realizado por este suceda automáticamente.
Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)
Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)

Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)

En el artículo anterior nuestra librería ha sido completada con cuatro controles bastante frecuentes en las interfaces gráficas: “checkbox”, “campo de edición”, “campo de edición con checkbox” y “combobox con checkbox”. El segundo capítulo de la sexta parte estará dedicado a los controles como Slider y Slider doble.
Experto comercial universal: trabajando con órdenes pendientes y cobertura (parte 5)
Experto comercial universal: trabajando con órdenes pendientes y cobertura (parte 5)

Experto comercial universal: trabajando con órdenes pendientes y cobertura (parte 5)

Este artículo continúa la presentación a los lectores del motor comercial CStrategy. A petición de multitud de usuarios, se han añadido funciones de trabajo con órdenes pendientes al motor comercial. Asimismo, las últimas versiones de MetaTrader 5 han comenzado a dar soporte a cuentas con cobertura. Ahora CStrategy también da soporte a las mismas. En el artículo se da una descripción detallada de un algoritmo para trabajar con órdenes pendientes, así como de los principios de funcionamiento de CStrategy con las cuentas con cobertura.
Interfaces gráficas VI: Controles "Casilla de verificación", "Campo de edición" y sus tipos combinados (Capítulo 1)
Interfaces gráficas VI: Controles "Casilla de verificación", "Campo de edición" y sus tipos combinados (Capítulo 1)

Interfaces gráficas VI: Controles "Casilla de verificación", "Campo de edición" y sus tipos combinados (Capítulo 1)

Este artículo empieza la sexta parte de la serie sobre el desarrollo de la librería para la creación de las interfaces gráficas en los terminales MetaTrader. En el primer capítulo hablaremos sobre los siguientes controles: “casilla de verificación”, “campo de edición” y los tipos combinados de estos controles.
Interfaces gráficas V: Control "Lista combinada" (Capítulo 3)
Interfaces gráficas V: Control "Lista combinada" (Capítulo 3)

Interfaces gráficas V: Control "Lista combinada" (Capítulo 3)

En dos primeros capítulos de la quinta parte sobre las interfaces gráficas hemos desarrollado las clases para crear la barra de desplazamiento y la lista. En este capítulo vamos a hablar de la clase para la creación del control llamado “Lista combinada”. Éste también es un control compuesto que incluye los controles analizados en dos primeros capítulos de la quinta parte.
Interfaces gráficas V: Control "Lista" (Capítulo 2)
Interfaces gráficas V: Control "Lista" (Capítulo 2)

Interfaces gráficas V: Control "Lista" (Capítulo 2)

En el primer capítulo de la quinta parte de la serie hemos desarrollado las clases para la creación de los controles como la barra de desplazamiento vertical y horizontal. En este artículo vamos a aplicarlas en la práctica. Esta vez diseñaremos la clase para la creación del control “Lista”, y la barra de desplazamiento vertical será su parte integrante.
Por dónde comenzar a crear un robot comercial para la Bolsa de Moscú MOEX
Por dónde comenzar a crear un robot comercial para la Bolsa de Moscú MOEX

Por dónde comenzar a crear un robot comercial para la Bolsa de Moscú MOEX

Muchos tráders de la Bolsa de Moscú querrían automatizar sus algoritmos comerciales, pero no saben por dónde empezar. El lenguaje MQL5 propone no solo un conjunto enorme de funciones comerciales, sino también clases preparadas, que facilitan al máximo los primeros pasos en el trading automático.
¿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.
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".
Hablando de nuevo sobre los mapas de Kohonen
Hablando de nuevo sobre los mapas de Kohonen

Hablando de nuevo sobre los mapas de Kohonen

El artículo describe los métodos de funcionamiento de los mapas de Kohonen. Le resultará interesante tanto a los investigadores del mercado con habilidades básicas de programación en MQL4 y MQL5, como a los programadores expertos que sufren dificultades con la aplicación de los mapas de Kohonen en sus proyectos.
Interfaces gráficas V: Barra de desplazamiento vertical y horizontal (Capítulo 1)
Interfaces gráficas V: Barra de desplazamiento vertical y horizontal (Capítulo 1)

Interfaces gráficas V: Barra de desplazamiento vertical y horizontal (Capítulo 1)

Seguimos analizando el proceso de desarrollo de la librería para la creación de las interfaces gráficas en el entorno de los terminales de trading MetaTrader. En el primer capítulo de la quinta parte de la serie vamos a desarrollar las clases para la creación de los controles como las barras de desplazamiento verticales y horizontales.
Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)
Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)

Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)

En este artículo vamos a ampliar la implementación de la librería hasta conseguir la posibilidad de crear las interfaces de ventanas múltiples para nuestras aplicaciones MQL. Aparte de eso, desarrollaremos el sistema de las prioridades para el clic izquierdo del ratón en los objetos gráficos. Lo vamos a necesitar para no tener problemas cuando los controles no responden inesperadamente a las acciones del usuario.
Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)
Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)

Interfaces gráficas IV: Elementos informativos de la interfaz (Capítulo 1)

En este momento, la librería para la creación de las interfaces gráficas contiene el formulario y varios controles que pueden ser adjuntados a este formulario. Ahora tenemos todo preparado para considerar la cuestión del modo de ventanas múltiples, pero nos ocuparemos de ello en el segundo capítulo de este artículo. Primero, vamos a escribir las clases que nos permitirán crear los elementos informativos de la interfaz, tales como: la “barra de estado” y la “descripción emergente”.
Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)
Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)

Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)

El primer capítulo de la tercera pare de la serie estaba dedicada a los botones simples y multifuncionales. En el segundo capítulo hablaremos de los grupos de botones interconectados que permiten crear los controles, cuando el usuario puede elegir una opción de un determinado conjunto (grupo).
Interfaces gráficas III: Botones simples y multifuncionales (Capítulo 1)
Interfaces gráficas III: Botones simples y multifuncionales (Capítulo 1)

Interfaces gráficas III: Botones simples y multifuncionales (Capítulo 1)

Vamos a comenzar el análisis del control como el botón. Vamos a mostrar los ejemplos de varias clases para la creación de un botón simple, un botón con funcionalidad ampliada (“botón con imagen” y “botón de división”), así como los botones interconectados (grupos de botones y “botones de opción”). Aparte de eso, vamos a introducir algunas adiciones en las clases ya existentes de los controles con el fin de ampliar sus posibilidades.
Interfaces gráficas II: Control "Menú principal" (Capítulo 4)
Interfaces gráficas II: Control "Menú principal" (Capítulo 4)

Interfaces gráficas II: Control "Menú principal" (Capítulo 4)

Es el artículo final de la segunda parte de la serie sobre las interfaces gráficas. Aquí vamos a considerar la creación del control “Menú principal”. Se demostrará el proceso de su desarrollo y la configuración de los manejadores de las clases de la librería para una correcta reacción a las acciones del usuario. Además, hablaremos de los modos de conexión de los menús contextuales a los elementos del menú principal. Aparte de eso, trataremos la cuestión del bloqueo de los controles inactivos en el momento actual.
Recetas MQL5 - Programando los canales móviles
Recetas MQL5 - Programando los canales móviles

Recetas MQL5 - Programando los canales móviles

En este artículo se muestra un método de programación del sistema de canales equidistantes. Se analizan ciertos matices en la construcción de este tipo de canales. Asimismo, se realiza una tipificación de los canales, proponiendo un método de canales móviles de tipo universal. Para implementar el código, se ha utilizado el instrumental de la POO.
Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)
Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)

Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)

En los artículos anteriores hemos implementado las clases para la creación de todas las partes integrantes del menú principal. Ha llegado el momento para conocer los manejadores de eventos en las clases base principales y en las clases de los controles creados. Se presta una atención especial a la gestión del estado del gráfico dependiendo de la posición del cursor del ratón.
Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)
Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)

Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)

En este artículo nos ocuparemos de la creación del control llamado “Línea separadora”. Se podrá utilizarlo no sólo como un elemento independiente de la interfaz, sino también como parte de otros controles. Después de eso, tendremos todo lo necesario para desarrollar la clase del menú contextual, que también será considerado al detalle en el presente artículo. Además, vamos a introducir adiciones necesarias en la clase que sirve de base para almacenar los punteros a todos los controles de la interfaz gráfica de la aplicación.
Cómo añadir rápidamente un panel de control a un indicador o asesor
Cómo añadir rápidamente un panel de control a un indicador o asesor

Cómo añadir rápidamente un panel de control a un indicador o asesor

¿Quiere añadir a su indicador o asesor un panel gráfico de control rápido y cómodo, pero no sabe como hacerlo? En este artículo le enseñaré paso a paso cómo "atornillar" un panel de diálogo con parámetros de entrada a su programa MQL4/MQL5.