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
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.
preview
WebSocket para MetaTrader 5

WebSocket para MetaTrader 5

Antes de que aparecieran las funciones de red en la API MQL5 actualizada, las aplicaciones MetaTrader tenían una capacidad limitada para conectarse e interactuar con servicios basados ​​en el protocolo WebSocket. Ahora, la situación es distinta. En este artículo, analizaremos la implementación de la biblioteca WebSocket en el MQL5 puro. Asimismo, presentaremos una breve descripción del protocolo WebSocket y una guía paso a paso sobre el uso de la biblioteca resultante.
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.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte IV): Eventos comerciales
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte IV): Eventos comerciales

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte IV): Eventos comerciales

En los anteriores artículos, comenzamos a crear una gran biblioteca multiplataforma, cuyo objetivo es facilitar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. Ya disponemos de una colección de órdenes y transacciones históricas, y órdenes y posiciones de mercado, así como de una clase para seleccionar y filtrar órdenes cómodamente. En esta parte, vamos a continuar desarrollando el objeto básico, además de enseñar a la biblioteca Engine a monitorear los eventos comerciales en la cuenta.
preview
Algoritmos de optimización de la población: Algoritmo de murciélago (Bat algorithm - BA)

Algoritmos de optimización de la población: Algoritmo de murciélago (Bat algorithm - BA)

Hoy analizaremos el algoritmo de murciélago (Bat algorithm - BA), que posee una sorprendente convergencia en funciones suaves.
Usar WinInet en MQL5. Parte 2: solicitudes y archivos POST
Usar WinInet en MQL5. Parte 2: solicitudes y archivos POST

Usar WinInet en MQL5. Parte 2: solicitudes y archivos POST

En este artículo seguimos estudiando los principios del trabajo con internet usando solicitudes HTTP e intercambiando información con el servidor. El artículo describe nuevas funciones de la clase CMqlNet, métodos para enviar información desde formularios y envío de archivos usando solicitudes POST así como autorización en sitios web bajo un registro de usuario usando cookies.
Guía práctica de MQL5: Reducción del efecto del sobreajuste y el manejo de la falta de cotizaciones
Guía práctica de MQL5: Reducción del efecto del sobreajuste y el manejo de la falta de cotizaciones

Guía práctica de MQL5: Reducción del efecto del sobreajuste y el manejo de la falta de cotizaciones

Sea cual sea la estrategia de trading que utilice, siempre habrá que preguntarse qué parámetros escoger para asegurar futuras ganancias. Este artículo proporciona un ejemplo de un Asesor Experto con una posibilidad de mejorar varios parámetros de símbolos a la vez. Este método está previsto para reducir el sobreajuste de los parámetros y manejar situaciones donde los datos de un solo símbolo no son suficientes para el estudio.
Recetas de MQL5 - procesamiento de eventos típicos del gráfico
Recetas de MQL5 - procesamiento de eventos típicos del gráfico

Recetas de MQL5 - procesamiento de eventos típicos del gráfico

En este artículo se analizan los eventos típicos del gráfico y se dan ejemplos de su procesamiento. Han sido considerados los eventos del ratón, evento del teclazo, creación/cambio de propiedades, eliminación del objeto gráfico, clic del ratón en el gráfico y en el objeto gráfico, desplazamiento del objeto gráfico con ratón, fin de edición del texto en el campo de introducción, así como los eventos de modificación del gráfico. Cada evento va acompañado con ejemplos de programas en MQL5.
preview
MQL5 — Tú también puedes convertirte en un maestro de este lenguaje

MQL5 — Tú también puedes convertirte en un maestro de este lenguaje

En este artículo, realizaré algo parecido a una entrevista conmigo mismo, compartiendo cómo di mis primeros pasos en MQL5. Con esta guía, quiero ayudarte a convertirte en un extraordinario programador de MQL5 mostrándote las bases esenciales para tal logro. Todo lo que necesitas traer contigo es un genuino deseo de aprender.
preview
Redes neuronales: así de sencillo (Parte 6): Experimentos con la tasa de aprendizaje de la red neuronal

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

