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
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.
Interacción entre MetaTrader 4 y Matlab mediante DDE
Interacción entre MetaTrader 4 y Matlab mediante DDE

Interacción entre MetaTrader 4 y Matlab mediante DDE

Instrucciones paso a paso sobre cómo organizar la transferencia de datos desde Matlab a MetaTrader 4 usando DDE.
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.
Cómo ser un mejor programador (parte 01): 5 cosas que evitar para convertirse en un programador exitoso de MQL5
Cómo ser un mejor programador (parte 01): 5 cosas que evitar para convertirse en un programador exitoso de MQL5

Cómo ser un mejor programador (parte 01): 5 cosas que evitar para convertirse en un programador exitoso de MQL5

Hay muchos malos hábitos que impiden a los programadores principiantes e incluso avanzados sacar el cien por cien de rendimiento a su carrera de codificación. En este artículo, discutiremos y abordaremos dichos hábitos. El presente material es una lectura obligada para todos aquellos que quieran convertirse en desarrolladores exitosos en MQL5.
Estudiando las clases de estrategias comerciales de la Biblioteca Estándar - Estrategias personalizadas
Estudiando las clases de estrategias comerciales de la Biblioteca Estándar - Estrategias personalizadas

Estudiando las clases de estrategias comerciales de la Biblioteca Estándar - Estrategias personalizadas

En este artículo estudiaremos las clases de estrategias comerciales contenidas en la Biblioteca Estándar, también aprenderemos a añadir estrategias personalizadas y filtros/señales, respetando la lógica de los patrones y modelos del Wizard MQL5. Al final, usted será capaz de añadir fácilmente sus propias estrategias, usando los indicadores estándar de MetaTrader 5, y el Wizard MQL5 creará un código puro y un experto totalmente operativo.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 40): Indicadores basados en la biblioteca - actualización de datos en tiempo real
Trabajando con las series temporales en la biblioteca DoEasy (Parte 40): Indicadores basados en la biblioteca - actualización de datos en tiempo real

Trabajando con las series temporales en la biblioteca DoEasy (Parte 40): Indicadores basados en la biblioteca - actualización de datos en tiempo real

En el artículo, vamos a analizar la creación de un indicador multiperiodo basado en la biblioteca DoEasy. Asimismo, vamos a mejorar las clases de las series temporales para obtener los datos de cualquier marco temporal y representarlos en el periodo actual del gráfico.
MT4TerminalSyn: Sistema para la Sincronización de Terminales MetaTrader 4
MT4TerminalSyn: Sistema para la Sincronización de Terminales MetaTrader 4

MT4TerminalSyn: Sistema para la Sincronización de Terminales MetaTrader 4

Este artículo está dedicado al tema "Ampliar las posibilidades de los programas MQL4 utilizando funciones de sistemas operativos y otros medios de desarrollo de programas". El artículo describe un ejemplo de un sistema que integra la tarea de la sincronización de varias copias de terminales basada en una única plantilla de base.
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.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVIII): Interactividad del objeto de cuenta con cualquier otro objeto de la biblioteca
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVIII): Interactividad del objeto de cuenta con cualquier otro objeto de la biblioteca

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVIII): Interactividad del objeto de cuenta con cualquier otro objeto de la biblioteca

En el presente artículo, hemos organizado el funcionamiento del objeto de cuenta en el nuevo objeto básico de todos los objetos de la biblioteca, hemos mejorado el objeto básico CBaseObj y hemos puesto a prueba el establecimiento de los parámetros monitoreados, así como la obtención de eventos para cualquier objeto de la biblioteca.
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).
Como exportar cotizaciones desde MetaTrader 5 a aplicaciones .NET usando los servicios de WCF
Como exportar cotizaciones desde MetaTrader 5 a aplicaciones .NET usando los servicios de WCF

Como exportar cotizaciones desde MetaTrader 5 a aplicaciones .NET usando los servicios de WCF

¿Quiere organizar la exportación de cotización desde MetaTrader 5 a su propia aplicación? ¡La compatibilidad entre MQL5 y DLL permite crear este tipo de soluciones! Este artículo le mostrará una de las formas de exportar cotizaciones desde MetaTrader 5 a aplicaciones escritas en .NET. Para mí, la exportación de cotizaciones usando esta plataforma fue más interesante, racional y fácil de implementar. Por desgracia, la versión 5 todavía no soporta .NET, por lo que, como en los viejos tiempos, usaremos win32 dell con .NET como capa intermedia.
Otra clase POO de MQL5
Otra clase POO de MQL5

Otra clase POO de MQL5

