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
¿Dormir, o no dormir?
¿Dormir, o no dormir?

¿Dormir, o no dormir?

Se propone un uso alternativo de la función Sleep() en la realización de las pausas entre las acciones del AE. El método del que se habla aquí permite un uso inteligente del tiempo de máquina.
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

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.
Optimización automática de EAs en MetaTrader 5
Optimización automática de EAs en MetaTrader 5

Optimización automática de EAs en MetaTrader 5

En este artículo se describe el mecanismo de auto-optimización de un experto que funcione en MetaTrader 5.
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)

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

Desde la anterior publicación del artículo de esta serie, la librería Easy And Fast ha adquirido nuevas posibilidades. Ha sido hecha la optimización parcial del esquema y del código de la librería, eso ha reducido un poco el consumo de recursos de la CPU. Algunos métodos que se repiten con frecuencia en muchas clases de los controles han sido traspasados a la clase base CElement.
Principios de programación en MQL5 - Variables globales del terminal
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.
El tester en la terminal MetaTrader 4: Debería saberse
El tester en la terminal MetaTrader 4: Debería saberse

El tester en la terminal MetaTrader 4: Debería saberse

La interfaz elaborada de la terminal MetaTrader 4 es de vanguardia, pero además esta terminal incluye un tester de estrategias cuidadosamente realizado. Y aunque el valor de MetaTrader 4 como terminal de trading es obvio, la calidad de la estrategia del tester puede evaluarse sólo con su uso. Este artículo muestra las ventajas e inconvenientes de hacer pruebas en MetaTrader 4.
Guía práctica de MQL5: Guardar los resultados de la optimización de un Asesor Experto en base a unos criterios especificados
Guía práctica de MQL5: Guardar los resultados de la optimización de un Asesor Experto en base a unos criterios especificados

Guía práctica de MQL5: Guardar los resultados de la optimización de un Asesor Experto en base a unos criterios especificados

Continuamos con la serie de artículos sobre la programación en MQL5. Esta vez, veremos cómo obtener los resultados de cada pasada de optimización durante el proceso de optimización de los parámetros del Asesor Experto. Se hará la implementación de modo que si se cumplen las condiciones especificadas en los parámetros externos, se escriben los valores correspondientes a la pasada de optimización en un archivo. Además de los valores de las pruebas, guardaremos también los parámetros que han llevado a estos resultados.
Web scraping de datos sobre la rentabilidad de los bonos
Web scraping de datos sobre la rentabilidad de los bonos

Web scraping de datos sobre la rentabilidad de los bonos

Cuando diseñamos los sistemas del trading automático, casi siempre utilizamos los datos de los indicadores técnicos que analizan el pasado con el fin de predecir el futuro comportamiento del precio. Pero si no tomamos en cuenta las fuerzas fundamentales que mueven el mercado, evidentemente estaremos en una situación menos ventajosa en comparación con los traders que consideran adicionalmente los datos fundamentales en sus decisiones comerciales. Recopilando automáticamente los datos sobre los tipos de interés, Usted podrá mejorar el funcionamiento de su Asesor Experto.
Nuevas oportunidades con Meta Trader 5
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.
Sistemas de Trading Adaptables y su Uso en el Terminal de Cliente MetaTrader 5
Sistemas de Trading Adaptables y su Uso en el Terminal de Cliente MetaTrader 5

Sistemas de Trading Adaptables y su Uso en el Terminal de Cliente MetaTrader 5

Este artículo sugiere una variante de un sistema adaptable que consta de varias estrategias, cada una de las cuales realiza sus propias operaciones de trading "virtuales". El trading real se realiza de acuerdo con las señales de la estrategia más rentable en cada momento. Gracias al uso del enfoque orientado al objeto, las clases para trabajar con datos y las clases de comercio de la Biblioteca estándar, la arquitectura del sistema parece sencilla y manejable; ahora, podrá crear y analizar fácilmente los sistemas adaptables que incluyen cientos de estrategias de comercio.
Hablando de nuevo sobre los mapas de Kohonen
Hablando de nuevo sobre los mapas de Kohonen

Hablando de nuevo sobre los mapas de Kohonen

El artículo describe los métodos de funcionamiento de los mapas de Kohonen. Le resultará interesante tanto a los investigadores del mercado con habilidades básicas de programación en MQL4 y MQL5, como a los programadores expertos que sufren dificultades con la aplicación de los mapas de Kohonen en sus proyectos.
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

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.
Interfaces gráficas X: Control "Gráfico estándar" (build 4)
Interfaces gráficas X: Control "Gráfico estándar" (build 4)

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

En este artículo vamos a analizar el control de la interfaz gráfica como «Gráfico estándar». Nos permitirá crear los arrays de objetos-gráficos con posibilidad del desplazamiento horizontal sincronizado del gráfico. Aparte de eso, continuaremos optimizando el código de la librería para reducir el consumo de los recursos de CPU.
Usando indicadores para la optimización RealTime de EAs
Usando indicadores para la optimización RealTime de EAs

Usando indicadores para la optimización RealTime de EAs