Ya hemos hablado sobre algunos tipos de redes neuronales y su implementación. En todos los casos, hemos usado el método de descenso de gradiente para entrenar las redes neuronales, lo cual implica la elección de una tasa de aprendizaje. En este artículo, queremos mostrar con ejemplos lo importante que resulta elegir correctamente la tasa de aprendizaje, y también su impacto en el entrenamiento de una red neuronal.
preview
Kit de herramientas de negociación MQL5 (Parte 1): Desarrollo de una biblioteca EX5 de gestión de posiciones

Kit de herramientas de negociación MQL5 (Parte 1): Desarrollo de una biblioteca EX5 de gestión de posiciones

Aprenda a crear un conjunto de herramientas de desarrollador para gestionar diversas operaciones de posición con MQL5. En este artículo, demostraré cómo crear una librería de funciones (ex5) que realizarán operaciones de gestión de posiciones simples a avanzadas, incluyendo el manejo automático y la notificación de los diferentes errores que surgen al tratar con tareas de gestión de posiciones con MQL5.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 41): Ejemplo de indicador de símbolo y periodo múltiples
Trabajando con las series temporales en la biblioteca DoEasy (Parte 41): Ejemplo de indicador de símbolo y periodo múltiples

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

En el artículo, analizaremos un ejemplo de creación de un indicador de símbolo y periodo múltiples usando las clases de las series temporales de la biblioteca DoEasy. Dicho indicador representará en la subventana el gráfico de la pareja de divisas seleccionada con el marco temporal seleccionado en forma de velas japonesas. Asimismo, mejoraremos las clases de la biblioteca y crearemos un archivo aparte para guardar las enumeraciones para los parámetros de entrada de los programas y la selección del lenguaje de compilación.
Las Tablas Electrónicas en MQL5
Las Tablas Electrónicas en MQL5

Las Tablas Electrónicas en MQL5

El artículo describe una clase de matrices dinámicas bidimensionales que contienen los diferentes tipos de datos en su primera dimensión. Es conveniente almacenar los datos en forma de tablas para poder resolver una gran variedad de problemas de disposición, almacenamiento y funcionamiento con información de diferentes clases. El código fuente de la clase que implementa la funcionalidad de trabajar con tablas está adjunto al artículo.
preview
Análisis de clústeres (Parte I): Usando la inclinación de las líneas de indicador

Análisis de clústeres (Parte I): Usando la inclinación de las líneas de indicador

El análisis de clústeres es uno de los elementos más importantes de la inteligencia artificial. En este artículo, trataremos de aplicar el análisis de inclinación del clúster del indicador para obtener valores de umbral que nos ayuden a determinar la naturaleza plana o de tendencia del mercado.
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”.
preview
Matrices y vectores en MQL5: funciones de activación

Matrices y vectores en MQL5: funciones de activación

En este artículo, describiremos solo uno de los aspectos del aprendizaje automático: las funciones de activación. En las redes neuronales artificiales, las funciones de activación de neuronas calculan el valor de la señal de salida en función de los valores de una señal de entrada o un conjunto de señales de entrada. Hoy le mostraremos lo que hay "debajo del capó".
Cómo ser un mejor programador (parte 05): Aprendiendo a desarrollar más rápido
Cómo ser un mejor programador (parte 05): Aprendiendo a desarrollar más rápido

Cómo ser un mejor programador (parte 05): Aprendiendo a desarrollar más rápido

Sin duda, todo desarrollador querría escribir código más rápido; por eso, le agradará saber que la capacidad de codificar de forma más rápida y eficaz no es algo con lo que solo nazcan unas pocas personas, es una habilidad que se puede adquirir. Eso es lo que intentaremos trabajar en el artículo de hoy.
Cómo escribir un cliente nativo de Twitter para MetaTrader 4 y MetaTrader 5 sin usar DLL
Cómo escribir un cliente nativo de Twitter para MetaTrader 4 y MetaTrader 5 sin usar DLL

