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
La estrategia comercial 'Momentum Pinball'
La estrategia comercial 'Momentum Pinball'

La estrategia comercial 'Momentum Pinball'

En este artículo se continúa con el tema de la escritura de código para los sistemas comerciales descritos en el libro de Linda Raschke y Laurence Connors "Secretos bursátiles. Estrategias comerciales de alto rendiemiento a corto plazo". En esta ocasión, analizaremos el sistema 'Momentum Pinball', describiendo la creación de dos indicadores, un robot comercial y un bloque comercial para el sistema.
Búsqueda de errores y registros
Búsqueda de errores y registros

Búsqueda de errores y registros

MetaEditor 5 dispone de la opción de depuración. Sin embargo, cuando escribe sus programas en MQL5, por lo general quiere mostrar no solo los valores individuales, sino todos los mensajes que van apareciendo durante la prueba y el trabajo en línea. Si el archivo de registro tiene un tamaño muy grande, es evidente que hay que automatizar la recuperación rápida y sencilla del mensaje necesario. En este artículo vamos examinar las formas de búsqueda de errores en programas MQL5 y los métodos de registro. Además, vamos a simplificar el registro en archivos y le haré descubrir un programa sencillo, LogMon, para una visualización cómoda de los registros.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXI): Solicitudes comerciales pendientes - Apertura de posiciones según condiciones
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXI): Solicitudes comerciales pendientes - Apertura de posiciones según condiciones

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXI): Solicitudes comerciales pendientes - Apertura de posiciones según condiciones

A partir de este artículo, vamos a crear una funcionalidad que permita comerciar con la ayuda de solicitudes comerciales según una cierta condición. Por ejemplo, al llegar o superar una determinada hora, o bien al superar el parámetro de beneficio establecido, o bien al registrarse un evento de cierre de posición por stop loss.
Libro de Recetas MQL5: Desarrollar un Asesor Experto Multidivisa con un Número Ilimitado de Parámetros
Libro de Recetas MQL5: Desarrollar un Asesor Experto Multidivisa con un Número Ilimitado de Parámetros

Libro de Recetas MQL5: Desarrollar un Asesor Experto Multidivisa con un Número Ilimitado de Parámetros

En este artículo crearemos un patrón que usa un solo conjunto de parámetros para la optimización del sistema de trading, a la vez que permite un número ilimitado de parámetros. La lista de símbolo se creará en un archivo de texto estándar (*.txt). Los parámetros de entrada para cada símbolo también se almacenarán en archivos. De esta forma podremos evitar la restricción del terminal del número de parámetros centrada de un Asesor Experto.
El poder del ZigZag (Parte I). Desarrollando la clase base del indicador
El poder del ZigZag (Parte I). Desarrollando la clase base del indicador

El poder del ZigZag (Parte I). Desarrollando la clase base del indicador

Muchos investigadores no prestan la atención suficiente a la definición del comportamiento de los precios. En este caso, además, se usan métodos complejos que con frecuencia son simplemente «cajas negras», tales como: aprendizaje de máquinas o redes neuronales. En estos casos, lo más importante es: «¿Qué datos suministrar a la entrada para el entrenamiento de este u otro modelo?»
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIX): Clase de mensajes de la biblioteca
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIX): Clase de mensajes de la biblioteca

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIX): Clase de mensajes de la biblioteca

En el artículo, analizaremos la muestra de mensajes de texto. Ahora que tenemos un número suficiente de mensajes de texto distintos, merece la pena que pensemos en organizar un método para guardarlos, mostrarlos y adaptarlos a otros idiomas desde el ruso. Asimismo, también deberíamos pensar en un modo de añadir nuevos idiomas a la biblioteca y alternar rápidamente entre ellos.
Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos
Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos

Libro de Recetas MQL5: Usar Indicadores para Configurar Condiciones de Trading en Asesores Expertos

En este artículo continuaremos modificando el Asesor Experto en el que hemos estado trabajando durante los artículos anteriores de la serie de Libros de Recetas MQL5. En esta ocasión, reforzaremos el Asesor Experto con indicadores cuyos valores se usarán para comprobar las condiciones de apertura de posición. Además crearemos una lista desplegable en los parámetros externos para poder seleccionar uno de los tres indicadores de trading.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XV): Colección de objetos de símbolo.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XV): Colección de objetos de símbolo.

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XV): Colección de objetos de símbolo.