Este artículo le muestra cómo implementar un Asesor Experto orientado a objetos desde cero, desde el diseño de una idea teórica de trading hasta la programación de un Asesor Experto en MQL5 que ponga en práctica la idea en un entorno real. Aprender haciendo las cosas es, en mi humilde opinión, un buen planteamiento para tener éxito, así que voy a mostrar un ejemplo práctico para que pueda ver cómo puede ordenar sus ideas para llegar finalmente al código de sus robots de Forex. Mi objetivo es también invitarle a adherir a los principios OO (orientación a objetos).
Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)
Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)

Experto comercial universal: integración con los módulos estándar de señales de MetaTrader (parte 7)

Esta parte está dedicada a la integración del motor comercial CStrategy con los módulos de señales incluidos en la biblioteca estándar de MetaTrader. El material describe los métodos de trabajo con las señales y la creación de estrategias de usuario basadas ellas.
preview
Posibilidades de ChatGPT de OpenAI en el marco de desarrollo de MQL4 y MQL5

Posibilidades de ChatGPT de OpenAI en el marco de desarrollo de MQL4 y MQL5

En este artículo, experimentaremos y analizaremos la inteligencia artificial ChatGPT de OpenAI para comprender sus capacidades y reducir el tiempo y la intensidad del trabajo en el desarrollo de nuestros asesores, indicadores y scripts. Asimismo, repasaremos rápidamente esta tecnología e intentaremos ver cómo usarla correctamente para programar en MQL4 y MQL5.
Aplicación de OpenCL para simular patrones de velas
Aplicación de OpenCL para simular patrones de velas

Aplicación de OpenCL para simular patrones de velas

En este artículo analizaremos el algoritmo de implementación de un simulador de patrones de velas en el lenguaje OpenCL en el modo "OHLC en M1". Asimismo, compararemos su rapidez con el simulador de estrategias incorporado en el modo de optimización rápida y lenta.
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).
Métodos de control remoto de EAs
Métodos de control remoto de EAs

Métodos de control remoto de EAs

La principal ventaja de los robots comerciales es su funcionamiento ininterrumpido las 24 horas del día en un servidor VPS remoto. Pero a veces es necesario intervenir en su funcionamiento manualmente, y ahora no disponemos de acceso directo al servidor. ¿Podemos gestionar de forma remota el funcionamiento del asesor? En este artículo se presenta una de las variantes de control de robots a través de comandos externos.
Combinatoria y teoría de la probabilidad en el trading (Parte II): Fractal universal
Combinatoria y teoría de la probabilidad en el trading (Parte II): Fractal universal

Combinatoria y teoría de la probabilidad en el trading (Parte II): Fractal universal

En el presente artículo, continuaremos estudiando los fractales, prestando especial atención a la generalización de todo el material. En concreto, intentaremos hacer el material más compacto y comprensible, para poder usarlo de forma práctica en el trading.
MetaTrader 5: Publicar pronósticos de trading y declaraciones de trading en tiempo real a través del correo electrónico en blogs, redes sociales y páginas web dedicadas
MetaTrader 5: Publicar pronósticos de trading y declaraciones de trading en tiempo real a través del correo electrónico en blogs, redes sociales y páginas web dedicadas

MetaTrader 5: Publicar pronósticos de trading y declaraciones de trading en tiempo real a través del correo electrónico en blogs, redes sociales y páginas web dedicadas

El objetivo de este artículo es presentar soluciones ya preparadas para publicar pronósticos usando MetaTrader 5. Cubre un gran espectro de ideas: desde el uso de páginas web dedicadas para publicar declaraciones de MetaTrader hasta la configuración de una página web propia prácticamente sin experiencia en programación, y finalmente, también, integración con una red social de servicios de microblogging que permitirá a muchos lectores unirse y seguir los pronósticos. Todas las soluciones aquí presentadas son 100% gratuitas y las puede poner en práctica cualquiera con un conocimiento básico de servicios de correo electrónico y FTP (Protocolo de Transferencia de Archivos, por sus siglas en inglés). No hay obstáculos para el uso de las mismas técnicas para servicios de pronóstico de hosting profesional y trading comercial.
Modelo de continuación de movimiento - búsqueda en el gráfico y estadísticas de ejecución
Modelo de continuación de movimiento - búsqueda en el gráfico y estadísticas de ejecución

Modelo de continuación de movimiento - búsqueda en el gráfico y estadísticas de ejecución

En este artículo vamos a describir la definición programática de uno de los modelos de continuación del movimiento. La base del trabajo viene constituida por dos ondas: la principal y la de corrección. Como extremos se usarán fractales, además de los llamados fractales potenciales, los extremos que no se han formado aún como fractales.
preview
Ejemplo de creación de la estrategia comercial compleja Owl

Ejemplo de creación de la estrategia comercial compleja Owl

Mi estrategia se basa en los fundamentos clásicos del trading y en el perfeccionamiento de indicadores ampliamente usados en todo tipo de mercados. En la práctica, se trata de una herramienta lista para usar que nos permite sacar el máximo rendimiento a la nueva estrategia de negociación rentable propuesta.
Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)
Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)

Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)