Cómo escribir un cliente nativo de Twitter para MetaTrader 4 y MetaTrader 5 sin usar DLL

¿Quiere usted recibir tweets o publicar sus señales comerciales en Twitter? Ya no tendrá que buscar soluciones para ello: en esta serie de artículos, analizaremos cómo trabajar con Twitter sin usar DLL. Juntos, implementaremos una Tweeter API con ayuda de MQL. En el primer artículo, hablaremos de las posibilidades de autenticación y autorización a través de Twitter API.
Experto comercial universal: Modelo de eventos y prototipo de estrategia comercial (Parte 2)
Experto comercial universal: Modelo de eventos y prototipo de estrategia comercial (Parte 2)

Experto comercial universal: Modelo de eventos y prototipo de estrategia comercial (Parte 2)

Este artículo continúa con la serie de comentarios dedicados al modelo universal de expertos. En esta parte se describe un modelo original de eventos basado en el procesamiento centralizado de datos, y también se estudia la estructura de la clase básica del motor CStrategy.
Gráficos en la biblioteca DoEasy (Parte 90): Eventos de objetos gráficos estándar. Funcionalidad básica
Gráficos en la biblioteca DoEasy (Parte 90): Eventos de objetos gráficos estándar. Funcionalidad básica

Gráficos en la biblioteca DoEasy (Parte 90): Eventos de objetos gráficos estándar. Funcionalidad básica

En este artículo, crearemos la funcionalidad básica para el seguimiento de eventos de objetos gráficos estándar. Empezaremos con el evento de doble clic sobre un objeto gráfico.
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.
Experto comercial universal: Indicador CUnIndicator y trabajo con órdenes pendientes (parte 9)
Experto comercial universal: Indicador CUnIndicator y trabajo con órdenes pendientes (parte 9)

Experto comercial universal: Indicador CUnIndicator y trabajo con órdenes pendientes (parte 9)

En este artículo se describe el trabajo con indicadores usando la clase universal CUnIndicator. Además de eso, han sido examinados nuevos métodos de trabajo con las órdenes pendientes. Obsérvese, a partir de este momento, la la estructura del proyecto CStrategy ha sufrido cambios considerables. Ahora, todos sus archivos se ubican en el mismo directorio para la comodidad de los usuarios.
preview
Consejos de un programador profesional (parte I): guardado, depuración y compilación de códigos. Trabajando con proyectos y logs

Consejos de un programador profesional (parte I): guardado, depuración y compilación de códigos. Trabajando con proyectos y logs

Consejos de un programador profesional sobre métodos, técnicas y herramientas auxiliares para facilitar la programación.
preview
Algoritmos de optimización de la población: Colonia artificial de abejas (Artificial Bee Colony - ABC)

Algoritmos de optimización de la población: Colonia artificial de abejas (Artificial Bee Colony - ABC)

Hoy estudiaremos el algoritmo de colonia artificial de abejas. Asimismo, complementaremos nuestros conocimientos con nuevos principios para el estudio de los espacios funcionales. En este artículo hablaremos sobre mi interpretación de la versión clásica del algoritmo.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIII): Clase comercial principal - control de parámetros permitidos
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIII): Clase comercial principal - control de parámetros permitidos

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIII): Clase comercial principal - control de parámetros permitidos

En el presente artículo, continuaremos el desarrollo de la clase comercial, organizando esta vez el control de los valores incorrectos de los parámetros de la orden comercial e implementando la notificación sonora de los eventos comerciales.
Recetas MQL5 - Desarrollo de un indicador multidivisa para el análisis de la divergencia de precios
Recetas MQL5 - Desarrollo de un indicador multidivisa para el análisis de la divergencia de precios

Recetas MQL5 - Desarrollo de un indicador multidivisa para el análisis de la divergencia de precios