En el artículo analizaremos la creación de una colección de símbolos basada en el objeto de símbolo abstracto básico creado en el artículo anterior. Los herederos del símbolo abstracto concretarán la información sobre el símbolo. En ellos se organizará la determinación de la accesibilidad en el programa de las propiedades del objeto de símbolo básico, y también se diferenciarán los objetos de símbolo según su pertenencia a un grupo.
ABC del trading en Forex
ABC del trading en Forex

ABC del trading en Forex

Trabajar en los mercados financieros significa, en primer lugar, operaciones de trading. Todos nosotros, comenzando en la más temprana infancia, tenemos una idea intuitiva de qué es comprar y vender. Pero el trading en Forex es aún algo especial. Este artículo trata sobre las ideas necesarias para explicar algunos términos. También veremos las funciones MQL4 que se corresponden con dichos términos.
preview
Casi un constructor para crear asesores

Casi un constructor para crear asesores

Ofrecemos nuestro propio conjunto de funciones comerciales como asesor listo para usar. El método presentado nos permite obtener multitud de estrategias comerciales con solo añadir indicadores y cambiar los parámetros de entrada.
Llega el nuevo MetaTrader 5 y MQL5
Llega el nuevo MetaTrader 5 y MQL5

Llega el nuevo MetaTrader 5 y MQL5

Esta es sólo una breve reseña de MetaTrader 5. No puedo describir todas las nuevas funciones del sistema en tan poco tiempo; las pruebas empezaron el 09/09/2009. Esta es una fecha simbólica, y estoy seguro de que será un número afortunado. Han pasado pocos días desde que tengo la versión beta del terminal MetaTrader 5 y MQL5. No he conseguido probar todas sus funciones, pero ya estoy impresionado.
Creación de un Asesor Experto multisistema y multidivisa
Creación de un Asesor Experto multisistema y multidivisa

Creación de un Asesor Experto multisistema y multidivisa

El artículo constituye una introducción a una estructura para un Asesor Experto que opera con múltiples símbolos y utiliza varios sistemas de trading simultáneamente. Si ya identificó los parámetros de entrada óptimos para todos sus Asesores Expertos y consiguió buenos resultados de la prueba para cada uno de ellos separadamente, pregúntese qué resultados conseguiría si probara todos los Asesores Expertos simultáneamente, con todas sus estrategias en conjunto.
preview
Stoploss de PriceAction Fijo o RSI fijo (Smart StopLoss)

Stoploss de PriceAction Fijo o RSI fijo (Smart StopLoss)

Los Stop Loss son una herramienta importante en cuanto a la gestión de dinero en el trading. El uso efectivo de stop-loss, take profit y el tamaño de lote puede hacer que un tráder sea más consistente en el comercio y, sobre todo, que logre mayor rentabilidad. Aunque el stop-loss es una gran herramienta, existen desafíos derivados de su uso. El principal es la caza de stop-loss. Este artículo analiza cómo reducir la caza de stop-loss en el trading y la compara con el uso clásico de stop-loss para determinar su rentabilidad.
Utilizando hojas de cálculo para construir estrategias comerciales
Utilizando hojas de cálculo para construir estrategias comerciales

Utilizando hojas de cálculo para construir estrategias comerciales

El artículo describe los principios y técnicas básicos que nos permiten analizar cualquier estrategia usando hojas de cálculo: Excel, Calc, Google. Asimismo, hemos comparado los resultados con el simulador de MetaTrader 5.
Recetas MQL5 – Prueba de estrés de una estrategia comercial con ayuda de símbolos personalizados
Recetas MQL5 – Prueba de estrés de una estrategia comercial con ayuda de símbolos personalizados

Recetas MQL5 – Prueba de estrés de una estrategia comercial con ayuda de símbolos personalizados

En el artículo se analiza un enfoque sobre la prueba de estrés de estrategias comerciales con ayuda de símbolos personalizados Para este objetivo se crea una clase de símbolo de usuario. Con su ayuda, se obtendrán los datos de ticks desde fuentes de terceros y se cambiarán las propiedades del símbolo. Según los resultados del trabajo realizado, se ofrecerán variantes de cambio de las condiciones comerciales con respecto a las cuales se simula la estrategia comercial.
preview
Redes neuronales: así de sencillo (Parte 12): Dropout