El primer capítulo de la tercera pare de la serie estaba dedicada a los botones simples y multifuncionales. En el segundo capítulo hablaremos de los grupos de botones interconectados que permiten crear los controles, cuando el usuario puede elegir una opción de un determinado conjunto (grupo).
Monitoreo multidivisas de las señales comerciales (Parte 4): Mejorando la funcionalidad y el sistema de búsqueda de las señales
Monitoreo multidivisas de las señales comerciales (Parte 4): Mejorando la funcionalidad y el sistema de búsqueda de las señales

Monitoreo multidivisas de las señales comerciales (Parte 4): Mejorando la funcionalidad y el sistema de búsqueda de las señales

En este artículo, vamos a ampliar el sistema de búsqueda y edición de las señales comerciales, introduciremos la posibilidad de usar indicadores personalizados y añadiremos la localización de la aplicación. Antes, creamos el sistema básico de la búsqueda de señales comerciales, pero este sistema se basaba en una reducida gama de indicadores y en una elección lacónica de las reglas para la búsqueda.
Aplicación del método de coordenadas de Eigen al análisis estructural de distribuciones estadísticas no extensivas
Aplicación del método de coordenadas de Eigen al análisis estructural de distribuciones estadísticas no extensivas

Aplicación del método de coordenadas de Eigen al análisis estructural de distribuciones estadísticas no extensivas

El mayor problema de la estadística aplicada es la aceptación de hipótesis estadísticas. Durante mucho tiempo se consideró un problema imposible de resolver. La situación cambió con la aparición del método de las coordenadas de Eigen. Es una refinada y potente herramienta para el estudio estructural de una señal, permitiendo ver más de lo que es posible utilizando métodos de la estadística moderna aplicada. El artículo se centra en la utilización práctica de este método y plantea distintos programas en MQL5. También trata sobre el problema de la identificación de la función usando como ejemplo la distribución de Hilhorst y Schehr.
Estudiamos la clase CCanvas. Suavizado y sombras
Estudiamos la clase CCanvas. Suavizado y sombras

Estudiamos la clase CCanvas. Suavizado y sombras

El algoritmo de suavizado de la clase CCanvas es la base de todas las construcciones en las que se usa el suavizado. En el artículo se cuenta cómo funciona este algoritmo y se muestran ejemplos visuales de su funcionamiento. Además, se analizará el dibujado de las sombras de los objetos gráficos y se desarrollará un algoritmo detallado del dibujado de la sombra en el elemento canvas. Para los cálculos se ha utilizado la biblioteca de análisis numérico ALGLIB.
Control de eventos en MQL5: cambiar el periodo de la media móvil sobre la marcha
Control de eventos en MQL5: cambiar el periodo de la media móvil sobre la marcha

Control de eventos en MQL5: cambiar el periodo de la media móvil sobre la marcha

Supongamos que se aplica al gráfico un simple indicador de media móvil con periodo 13. Y queremos cambiar el periodo a 20, pero no queremos ir al cuadro de diálogo de las propiedades del indicador y cambiar el número 13 por el 20: simplemente porque estamos cansados de realizar estas acciones tan tediosas con el ratón y el teclado. Y especialmente no queremos abrir el código del indicador y modificarlo. Queremos hacer todo esto con solo pulsar un botón -"flecha arriba" junto al teclado numérico. En este artículo veremos cómo hacer esto.
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.
Análisis comparativo de 30 indicadores y osciladores
Análisis comparativo de 30 indicadores y osciladores

Análisis comparativo de 30 indicadores y osciladores

El presente artículo describe el funcionamiento de un Asesor Experto que realiza el análisis comparativo de 30 indicadores y osciladores. El objetivo es compilar un paquete de índices eficaz para hacer trading.
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.
Alerta y comentario para indicadores externos (Parte dos)
Alerta y comentario para indicadores externos (Parte dos)

Alerta y comentario para indicadores externos (Parte dos)

Desde que publiqué el artículo "Alerta y comentario para indicadores externos", he recibido peticiones y preguntas sobre la posibilidad de desarrollar un informador externo que funcione en base a las líneas del indicador. Una vez analizadas todas las preguntas, decidí continuar con el tema. Almacenar los datos en un buffer de un indicador resultó ser otra área de interés para los usuarios.
Actualización de MetaTrader 4 Build 600 o superior
Actualización de MetaTrader 4 Build 600 o superior

Actualización de MetaTrader 4 Build 600 o superior

