Artículos de programación MQL4 y MQL5

icon

Aprenda el lenguaje de programación de estrategias comerciales MQL5 leyendo numerosos artículos la mayor parte de los cuales han sido escritos por Ustedes - miembros de MQL5.community. Con el fin de buscar rápidamente la respuesta sobre una u otra cuestión de programación, todos los artículos están divididos en categorías: "Integración", "Probador", "Estrategias comerciales", etc.

Siga las nuevas publicaciones y participe en sus discusiones en el foro de MQL5.community!

Nuevo artículo
últimas | mejores
La implementación del modo multidivisa en MetaTrader 5
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.
Gestión de la optimización (Parte I): Creando una interfaz gráfica
Gestión de la optimización (Parte I): Creando una interfaz gráfica

Gestión de la optimización (Parte I): Creando una interfaz gráfica

Este artículo describe el proceso de la creación de una extensión para el terminal MetaTrader. La solución propuesta ayuda a automatizar el proceso de de la optimización iniciando la optimización en otros terminales. Basándose en el presente artículo, serán escritos algunos artículos más, que conciernen a este tema. La extensión está escrita usando el lenguaje C# y las plantillas de programación, lo que demuestra adicionalmente la capacidad del terminal para expandir las posibilidades diseñadas inicialmente en él a través del desarrollo de sus propios módulos, así como, demuestra la facilidad de crear las interfaces gráficas personalizadas usando el lenguaje con una funcionalidad más conveniente para eso.
Crear y Publicar Informes de Trading y Notificaciones SMS
Crear y Publicar Informes de Trading y Notificaciones SMS

Crear y Publicar Informes de Trading y Notificaciones SMS

Los traders no siempre tienen la capacidad ni las ganas de estar sentados frente al terminal de trading durante horas. Especialmente si el sistema de trading está más o menos formalizado y puede identificar automáticamente algunos de los estados de mercado. Este artículo describe cómo generar un informe de resultados de trading (usando un Asesor Experto, Indicador o Script) como archivo HTML y cómo subirlo por FTP a un servidor WWW. También explicaremos cómo enviar notificaciones de eventos de trading como mensajes SMS a teléfonos móviles.
Implementar un trader de noticias automático
Implementar un trader de noticias automático

Implementar un trader de noticias automático

Esta es la continuación de otro artículo acerca de la clase POO de MQL5, en el cual se le mostró el modo de implementar un Asesor Experto orientado a objetos desde cero y se le dieron algunos trucos sobre la programación orientada a objetos. Hoy, le voy a mostrar los fundamentos técnicos necesarios para desarrollar un Asesor Experto capaz de hacer trading con noticias. Mi objetivo es seguir proporcionándole ideas acerca de la POO y también abarcar un nuevo tema en esta serie de artículos, trabajando con el sistema de archivos.
Dr. Tradelove o Cómo dejé de preocuparme y escribí un Asesor Experto Autoenseñable
Dr. Tradelove o Cómo dejé de preocuparme y escribí un Asesor Experto Autoenseñable

Dr. Tradelove o Cómo dejé de preocuparme y escribí un Asesor Experto Autoenseñable

Hace poco más de un año joo nos ha dado en su artículo "Algoritmos genéticos: ¡Es fácil!" una herramienta para la implementación del Algoritmo Genético en MQL5. Pues, vamos a utilizar esta herramienta y crearemos un Asesor Experto que, al alcanzar unas condiciones extremas, realice la Optimización Genética de sus propios parámetros...
Utilidad para la selección y navegación en MQL5 y MQL4: añadiendo la búsqueda automática de patrones y visualización de símbolos encontrados
Utilidad para la selección y navegación en MQL5 y MQL4: añadiendo la búsqueda automática de patrones y visualización de símbolos encontrados

Utilidad para la selección y navegación en MQL5 y MQL4: añadiendo la búsqueda automática de patrones y visualización de símbolos encontrados

En este artículo, seguiremos ampliando las capacidades de la utilidad para la selección y navegación por los instrumentos. Esta vez vamos a crear nuevas pestañas, con la apertura de las cuales van a abrirse sólo aquellos símbolos que correspondan a unos u otros parámetros nuestros. Asimismo, aprenderemos a incluir fácilmente nuestras propias pestañas con las reglas de filtración necesarias.
preview
Aprendiendo a diseñar un sistema de trading con ATR