Redes neuronales: así de sencillo (Parte 12): Dropout

A la hora de proseguir el estudio de las redes neuronales, probablemente merezca la pena prestar un poco de atención a los métodos capaces de aumentar su convergencia durante el entrenamiento. Existen varios de estos métodos. En este artículo, proponemos al lector analizar uno de ellos: el Dropout (dilución).
Creación de un panel de información mediante las clases de la Librería estándar y Google Chart API
Creación de un panel de información mediante las clases de la Librería estándar y Google Chart API

Creación de un panel de información mediante las clases de la Librería estándar y Google Chart API

El primer objetivo del lenguaje de programación MQL5 es la creación de sistemas de trading automatizados e instrumentos complejos para el análisis técnico. Pero por otro lado, nos permite crear sistemas de información interesantes para el seguimiento del estado de los mercados, y nos proporciona una conexión de retorno con el trader. El artículo describe los componentes de la Librería estándar de MQL5 y muestra ejemplos sobre su utilización en la práctica para alcanzar estos objetivos. Además, se muestra un ejemplo de uso de Google Chart API para la creación de gráficos.
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.
Una visión de Acumulación/Distribución y donde se puede conseguir
Una visión de Acumulación/Distribución y donde se puede conseguir

Una visión de Acumulación/Distribución y donde se puede conseguir

El Indicador Acumulación/Distribución (A/D) tiene una característica interesante — sugiere una ruptura de la línea de tendencia trazada en esta gráfica del indicador, con cierta probabilidad, una próxima ruptura de la línea de tendencia en el gráfico de precios. Este artículo será útil e interesante para aquellos que son nuevos en la programación en MQL4. Teniendo esto en vista, he tratado de presentar la información de una forma de fácil agarre y utilizar las estructuras de código más simples.
Sobre nuevos raíles: Indicadores personalizados en MQL5
Sobre nuevos raíles: Indicadores personalizados en MQL5

Sobre nuevos raíles: Indicadores personalizados en MQL5

No voy a enumerar todas las posibilidades y características de la nueva terminal y el lenguaje. Son numerosas y algunas de ellas merecen ser tratadas en un artículo separado. Tampoco hay aquí código escrito en lenguaje de programación orientado a objeto. Es un tema demasiado importante como para ser tan solo mencionado como ventaja adicional para los programadores. En este artículo vamos a ver los indicadores, su estructura, diseño, tipos y detalles de su programación al compararlos con MQL4. Espero que este artículo sea de utilidad tanto para principiantes como para programadores experimentados. Puede que algunos de estos últimos encuentren algo nuevo.
preview
Optimización móvil continua (Parte 4): Programa de control de la optimización (optimizador automático)

Optimización móvil continua (Parte 4): Programa de control de la optimización (optimizador automático)

El principal objetivo del artículo consiste en describir el mecanismo de trabajo con la aplicación obtenida y sus posibilidades. De esta forma, el artículo supondría una serie de instrucciones de uso de esta aplicación, en la que se habla sobre todas las posibles trampas y detalles en sus ajustes.
Libro de Recetas MQL5: Usar Diferentes Modos de Impresión
Libro de Recetas MQL5: Usar Diferentes Modos de Impresión

Libro de Recetas MQL5: Usar Diferentes Modos de Impresión

Este es el primer artículo de la serie de Libros de Recetas MQL5. Comenzaré con ejemplos sencillos para permitir a aquellos que están dando sus primeros pasos en programación que se familiaricen poco a poco con el nuevo lenguaje. Recuerdo mis primeros esfuerzos para diseñar y programar sistemas de trading. Debo decir que fue bastante complicado, teniendo en cuenta el hecho de que fue el primer lenguaje de programación en mi vida. No obstante, resultó ser más fácil de lo que pensaba, y solo me costó unos pocos meses desarrollar un programa con una cierta complejidad.
Características de la creación de indicadores personalizados
Características de la creación de indicadores personalizados

Características de la creación de indicadores personalizados

La creación de indicadores personalizados con la plataforma MetaTrader tiene una serie de particularidades.
Asesor Experto para el trading en un canal
Asesor Experto para el trading en un canal

