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
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

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.
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)

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

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.
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

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

¿Desea convertirse en un desarrollador freelance de éxito en MQL5? Si la respuesta es sí, este artículo es justo para usted.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Gestión de errores y logging en MQL5

Gestión de errores y logging en MQL5

Este artículo se centra en aspectos generales sobre el manejo de los errores de software. Explicaremos qué significa el término logging mediante algunos ejemplos implementados con herramientas de MQL5.
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.
Asesor Experto multiplataforma: las clases CExpertAdvisor y CExpertAdvisor

Asesor Experto multiplataforma: las clases CExpertAdvisor y CExpertAdvisor

En el artículo final de la serie sobre el asesor comercial multiplataforma, hablaremos sobre las clases CExpertAdvisor y CExpertAdvisors, que sirven de contendores para los componentes del experto anteriormente descritos. Asimismo, analizaremos la implementación del monitoreo de las nuevas barras y el guardado de datos.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 43): Las clases de los objetos de búferes de indicador

Trabajando con las series temporales en la biblioteca DoEasy (Parte 43): Las clases de los objetos de búferes de indicador

En el artículo, analizaremos la creación de las clases de los objetos de búfer de indicador como herederas del objeto de búfer abstracto, simplificando la declaración y el trabajo con los búferes de indicador al crear programas-indicadores propios basados en la biblioteca DoEasy.
Generador de señales comerciales del indicador de usuario

Generador de señales comerciales del indicador de usuario

Cómo hacer un generador de señales comerciales en base a un indicador de usuario. Cómo crear un indicador de usuario. Cómo obtener acceso a los datos del indicador de usuario. Para qué se necesita la construcción IS_PATTERN_USAGE(0) y el model 0.
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.
Gas neuronal creciente: implementación en MQL5

Gas neuronal creciente: implementación en MQL5

Este artículo muestra un ejemplo de cómo desarrollar un programa MQL5 implementando el algoritmo adaptativo de agrupamiento llamado gas neuronal creciente (GNG). El artículo está dirigido a aquellos usuarios que han estudiado la documentación del lenguaje y tienen cierta capacidad para programar y un conocimiento básico en el área de la neuroinformática.
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».
Comercio por los niveles de DiNapoli

Comercio por los niveles de DiNapoli

En este artículo se considera una de las versiones de la implementación práctica del Asesor Experto para el comercio por los niveles de DiNapoli a través de las herramientas estándar MQL5. Ha sido realizado el testeo de sus resultados, y han sido sacadas conclusiones.
Nuevas oportunidades con Meta Trader 5

Nuevas oportunidades con Meta Trader 5

Meta Trader 4 se hizo popular entre los traders de todo el mundo y parecía tener todo lo que podía esperarse de él. Con su alta velocidad de procesamiento, estabilidad, amplias posibilidades para escribir indicadores, Expert Advisors, sistemas de información para el trading y la posibilidad de elegir entre cientos de brokers distintos, el terminal pronto se destacó del resto. Pero los tiempos van cambiando y pronto nos vimos ante el reto de pasar de Meta Trader 4 a Meta Trader 5. En este artículo vamos a describir las principales diferencias entre la quinta generación del terminal y la versión anterior.
La implementación del modo multidivisa en MetaTrader 5

La implementación del modo multidivisa en MetaTrader 5

Durante mucho tiempo, la gente ha tenido un gran interés en el análisis multidivisa y el trading multidivisa. La oportunidad de implementar un modo multidivisa completo solo es posible con la versión pública de MetaTrader 5 y el lenguaje de programación MQL5. En este artículo, vamos a proponer un modo de análisis y procesamiento de todos los ticks recibidos para varios símbolos. Como ejemplo, vamos a ver el indicador RSI multidivisa del índice dólar USDx.
Principios de programación en MQL5 - Variables globales del terminal

Principios de programación en MQL5 - Variables globales del terminal

En este artículo se demuestran las posibilidades orientadas a objetos del lenguaje MQL5 en cuanto a creación de objetos responsables del funcionamiento con las variables globales del programa. Como ejemplo práctico se verá una situación en la que las variables globales pueden usarse como puntos de control en la ejecución de etapas del programa.
Libro de Recetas MQL5: Asesor Experto Multidivisa: un Enfoque Simple, Claro y Rápido

Libro de Recetas MQL5: Asesor Experto Multidivisa: un Enfoque Simple, Claro y Rápido