Aprendiendo a diseñar un sistema de trading con ATR

En este artículo, analizaremos una nueva herramienta técnica que puede usarse en el trading. Esta es una continuación de nuestra serie para aprender a diseñar sistemas de trading sencillos. En esta ocasión, trabajaremos con otro popular indicador técnico, el rango medio verdadero (Average True Range, ATR).
preview
Aprendiendo a diseñar un sistema de trading con Fractals

Aprendiendo a diseñar un sistema de trading con Fractals

Bienvenidos a un nuevo artículo de nuestra serie destinada a la creación de sistemas comerciales basados en indicadores técnicos populares. Hoy analizaremos otra herramienta técnica, el indicador Fractals, y desarrollaremos sistemas comerciales basados en este para operar en el terminal MetaTrader 5.
Aplicando OLAP en el trading (parte 1): Fundamentos del análisis corriente de datos multidimensionales
Aplicando OLAP en el trading (parte 1): Fundamentos del análisis corriente de datos multidimensionales

Aplicando OLAP en el trading (parte 1): Fundamentos del análisis corriente de datos multidimensionales

En este artículo, se describen los principios básicos de la construcción del framework para el procesamiento analítico en línea (OLAP en inglés), su implementación en MQL en el ambiente de MetaTrader, usando el procesamiento del historial de trading de la cuenta como ejemplo.
preview
Optimización móvil continua (Parte 5): Panorámica del proyecto del optimizador automático, creación de la interfaz gráfica

Optimización móvil continua (Parte 5): Panorámica del proyecto del optimizador automático, creación de la interfaz gráfica

Continuamos con la descripción de la optimización móvil en el terminal MetaTrader 5. Tras analizar en los artículos anteriores los métodos de formación del informe de optimización y su método de filtrado, hemos procedido a describir la estructura interna de la aplicación encargada del propio proceso de optimización. El optimizador automático, ejecutado como una aplicación en C#, tiene su propia interfaz gráfica. Este artículo está dedicado precisamente a esta interfaz gráfica.
Simulación Rápida de Ideas de Trading en el Gráfico
Simulación Rápida de Ideas de Trading en el Gráfico

Simulación Rápida de Ideas de Trading en el Gráfico

Este artículo describe el método de simulaciones rápidas virtuales de ideas de trading. El método se basa en la combinación de un gráfico de precio, un indicador de señal y un indicador de cálculo de saldo. Me gustaría compartir mi método de búsqueda de ideas de trading, así como el método que uso para la simulación rápida de estas ideas.
Usando los recursos computacionales de MATLAB 2018 en MetaTrader 5
Usando los recursos computacionales de MATLAB 2018 en MetaTrader 5

Usando los recursos computacionales de MATLAB 2018 en MetaTrader 5

Tras la modernización del paquete MATLAB en 2015, es necesario analizar el método moderno de creación de bibliotecas DLL. Usando como ejemplo un indicador de pronóstico, en el artículo se ilustran las peculiaridades de la vinculación de MetaTrader 5 y MATLAB al utilizar las versiones modernas de 64 bits de la plataforma. El análisis de todas las posibilidades de conexión de MATLAB permitirá al desarrollador de MQL5 crear más rápido aplicaciones con recursos computacionales ampliados, evitando tropezones indeseables.
Cómo hacer más fácil la detección y recuperación de errores en el código de un asesor experto
Cómo hacer más fácil la detección y recuperación de errores en el código de un asesor experto

Cómo hacer más fácil la detección y recuperación de errores en el código de un asesor experto

En el desarrollo de asesores expertos son muy importantes las cuestiones relativas a la detección y recuperación de errores en el código. Lo importante de ello es que un error no detectado a tiempo puede arruinar una valiosa idea de un sistema de trading ya en la etapa de sus primeras pruebas. Por ello, cualquier desarrollador de asesores expertos sensible a ello tiene en cuenta dichos problemas desde el principio. Este artículo hace hincapié en algunos métodos que ayudan en esta difícil tarea.
Gestión de errores y logging en MQL5
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.
Desarrollando los Asesores Expertos multimódulo
Desarrollando los Asesores Expertos multimódulo