En este artículo veremos el desarrollo de un indicador multidivisa para el análisis de la divergencia de precios en un periodo de tiempo determinado. Ya hemos visto muchos momentos importantes en el anterior artículo sobre la programación de indicadores multidivisa: "Desarrollo de un indicador multidivisa de volatilidad en MQL5". Por eso, esta vez sólo nos detendremos en las funciones nuevas, o bien en aquellas funciones que hayan sufrido cambios significativos. Si es la primera vez que se encuentra con el tema de los indicadores multidivisa, entonces le recomendamos que lea en primer lugar el artículo anterior.
Recetas MQL5 - Asesor multidivisa y funcionamiento de órdenes pendientes en MQL5
Recetas MQL5 - Asesor multidivisa y funcionamiento de órdenes pendientes en MQL5

Recetas MQL5 - Asesor multidivisa y funcionamiento de órdenes pendientes en MQL5

En esta ocasión veremos la creación de un asesor multidivisa, cuyo algoritmo de comercio será construido para trabajar con las órdenes pendientes Buy Stop y Sell Stop. En el artículo estudiaremos las siguientes cuestiones: el comercio en un diapasón temporal indicado, cómo establecer/modificar/eleminar órdenes pendientes, la comprobación de la última posición sobre Take Profit o Stop Loss y el control del historial de operaciones en cada símbolo.
Cliente Nativo de Twitter: Parte 2
Cliente Nativo de Twitter: Parte 2

Cliente Nativo de Twitter: Parte 2

Un cliente de Twitter implementado como clase MQL para permitirle a usted enviar tweets con fotos. Todo lo que necesita es agregar un solo archivo de inclusión autónomo y listo para tuitear todos sus maravillosos gráficos y señales.
OOP en MQL5 con un Ejemplo: Procesamiento de Códigos de Advertencia y Error
OOP en MQL5 con un Ejemplo: Procesamiento de Códigos de Advertencia y Error

OOP en MQL5 con un Ejemplo: Procesamiento de Códigos de Advertencia y Error

Este artículo describe un ejemplo de creación de una clase para trabajar con los códigos devueltos por el servidor de trading que ocurren durante la ejecución del programa MQL. Si lee el artículo, aprenderá a trabajar con clases y objetos en MQL5. Al mismo tiempo, se trata de una herramienta útil para gestionar errores, y puede configurarla de acuerdo con sus necesidades específicas.
Libro de Recetas MQL5: Propiedades de Posición en el Panel de Información Personalizada
Libro de Recetas MQL5: Propiedades de Posición en el Panel de Información Personalizada

Libro de Recetas MQL5: Propiedades de Posición en el Panel de Información Personalizada

En esta ocasión crearemos un Asesor Experto que obtendrá propiedades de posición en el símbolo actual y las mostrará en el panel de información personalizada durante operaciones de trading manual. El panel de información se creará usando objetos gráficos, y la información que muestra se actualizará con cada tick. Esto será mucho más conveniente que tener que ejecutar todo el rato el script descrito en el artículo anterior de la serie llamado "MQL5 Cookbook: Getting Position Properties" (“Libro de Recetas MQL5: Obtener Propiedades de Posición”).
preview
Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte III). Optimización y nuevos instrumentos

Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte III). Optimización y nuevos instrumentos

Desarrollo del dibujado de objetos gráficos en los gráficos usando atajos de teclado. Hemos añadido a la biblioteca nuevas herramientas, en particular, una línea recta que recorre vértices arbitrarios y un conjunto de rectángulos que nos permitirá estimar tanto el nivel como el momento del viraje. También mostramos la posibilidad de optimizar el código para mejorar el rendimiento. Hemos reescrito el ejemplo de la implementación como un indicador, lo cual nos permite establecer atajos de teclado junto con otros programas comerciales. El nivel de dominio del código es un poco superior al de un principiante.
Cómo ser un mejor programador (parte 04): Aprendiendo a desarrollar más rápido
Cómo ser un mejor programador (parte 04): Aprendiendo a desarrollar más rápido

Cómo ser un mejor programador (parte 04): Aprendiendo a desarrollar más rápido