No es ningún secreto que el éxito del funcionamiento de cualquier robot comercial depende de la correcta elección de sus parámetros (su optimización). Pero los parámetros óptimos para un intervalo temporal no siempre resultan los mejores en otro intervalo de la historia. Con frecuencia, asesores que son rentables en la simulación, dan pérdidas en tiempo real. Aquí nos surje la pregunta concerniente a la necesidad de optimizar continuamente. Allá donde aparece mucho trabajo rutinario, el hombre busca la forma de automatizarlo. En este artículo proponemos nuestro enfoque particular para solucionar esta tarea.
Constructor de estrategias basado en las figuras técnicas de Merrill
Constructor de estrategias basado en las figuras técnicas de Merrill

Constructor de estrategias basado en las figuras técnicas de Merrill

En el artículo anterior, analizamos un modelo de aplicación de las figuras técnicas de Merrill a diferentes datos, tales como el valor del precio en el gráfico de un instrumento de divisa y los valores de los diferentes indicadores del paquete estándar del terminal MetaTrader 5: ATR, WPR, CCI, RSI y otros. Ahora, vamos a intentar crear un constructor de estrategias basado en las ideas sobre el uso de las figuras técnicas de Merrill.
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

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

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.
El comercio en fórex y sus matemáticas básicas
El comercio en fórex y sus matemáticas básicas

El comercio en fórex y sus matemáticas básicas

El artículo pretende describir las principales características del comercio de divisas de la forma más rápida y simple posible, para compartir verdades sencillas con los lectores principiantes. También intentaremos responder a las preguntas más interesantes en el entorno comercial, así como escribir un indicador simple.
¿Cuál es el grado de fiabilidad del trading por la noche?
¿Cuál es el grado de fiabilidad del trading por la noche?

¿Cuál es el grado de fiabilidad del trading por la noche?

El artículo trata las peculiaridades del trading plano durante la noche con pares de divisas cruzados. Se explica dónde podemos esperar beneficios y por qué las grandes pérdidas son muy poco probables. Se presenta también el ejemplo de un Asesor Experto desarrollado para el trading nocturno y se aborda el uso de esta estrategia en la práctica.
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

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.
Asesores Expertos basados en estrategias populares de trading, y un poco de alquimia en la optimización de robots (Parte VI)
Asesores Expertos basados en estrategias populares de trading, y un poco de alquimia en la optimización de robots (Parte VI)

Asesores Expertos basados en estrategias populares de trading, y un poco de alquimia en la optimización de robots (Parte VI)

En este artículo, el autor sugiere un método para mejorar los sistemas de trading de sus anteriores artículos. El artículo puede resultar interesante para los traders que ya tienen cierta experiencia en escribir Asesores Expertos.
La Magia de la Filtración
La Magia de la Filtración

La Magia de la Filtración

La mayoría de los desarrolladores de sistemas de trading automatizados utilizan alguna forma de filtrado de señales de trading. En este artículo exploramos la creación e implementación del paso de banda y filtros discretos para EAS, para mejorar las características del sistema de trading automatizado.
Libro de Recetas de MQL5: Obtener Propiedades de Posiciones
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.
El análisis estadístico de los movimientos del mercado y su pronóstico
El análisis estadístico de los movimientos del mercado y su pronóstico

El análisis estadístico de los movimientos del mercado y su pronóstico

El presente artículo contempla las amplias posibilidades del método estadístico en el marketing. Por desgracia, los traders principiantes fracasan deliberadamente a la hora de aplicar la formidable ciencia de la estadística. Mientras tanto, es lo único que usan de forma inconscientemente cuando analizan el mercado. Además, la estadística puede dar respuesta a muchas preguntas.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo
Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo

Trabajando con las series temporales en la biblioteca DoEasy (Parte 37): Colección de series temporales - Base de datos de series temporales según el símbolo y el periodo

El artículo está dedicado a la creación de la colección de series temporales de los marcos temporales establecidos para todos los símbolos utilizados en el programa. Vamos a crear la colección de series temporales, y también los métodos para establecer los parámetros de las series temporales contenidas en la colección. Asimismo, rellenaremos por primera vez con datos históricos las series temporales creadas en la colección.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVIII): Solicitudes comerciales pendientes - Cierre, eliminación y modificación

Este es el tercer artíclo sobre el concepto de las solicitudes pendientes. En él, terminaremos con la puesta a punto del trabajo con solicitudes comerciales pendientes, creando los métodos para cerrar posiciones, eliminar órdenes pendientes y modificar los parámetros de las posiciones y las órdenes pendientes.
Alerta y comentario para indicadores externos.
Alerta y comentario para indicadores externos.

Alerta y comentario para indicadores externos.

En un trabajo práctico, un trader puede encontrarse con la siguiente situación: es necesario conseguir una "alerta" o un mensaje de texto en una pantalla (en una ventana de gráfico) que indique de la aparición de una señal de un indicador. El artículo contiene un ejemplo de muestra de información sobre los objetos gráficos creados por un indicador externo.
Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)
Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)

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

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

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

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 MQL5: Cómo Evitar Errores al Configurar/Modificar Niveles de Trading
Libro de Recetas MQL5: Cómo Evitar Errores al Configurar/Modificar Niveles de Trading