Asesor Experto para el trading en un canal

El Asesor Experto traza las líneas del canal. Las líneas superiores e inferiores del canal actúan como niveles de soporte y resistencia. El Asesor Experto etiqueta los puntos de referencia, informa mediante un sonido cada vez que el precio alcanza o cruza las líneas del canal y dibuja las marcas pertinentes. Después de la formación de los fractales, aparecen las flechas correspondientes en las últimas barras. Las rupturas de las líneas pueden sugerir una posible tendencia creciente. El código del Asesor Experto lleva comentarios detallados.
Dibujo de indicadores de aguja usando la clase CCanvas
Dibujo de indicadores de aguja usando la clase CCanvas

Dibujo de indicadores de aguja usando la clase CCanvas

Los instrumentos indicadores de esfera nos rodean por todas partes: en los coches y aviones, en la industria y en nuestra vida cotidiana. Se aplican cuando se requiere una rápida reacción al valor controlado por parte del operador. En este artículo conoceremos la biblioteca de instrumentos indicadores para MetaTrader 5.
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.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXI): Clases comerciales - El objeto comercial multiplataforma básico
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXI): Clases comerciales - El objeto comercial multiplataforma básico

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXI): Clases comerciales - El objeto comercial multiplataforma básico

En este artículo vamos a comenzar un nuevo apartado de la biblioteca, las clases comerciales, y también vamos a analizar la creación de un objeto comercial básico único para las plataformas MetaTrader 5 y MetaTrader 4. Dicho objeto comercial, al enviar una solicitud al servidor, presupondrá que los parámetros de la solicitud comercial que se le han transmitido han sido verificados y son correctos.
Examinamos en la práctica el método adaptativo del seguimiento del mercado
Examinamos en la práctica el método adaptativo del seguimiento del mercado

Examinamos en la práctica el método adaptativo del seguimiento del mercado

La principal diferencia del sistema de trading que se propone en el artículo consiste en el uso de las herramientas matemáticas para analizar las cotizaciones bursátiles. En este sistema, se aplica la filtración digital y la estimación espectral de las series temporales discretas. Han sido descritos los aspectos teóricos de la estrategia y ha sido construido el Asesor Experto (EA) para testearla.
Cómo ser un mejor programador (parte 07): Apuntes para convertirse en un desarrollador freelance exitoso
Cómo ser un mejor programador (parte 07): Apuntes para convertirse en un desarrollador freelance exitoso

Cómo ser un mejor programador (parte 07): Apuntes para convertirse en un desarrollador freelance exitoso

¿Desea convertirse en un desarrollador freelance de éxito en MQL5? Si la respuesta es sí, este artículo es justo para usted.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XX): Creación y guardado de los recursos del programa
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XX): Creación y guardado de los recursos del programa

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XX): Creación y guardado de los recursos del programa

En el artículo, vamos a analizar el guardado de datos en el código fuente del programa, así como la creación de archivos de sonido y audio a partir del mismo. Con frecuencia, al crear un programa, necesitamos usar sonidos e imágenes. En el lenguaje MQL existen varias posibilidades de uso de estos datos.
Cómo añadir nuevos idiomas de interfaz de usuario a la plataforma de Meta Trader 5
Cómo añadir nuevos idiomas de interfaz de usuario a la plataforma de Meta Trader 5

Cómo añadir nuevos idiomas de interfaz de usuario a la plataforma de Meta Trader 5

La interfaz de usuario de la plataforma de Meta Trader 5 está traducida a varios idiomas. No se preocupe si su idioma no se encuentra entre los soportados. Puede fácilmente completar la traducción usando la utilidad especial del paquete multilenguaje de Meta Trader 5, puesta a disposición de todos los usuarios de manera gratuita por MetaQuotes Software Corp. En este artículo mostraremos algunos ejemplos sobre cómo añadir nuevos idiomas de interfaz de usuario a la plataforma de Meta Trader 5.
Manejar el Terminal de MetaTrader mediante DLL
Manejar el Terminal de MetaTrader mediante DLL

Manejar el Terminal de MetaTrader mediante DLL