Todo desarrollador quiere poder escribir código más rápido, y eso no es algo tan difícil de conseguir: debemos saber que codificar de forma más rápida y eficaz no es un tipo de habilidad especial con la que nazcan solo unas pocas personas. Es una habilidad que todos los codificadores pueden aprender, independientemente de la experiencia acumulada con el teclado.
Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)
Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)

Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)

Sigamos desarrollando el control «Campo de edición multilínea». Esta vez, nuestra tarea consiste en configurar el traslado automático de palabras a la siguiente línea si no encajan en el campo de edición, o el traslado inverso a la línea anterior si aparece esta posibilidad.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIII): Eventos del objeto "cuenta"
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIII): Eventos del objeto "cuenta"

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIII): Eventos del objeto "cuenta"

En este artículo, analizaremos los métodos de trabajo con los eventos de cuenta (de la cuenta comercial) que permiten monitorear los eventos importantes de cambio en las propiedades de una cuenta comercial y que influyen de una forma u otra en el comercio automático. Ya creamos cierta parte de la funcionalidad para el seguimiento de eventos de cuenta en el artículo anterior, al crear la colección de objetos de cuenta.
Pruebas de rendimiento computacional de los promedios móviles en MQL5
Pruebas de rendimiento computacional de los promedios móviles en MQL5

Pruebas de rendimiento computacional de los promedios móviles en MQL5

Desde la creación del primer indicador de Promedio móvil, surgieron muchos indicadores. Muchos de ellos utilizan los mismos métodos de suavizado, pero no se han estudiado los rendimientos de los distintos algoritmos de los promedios móviles. En este artículo, vamos a examinar distintas maneras de utilizar los Promedios móviles en MQL5 y comparar su rendimiento.
¡Impresione sus clientes con un cóctel eficiente de tecnologías!
¡Impresione sus clientes con un cóctel eficiente de tecnologías!

¡Impresione sus clientes con un cóctel eficiente de tecnologías!

MQL5 proporciona a los programadores un conjunto muy completo de funciones y API orientados a objetos, permitiéndoles hacer todo lo que quieran en el entorno de MetaTrader. Sin embargo, hoy en día, la tecnología web es una herramienta extremadamente versátil y puede resultar útil cuando le surge la necesidad de hacer algo muy específico, quiere sorprender sus clientes con algo diferente o simplemente no dispone del tiempo suficiente para dominar una parte concreta de la librería estándar de MQL5. A través del ejercicio de hoy, vamos a recorrer un ejemplo práctico acerca de cómo puede manejar el tiempo que dedica al desarrollo al mismo tiempo que crea un impresionante cóctel tecnológico.
Sistema de notificaciones de voz para evetos comerciales y señales
Sistema de notificaciones de voz para evetos comerciales y señales

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

En nuestros tiempos, los asistentes de voz juegan hace mucho un papel considerable en la vida del hombre, ya sea como navegador, buscador de voz o traductor. Por eso, en el presente artículo trataremos de desarrollar un sistema sencillo y comprensible de notificaciones de voz para los diferentes eventos comerciales, los estados del mercado o las señales de los sistemas comerciales.
Recetas MQL5 - procesamiento del evento TradeTransaction
Recetas MQL5 - procesamiento del evento TradeTransaction

Recetas MQL5 - procesamiento del evento TradeTransaction

En el artículo se describen las posibilidades del lenguaje MQL5 desde el punto de vista de la programación dirigida por eventos. La ventaja de este enfoque consiste en que el programa puede obtener información sobre la ejecución por etapas de la operación comercial. Se presenta un ejemplo de cómo con la ayuda del procesador del evento TradeTransaction se puede obtener y procesar la información sobre las acciones comerciales realizadas. Pienso que este enfoque se puede aplicar con toda tranquilidad para copiar las operaciones comerciales desde un terminal a otro.
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 X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)
Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)

Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)

Seguimos añadiendo nuevas posibilidades a la tabla dibujada que nos permitirán hacer lo siguiente: ordenar los datos, controlar el número de columnas y filas, establecer el tipo de las celdas para adjuntar los controles.