Este artículo describirá la implementación de un enfoque sencillo y apropiado para un Asesor Experto multidivisa. Esto significa que será posible configurar el Asesor Experto para simular/realizar operaciones de trading bajo condiciones idénticas pero con parámetros diferentes para cada símbolo. Como ejemplo, crearemos un patrón para dos símbolos pero de forma que solo podamos añadir símbolos adicionales, si es necesario, haciendo pequeños cambios en el código.
Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre

Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre

El artículo describe el modo de implementar la comunicación entre procesos, entre terminales de cliente MetaTrader 5 mediante canalizaciones con nombre. Se desarrolla la clase CNamedPipes para utilizar las canalizaciones con nombre. Con el fin de probar su uso y medir el rendimiento de la conexión, se proporciona el tick del indicador y los scripts del servidor y el cliente. El uso de las canalizaciones con nombre es suficiente para las cotizaciones en tiempo real.
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.
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.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 39): Indicadores basados en la biblioteca - Preparación de datos y eventos de la series temporales

Trabajando con las series temporales en la biblioteca DoEasy (Parte 39): Indicadores basados en la biblioteca - Preparación de datos y eventos de la series temporales

En el presente artículo, analizaremos la aplicación de la biblioteca DoEasy para crear indicadores de periodo y símbolo múltiples. Hoy, vamos a preparar las clases de la biblioteca para trabajar con indicadores y poner a prueba la correcta creación de series temporales para su posterior uso como fuentes de datos en los indicadores. Asimismo, organizaremos la creación y el envío de los eventos de series temporales.
preview
Algoritmos de optimización de la población: Optimización del Lobo Gris (Grey Wolf Optimizer - GWO)

Algoritmos de optimización de la población: Optimización del Lobo Gris (Grey Wolf Optimizer - GWO)

Hoy analizaremos uno de los algoritmos de optimización más modernos: la Optimización del Lobo Gris. El original comportamiento de las funciones de prueba hace que este sea uno de los algoritmos más interesantes entre los analizados anteriormente. Uno de los líderes para la aplicación en el entrenamiento de redes neuronales y funciones suaves con muchas variables.
El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 1

El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL. Parte 1

En el presente artículo, presentamos un nuevo concepto para la descripción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. Las clases especiales transforman el marcado visual de MQL en elementos de GUI, permitiendo de controlarlos, ajustar sus propiedades y procesar eventos de forma unificada. Asimismo, mostraremos ejemplos de uso del marcado en las ventanas de diálogo y los elementos de la biblioteca estándar.
Usando los punteros de objeto en MQL5

Usando los punteros de objeto en MQL5

Por defecto, todos los objetos en MQL5 se pasan por referencia, pero hay una posibilidad de usar los punteros de objeto. Sin embargo, es necesario realizar una comprobación del puntero ya que el objeto puede no ser inicializado. En este caso, el programa MQL5 terminará con un error crítico y descargado. Los objetos, creados automáticamente, no causan este error, por lo que, en esencia, son muy seguros. En este artículo intentaremos comprender la diferencia entre la referencia del objeto y el puntero del mismo y veremos cómo escribir código seguro con el uso de punteros.
Cree su propia Observación del Mercado usando las clases de la librería estándar

Cree su propia Observación del Mercado usando las clases de la librería estándar

El nuevo terminal de cliente de MetaTrader 5 y el lenguaje MQL5 proporcionan nuevas oportunidades al operador para la representación visual de información. En este artículo proponemos un conjunto universal y extensible de clases que controlan todo el trabajo que requiere organizar la representación en pantalla de la información sobre los gráficos. Se incluye el ejemplo del indicador Observación del Mercado.
Libro de Recetas de MQL5: Obtener Propiedades de Posiciones

Libro de Recetas de MQL5: Obtener Propiedades de Posiciones

En este artículo crearemos un script con el que obtendremos todas las propiedades de posición y se las mostrará al usuario en un cuadro de diálogo. Al ejecutar el script, usted podrá seleccionar uno de los dos modos disponibles en la lista desplegable en los parámetros externos: para ver las propiedades de posición solo en el símbolo actual, o para ver las propiedades de posición en todos los símbolos.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXII): Clases comerciales - Clase comercial principal, control de limitaciones

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXII): Clases comerciales - Clase comercial principal, control de limitaciones

En el artículo, comenzaremos a crear la clase comercial principal de la biblioteca, equipándola con la primera versión de la funcionalidad para la comprobacion primaria de los permisos de realización de operaciones comerciales. Asimismo, ampliaremos un poco las posibilidades y el contenido de la clase comercial básica.