La nueva versión del terminal MetaTrader 4 cuenta con la estructura actualizada de almacenamiento de datos de usuario. En versiones anteriores todos los programas, plantillas, perfiles etc. se almacenan directamente en la carpeta de instalación del terminal. Ahora todos los datos necesarios requeridos para un determinado usuario se almacenan en un directorio llamado carpeta de datos. Leer el artículo para encontrar respuestas a preguntas frecuentes.
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.
Neuroredes profundas (Parte II). Desarrollo y selección de predictores
Neuroredes profundas (Parte II). Desarrollo y selección de predictores

Neuroredes profundas (Parte II). Desarrollo y selección de predictores

En este segundo artículo de la serie sobre redes neuronales profundas se analizarán la transformación y la selección en el proceso de preparación de los datos para el entrenamiento del modelo.
preview
Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte II). Haciendo el marcado

Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte II). Haciendo el marcado

Este artículo continúa el ciclo en el que mostramos la creación de una biblioteca capaz de marcar gráficos manualmente utilizando atajos de teclado. El marcado se realiza con líneas rectas y combinaciones de estas. Esta parte habla directamente sobre el propio dibujado utilizando las funciones descritas en la primera parte. La biblioteca se puede conectar a cualquier asesor experto o indicador, lo cual simplifica sustancialmente las tareas de marcado. Esta solución NO UTILIZA dlls externas: todos los comandos se implementan usando las herramientas integradas de MQL.
Ejemplos de análisis de gráficos utilizando el TD Sequential de DeMark y los niveles de Murray-Gann
Ejemplos de análisis de gráficos utilizando el TD Sequential de DeMark y los niveles de Murray-Gann

Ejemplos de análisis de gráficos utilizando el TD Sequential de DeMark y los niveles de Murray-Gann

El sistema secuencial de Thomas DeMark o TD sequential muestra perfectamente los cambios de equilibrio en el movimiento del precio. Esto se hace especialmente obvio si combinamos sus señales con un indicador de nivel, por ejemplo, con los niveles de Murray. En el artículo hablaremos de estas combinaciones. El texto está más bien dirigido a principiantes en el trading y aquellos que aún no pueden encontrar su "Grial", si bien mostramos algunas características de los niveles de construcción que no hemos visto en otros foros. Por consiguiente, también podría resultar de utilidad en algunos puntos a los usuarios avanzados. Bueno, y a los gurús los invitamos a debatir y realizar críticas constructivas...
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 23): FOREX (IV)

Desarrollo de un sistema de repetición — Simulación de mercado (Parte 23): FOREX (IV)

La creación ahora se realiza en el mismo punto en el que convertimos los ticks en barras. Así, si algo va mal durante la conversión, nos daremos cuenta del error enseguida. Esto se debe a que el mismo código que coloca las barras de 1 minuto en el gráfico cuando avanzamos rápidamente también se utiliza para el sistema de posicionamiento y para colocar las barras durante el avance normal. En otras palabras, el código responsable de esta tarea ya no se duplica en ningún lugar. De esta manera, tenemos un sistema mucho más adecuado tanto para el mantenimiento como para las mejoras.
preview
Explorando opciones para crear velas multicolores

Explorando opciones para crear velas multicolores

En este artículo, abordaremos las distintas posibilidades de crear indicadores personalizados con velas, señalando sus correspondientes ventajas y desventajas.
Comunicándonos con Meta Trader 5 usando conexiones designadas sin utilizar DLL
Comunicándonos con Meta Trader 5 usando conexiones designadas sin utilizar DLL

Comunicándonos con Meta Trader 5 usando conexiones designadas sin utilizar DLL

Muchos desarrolladores se enfrentan con el mismo problema: cómo llegar al módulo del terminal sin utilizar DLL poco seguras. Una de los métodos más sencillos y seguros es utilizar conexiones designadas que funcionan como operaciones de archivo normales. Estos nos permiten organizar la comunicación cliente-servidor entre procesadores entre los programas. Eche un vistazo a los ejemplos prácticos en C++ y MQL5 que incluyen el intercambio de datos entre cliente y servidor y la prueba de rendimiento.
Interfaces gráficas I: Formulario para controles (Capítulo 2)
Interfaces gráficas I: Formulario para controles (Capítulo 2)

Interfaces gráficas I: Formulario para controles (Capítulo 2)

En este artículo vamos a crear el primero y el más importante elemento de las interfaces gráficas: formulario para los controles. A este formulario se le puede adjuntar múltiples controles de diferentes tipos en cualquier orden y secuencia.
Protección contra activaciones erróneas del robot comercial
Protección contra activaciones erróneas del robot comercial

Protección contra activaciones erróneas del robot comercial

La rentabilidad de los sistemas comerciales se determina no solo por la lógica y la precisión del análisis de la dinámica de los instrumentos financieros, sino también por la calidad del algoritmo de ejecución de esta lógica. Una expresión característica de ejecución defectuosa de la lógica principal del robot comercial son las activaciones erróneas. En el artículo se analizan variantes para resolver este problema.