El artículo aborda el manejo de los elementos de la interfaz de usuario mediante una librería DLL adicional a través de un ejemplo que cambia la configuración de entrega de notificaciones push. El código fuente de la librería y el script del ejemplo están adjuntos al artículo.
Documentación generada automáticamente para el código de MQL5
Documentación generada automáticamente para el código de MQL5

Documentación generada automáticamente para el código de MQL5

La mayoría de desarrolladores de código Java estarán familiarizados con la documentación generada automáticamente que puede obtenerse con JavaDocs. La idea es añadir comentarios al código de forma semiestructurada para que pueda ser extraída en forma de una archivo de ayuda por el que sea fácil navegar. El mundo de C++ tiene también una serie de autogeneradores de documentación, siendo líderes SandCastle y Doxygen, ambos de Microsoft. El artículo describe el uso de Doxygen para crear archivos de ayuda de html a partir de comentarios estructurados en código MQL5. El experimento funcionó muy bien y creo que la documentación de ayuda que ofrece Doxygen a partir del código MQL5 añadirá una gran cantidad de valor a este.
LifeHack para tráders: Informe comparativo de varias simulaciones
LifeHack para tráders: Informe comparativo de varias simulaciones

LifeHack para tráders: Informe comparativo de varias simulaciones

En el artículo se analiza el inicio simultáneo de la simulación del asesor en cuatro símbolos diferentes. La comparación final de los cuatro informes de la simulación se realizará en un recuadro, como sucede al elegir los productos en una tienda online. Como bonus adicional, se muestran los gráficos de distribución creados de forma automática para cada símbolo.
El Asesor Experto MetaTrader 4 intercambia información con el mundo exterior
El Asesor Experto MetaTrader 4 intercambia información con el mundo exterior

El Asesor Experto MetaTrader 4 intercambia información con el mundo exterior

Una solución de intercambio de información simple, universal y fiable entre el Asesor Experto MetaTrader 4 y el mundo exterior. Los proveedores y los consumidores de la información pueden estar en diferentes ordenadores, la conexión se realiza a través de direcciones IP globales.
Uso práctico del servidor privado virtual (VPS) para el autotrading
Uso práctico del servidor privado virtual (VPS) para el autotrading

Uso práctico del servidor privado virtual (VPS) para el autotrading

Autotrading usando VPS. Este artículo va dirigido excepcionalmente a los autotraders y seguidores del autotrading.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXX): Solicitudes comerciales pendientes - Control de los objetos de solicitudes
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXX): Solicitudes comerciales pendientes - Control de los objetos de solicitudes

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXX): Solicitudes comerciales pendientes - Control de los objetos de solicitudes

En el anterior artículo, creamos las clases de los objetos de solicitudes pendientes que se corresponden con el concepto general de los objetos de la biblioteca. En el presente artículo, nos ocuparemos de la clase que permite controlar los objetos de solicitudes pendientes.
preview
Aprendiendo MQL5 de principiante a profesional (Parte I): Comenzamos a programar

Aprendiendo MQL5 de principiante a profesional (Parte I): Comenzamos a programar

Este artículo supone la introducción a toda una serie de artículos sobre programación. Partimos del supuesto de que el lector no se ha enfrentado nunca a la programación. Así que empezaremos por lo básico. Nivel de conocimientos de programación: principiante absoluto.
Asesores por encargo. Instrucciones para el tráder
Asesores por encargo. Instrucciones para el tráder

Asesores por encargo. Instrucciones para el tráder

No todos los tráders son programadores. Y no todos los programadores son realmente buenos. Entonces, ¿qué debemos hacer si necesitamos automatizar nuestro sistema pero no tenemos tiempo ni ganas de estudiar MQL4?
El indicador Cuerda de Erik Nayman
El indicador Cuerda de Erik Nayman

El indicador Cuerda de Erik Nayman

En el presente artículo explicamos cómo funciona el indicador "Cuerda" (Rope), nos basamos en la obra de Erik L. Nayman "The Small Encyclopedia of Trader" (La pequeña enciclopedia del trader). Este indicador muestra la dirección de la tendencia mediante los valores alcistas (toros) y bajistas (osos) calculados en un periodo de tiempo determinado. Explicamos los principios de creación y cálculo de indicadores, ofreciendo algunos ejemplos de código. También cubrimos la construcción de un Asesor Experto basado en el indicador "Cuerda", así como la optimización de los parámetros externos.