Desarrollando los Asesores Expertos multimódulo

El lenguaje de programación MQL permite implementar el concepto del diseño modular de las estrategias comerciales. En este artículo, se muestra el ejemplo del desarrollo del Asesor Experto multimódulo compuesto de los módulos de archivos compilados separadamente.
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.
preview
Aprendiendo a diseñar un sistema de trading con Fibonacci

Aprendiendo a diseñar un sistema de trading con Fibonacci

El presente artículo supone la continuación de la serie dedicada a la construcción de sistemas comerciales basados ​​en los indicadores más populares. La próxima herramienta técnica que analizaremos será el indicador de Fibonacci. Hoy veremos cómo escribir un programa basado en las señales de este indicador.
Usar Pseudo-Plantillas como Alternativa a Plantillas C++
Usar Pseudo-Plantillas como Alternativa a Plantillas C++

Usar Pseudo-Plantillas como Alternativa a Plantillas C++

Este artículo describe una forma de programas sin usar plantillas, pero manteniendo el estilo de programación inherente a ellas. Trata sobre la implementación de plantillas usando métodos personalizados y tiene un archivo adjunto con un script ya hecho para crear un código basado en las plantillas especificadas.
Método de las áreas
Método de las áreas

Método de las áreas

El sistema comercial "Método de las áreas" funciona basándose en una interpretación poco habitual de los índices del oscilador RSI. En este artículo se muestra un indicador que visualiza el método de las áreas, y un asesor que comercia con este sistema. El artículo se complementa con los resultados de la simulación del asesor en símbolos, marcos temporales y valores de las áreas diferentes.
La Orden de Creación y Destrucción de Objetos en MQL5
La Orden de Creación y Destrucción de Objetos en MQL5

La Orden de Creación y Destrucción de Objetos en MQL5

Cada objeto, ya sea un objeto personalizado, un array dinámico o un array de objetos, se crea y elimina en el programa MQL5 de una forma particular. A menudo, algunos objetos son parte de otros objetos, y el orden de eliminación de objetos durante la desinicialización se vuelve especialmente importante. Este artículo facilita algunos ejemplos que muestran los mecanismos para trabajar con objetos.
Recetas de MQL5 - implementamos el array asociativo o el diccionario para el acceso rápido a los datos
Recetas de MQL5 - implementamos el array asociativo o el diccionario para el acceso rápido a los datos

Recetas de MQL5 - implementamos el array asociativo o el diccionario para el acceso rápido a los datos

En este artículo se describe un algoritmo especial que permite acceder de manera eficaz a los elementos usando su clave única. Como clave se puede utilizar cualquier tipo básico de datos, por ejemplo, las cadenas o variables de números enteros. Este contenedor de datos suelen llamarlo el diccionario o array asociativo. La solución de muchas tareas con su ayuda resulta más simple y eficaz.
Visualización simultánea de señales de varios indicadores de los cuatro periodos de tiempo
Visualización simultánea de señales de varios indicadores de los cuatro periodos de tiempo

Visualización simultánea de señales de varios indicadores de los cuatro periodos de tiempo

Durante el trading manual, podemos vigilar los valores de varios indicadores. Es algo distinto al trading mecánico. Si tenemos dos o tres indicadores y hemos elegido un periodo de tiempo para el trading, no es una tarea complicada. Pero ¿qué ocurre si tenemos cinco o seis indicadores y nuestra estrategia de trading requiere tener en cuenta las señales de varios periodos de tiempo?
Implementación de Indicadores como Classes por Ejemplos de Zigzag y ATR
Implementación de Indicadores como Classes por Ejemplos de Zigzag y ATR

Implementación de Indicadores como Classes por Ejemplos de Zigzag y ATR

El debate sobre la mejor forma de calcular indicadores es infinito. Dónde deberíamos calcular los valores de indicador: en el indicador mismo, o incrustar la lógica entera en un Expert Advisor que la use? Este artículo describe una de las variantes para mover el código fuente de un indicador personalizado iCustom al código de un Expert Advisor o script con optimización de cálculos y modelizacion del valor prev_calculated.
Revisión de la gestión del dinero
Revisión de la gestión del dinero

Revisión de la gestión del dinero