Libro de Recetas MQL5: Cómo Evitar Errores al Configurar/Modificar Niveles de Trading

Continuando con nuestro trabajo en el Asesor Experto desde el artículo anterior de la serie llamado "MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester" (“Libro de Recetas MQL5: Analizar Propiedades de Posición en el Probador de Estrategias de MetaTrader 5”), seguiremos trabajando en nuestro código, reforzándolo con un buen número de útiles funciones, mejorando y optimizando también las funciones ya existentes. El Asesor Experto tendrá, en esta ocasión, parámetros externos que se podrán optimizar en el Probador de Estrategias de MetaTrader 5, y se parecerán en algunos aspectos a un sistema de trading simple.
Un método de escritura de los niveles de soporte/resistencia
Un método de escritura de los niveles de soporte/resistencia

Un método de escritura de los niveles de soporte/resistencia

Este artículo describe el proceso de crear un script simple para detectar los niveles de soporte/resistencia. Está escrito para principiantes, y tiene una explicación detallada de cada fase del proceso. Sin embargo, aunque el guión es muy simple, el artículo también será útil para traders más avanzados y para los usuarios de la plataforma MetaTrader 4. Contiene ejemplos de la exportación de datos en formato tabular, la importación de la tabla a Microsoft Excel, y la esquematización de gráficos para su futuro análisis más detallado.
Fundamentos de la estadística
Fundamentos de la estadística

Fundamentos de la estadística

Cada trader utiliza en su trabajo este u otro tipo de cálculos estadísticos, incluso si se declara seguidor del análisis fundamental. Este artículo le ayudará a familiarizarse con los fundamentos de la estadística, con sus elementos básicos, además de hablarle de su importancia a la hora de tomar decisiones.
Canal universal con interfaz gráfica
Canal universal con interfaz gráfica

Canal universal con interfaz gráfica

Todos los indicadores de canales están constituidos por tres líneas: una central, una superior y otra inferior. Según su principio de construcción la línea central es idéntica a una media móvil, y en la mayoría de los casos para construir el canal se usa precisamente una media móvil. Las líneas superior e inferior se ubican a la misma distancia de la central. Esta distancia se puede definir simplemente en puntos, en tanto por ciento del precio (indicador Envelopes), se pueden usar valores de desviación estándar (franjas de Bollinger) o los valores del indicador ATR (canal de Keltner).
Patrones disponibles al comerciar con cestas de divisas. Parte II
Patrones disponibles al comerciar con cestas de divisas. Parte II

Patrones disponibles al comerciar con cestas de divisas. Parte II

Continuamos con la conversación sobre los patrones que puede detectar el tráder al comerciar con cestas de parejas de divisas. En esta parte se describen los patrones formados al usar los indicadores de tendencia combinados. Como herramienta de análisis se utilizan indicadores basados en el índice de la divisa.
preview
Matrices y vectores en MQL5

Matrices y vectores en MQL5

La matriz y el vector de tipos de datos especiales nos permiten escribir un código próximo a la notación matemática. Esto elimina la necesidad de crear ciclos anidados y recordar la indexación correcta de las matrices que participan en los cálculos, aumentando la fiabilidad y la velocidad del desarrollo de programas complejos.
Utilidad para la selección y navegación en MQL5 y MQL4: aumentando la informatividad de los gráficos
Utilidad para la selección y navegación en MQL5 y MQL4: aumentando la informatividad de los gráficos

Utilidad para la selección y navegación en MQL5 y MQL4: aumentando la informatividad de los gráficos

En este artículo, continuaremos expandiendo la funcionalidad de nuestra utilidad. Esta vez, añadiremos las posibilidades de visualizar la información en el gráfico, que sirve para facilitar nuestra negociación. En particular, añadiremos en el gráfico los precios máximos y mínimos del día anterior, niveles redondos, precios máximos y mínimos durante el año, hora del inicio de la sesión, etc.
Usando los punteros de objeto en MQL5
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.
Indicadores técnicos y filtros digitales
Indicadores técnicos y filtros digitales

Indicadores técnicos y filtros digitales

En este artículo, se tratan los indicadores técnicos como si fueran filtros digitales. Se explican los principios de funcionamiento y las características básicas de los filtros digitales. Además, se van a tratar algunos métodos prácticos para obtener la respuesta al impulso (kernel) del filtro en el terminal de MetaTrader 5 y su integración con un analizador de espectro, que ya existe, descrito en el artículo "Construyendo un analizador de espectro". Como ejemplos, se usan las características del impulso y el espectro de los filtros digitales típicos.
preview
Cómo trabajar con líneas usando MQL5

Cómo trabajar con líneas usando MQL5

En este artículo, hablaremos sobre cómo trabajar con las líneas más importantes, como las líneas de tendencia, apoyo y resistencia, usando las herramientas de MQL5.