Este artículo trata algunas cuestiones que se plantean los traders al implementar sistemas de gestión de dinero en su operativa de trading Forex. También describe algunos datos experimentales que se han obtenido al realizar operaciones de trading con varios métodos de gestión de dinero (Money Management, MM) diferentes.
Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo
Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo

Cálculo de expresiones matemáticas (Parte 1). Parsers de descenso recursivo

En el presente artículo, estudiaremos los principios esenciales del análisis y el cálculo de las expresiones matemáticas. Asimismo, implementaremos los parsers de descenso recursivo que funcionan en los modos de intérprete y de cálculos rápidos basados en un árbol de sintaxis previamente construido.
Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte I). Preparación - descripción de la estructura y clase de funciones auxiliares
Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte I). Preparación - descripción de la estructura y clase de funciones auxiliares

Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte I). Preparación - descripción de la estructura y clase de funciones auxiliares

En este artículo, comenzaremos a describir el conjunto para el marcado gráfico con la ayuda de atajos de teclado. Es un herramienta muy cómoda: con solo pulsar un botón, aparecerá una línea de tendencia, el abanico de Fibonacci con los parámetros necesarios, etcétera. Asimismo, tendremos la posibilidad de alternar marcos temporales, cambiar el orden de las "capas" de los objetos o eliminar todos los objetos de un gráfico.
preview
Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte II): Interfaz móvil (II)

Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte II): Interfaz móvil (II)

Descubra el potencial de la presentación dinámica de datos en sus estrategias y utilidades comerciales con nuestra guía detallada para crear GUI móviles en MQL5. Sumérjase en los principios fundamentales de la programación orientada a objetos y aprenda a diseñar y utilizar de manera fácil y eficiente una o más GUI móviles en un solo gráfico.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 35): El objeto "Barra" y la lista de serie temporal del símbolo
Trabajando con las series temporales en la biblioteca DoEasy (Parte 35): El objeto "Barra" y la lista de serie temporal del símbolo

Trabajando con las series temporales en la biblioteca DoEasy (Parte 35): El objeto "Barra" y la lista de serie temporal del símbolo

Con este artículo, comenzamos una nueva serie en la descripción de la biblioteca "DoEasy" para la creación rápida y sencilla de programas. Hoy, empezaremos a preparar la funcionalidad de la biblioteca para acceder a los datos de las series temporales de los símbolos y trabajar con los mismos. Asimismo, crearemos el objeto "Barra", encargado de guardar los datos tanto básicos como ampliados de la barra de la serie temporal, y también ubicaremos los objetos de barra en la lista de serie temporal para que resulte más cómodo buscar y clasificar dichos objetos.
Pivot points para ayudar a determinar las tendencias del mercado
Pivot points para ayudar a determinar las tendencias del mercado

Pivot points para ayudar a determinar las tendencias del mercado

El Pivot point (punto pivote) es una línea en el gráfico de precios que muestra una posible tendencia de un par de divisas. Si el precio está por encima de esta línea, la tendencia tiende a crecer. Si el precio está por debajo de esta línea, la tendencia tiende a caer.
preview
Cómo detectar tendencias y patrones de gráficos usando MQL5

Cómo detectar tendencias y patrones de gráficos usando MQL5

El artículo presenta un método para detectar automáticamente patrones de acción del precio usando MQL5, tales como tendencias (ascendentes, descendentes, laterales) y patrones de gráficos (pico doble, valle doble).
Freelance en MQL5.com, el mejor lugar para el desarrollador
Freelance en MQL5.com, el mejor lugar para el desarrollador

Freelance en MQL5.com, el mejor lugar para el desarrollador

Los desarrolladores de asesores comerciales ya no necesitan buscar traders que necesiten expertos, ellos mismos le encontrarán. Y lo que es más, ya los están encontrando, están encargando trabajos y pagando las tareas ya hechas en el servicio Freelance en MQL5.com. En los 4 años de existencia del servicio, con su ayuda tres mil traders han pagado más de 10 000 trabajos realizados. Además, la actividad de los traders y los desarrolladores crece sin cesar.
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.
MQL5 Wizard: Cómo crear un módulo de Trailing de posiciones abiertas
MQL5 Wizard: Cómo crear un módulo de Trailing de posiciones abiertas

MQL5 Wizard: Cómo crear un módulo de Trailing de posiciones abiertas

El generador de estrategias de trading de MQL5 Wizard simplifica enormemente los procesos de pruebas de los conceptos de trading. El artículo aborda la forma de escribir y conectar al generador de estrategias de trading de MQL5 Wizard su propia clase de gestión de posiciones abiertas moviendo el nivel de Stop Loss a una zona sin pérdidas cuando el precio va en la misma dirección que la posición, proporcionando una protección contra la disminución de sus beneficios durante el trading. También informa sobre la estructura y el formato de la descripción de la clase creada para MQL5 Wizard.
Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)
Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)

Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)

La octava parte del artículo está dedicada a la descripción de la clase CSymbol, un objeto especial que proporciona acceso a un instrumento comercial aleatorio. Incluida en el experto comercial, esta clase proporciona un rico conjunto de propiedades de cualquier instrumento, haciendo la programación de expertos aún más sencilla y multifuncional.
Filtrar Señales Basadas en Datos Estadísticos de Correlación de Precios
Filtrar Señales Basadas en Datos Estadísticos de Correlación de Precios

Filtrar Señales Basadas en Datos Estadísticos de Correlación de Precios

¿Hay alguna correlación entre el comportamiento de precios del pasado y sus tendencias futuras? ¿Por qué el precio repite hoy el carácter de su movimiento del día anterior? ¿Se pueden usar estadísticas para predecir la dinámica de los precios? Hay una respuesta, y es afirmativa. Si tiene alguna duda de ello, este artículo es para usted. Le explicaré cómo crear un filtro funcional para un sistema de trading en MQL5, revelando un patrón interesante en cambios de precio.
Asesores expertos basados en sistemas de trading populares y alquimia de la optimización de robots de trading (Parte V)
Asesores expertos basados en sistemas de trading populares y alquimia de la optimización de robots de trading (Parte V)

Asesores expertos basados en sistemas de trading populares y alquimia de la optimización de robots de trading (Parte V)

En este artículo el autor ofrece formas de mejorar los sistemas de trading descritos en artículos anteriores. El artículo será de interés para los traders que ya tienen algo de experiencia escribiendo asesores expertos.
preview
Técnicas útiles y exóticas para el comercio automático

Técnicas útiles y exóticas para el comercio automático

En el presente artículo, mostraremos algunos trucos muy útiles e interesantes para comerciar de forma automatizada. Alguna de estas técnicas podría resultar familiar al lector, o quizá no, pero intentaremos exponer los métodos más interesantes y explicar por qué merece la pena utilizarlos. Y lo que es más importante: mostraremos lo que pueden hacer en la práctica. Vamos a escribir asesores expertos y comprobar todas las técnicas descritas en la historia de cotizaciones.
Aprendiendo a diseñar un sistema de trading con ADX
Aprendiendo a diseñar un sistema de trading con ADX

Aprendiendo a diseñar un sistema de trading con ADX

En este artículo, continuaremos nuestra serie sobre el diseño de sistemas de trading usando los indicadores más populares, y hablaremos del indicador del índice direccional medio (ADX). Analizaremos este indicador con detalle para entenderlo bien y utilizarlo con una sencilla estrategia. Y es que, profundizando en un indicador, podremos usarlo mejor en el trading.
preview
Aprendiendo a diseñar un sistema de trading con Ichimoku

Aprendiendo a diseñar un sistema de trading con Ichimoku

Este artículo continúa la serie sobre la construcción de sistemas comerciales basados en los indicadores más populares. Esta vez hablaremos del indicador Iсhimoku y crearemos un sistema comercial basado en sus indicadores.
preview
Eventos de Trading en MetaTrader 5

Eventos de Trading en MetaTrader 5

El monitoreo del estado actual de una cuenta de trading implica controlar las posiciones abiertas y órdenes. Antes de que una señal de trading pase a ser una transacción, se debe enviar desde el terminal de cliente como solicitud al servidor de trading, donde se colocará en la cola de órdenes a la espera de ser procesadas. Aceptar una solicitud por el servidor de trading, eliminarla si caduca o realizar una transacción en su base: todas estas acciones se siguen por eventos de trading, y el servidor informa al terminal sobre ellos.