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
Asistente MQL5: Ampliación de la biblioteca estándar para el establecimiento de órdenes, stops y objetivos según precios calculados
Asistente MQL5: Ampliación de la biblioteca estándar para el establecimiento de órdenes, stops y objetivos según precios calculados

Asistente MQL5: Ampliación de la biblioteca estándar para el establecimiento de órdenes, stops y objetivos según precios calculados

En el artículo se describe la ampliación de la biblioteca estándar MQL5, que permite, con ayuda del Asistente, crear asesores que pongan órdenes, stop loss y take profit según los precios obtenidos de los módulos conectados. Esta aproximación no supone limitaciones adicionales en la cantidad de módulos y no provoca conflictos en su trabajo conjunto.
Experto comercial universal: Los modos comerciales de las estrategias (Parte 1)
Experto comercial universal: Los modos comerciales de las estrategias (Parte 1)

Experto comercial universal: Los modos comerciales de las estrategias (Parte 1)

Cada escritor de expertos, independientemente de su nivel de preparación, se encuentra todos los días con las mismas tareas comerciales y problemas algorítmicos, que debe resolver de una forma u otra para organizar un proceso comercial fiable. Este artículo describe las capacidades del motor comercial CStrategy, capaz de ocuparse de la resolución de estas tareas y de proporcionar al usuario mecanismos cómodos para describir sus ideas sobre trading.
Estrategias de trading en Forex
Estrategias de trading en Forex

Estrategias de trading en Forex

Este artículo ayudará los traders principiantes a desarrollar tácticas de trading en Forex.
Reversión: creando un punto de entrada y escribiendo un algoritmo de comercio manual
Reversión: creando un punto de entrada y escribiendo un algoritmo de comercio manual

Reversión: creando un punto de entrada y escribiendo un algoritmo de comercio manual

Este es el último artículo de la serie dedicada a la estrategia comercial de la reversión. En él intentaremos solucionar un problema que ha provocado inestabilidad en los resultados de la simulación en los anteriores artículos. Asimismo, escribiremos y simularemos nuestro propio algoritmo para el comercio manual en cualquier mercado con la ayuda de la reversión.
Interacción entre MetaTrader 4 y Matlab a través de archivos CSV
Interacción entre MetaTrader 4 y Matlab a través de archivos CSV

Interacción entre MetaTrader 4 y Matlab a través de archivos CSV

Las instrucciones paso a paso de cómo organizar las gamas intercambio de datos entre MetaTrader 4 y Metlab a través de archivos CSV.
Aprendiendo a diseñar un sistema comercial basado en MACD
Aprendiendo a diseñar un sistema comercial basado en MACD

Aprendiendo a diseñar un sistema comercial basado en MACD

En este artículo, hablaremos de una nueva herramienta de nuestra serie, y aprenderemos a diseñar un sistema comercial basado en uno de los indicadores técnicos más populares: la convergencia/divergencia de medias móviles (MACD).
Creando un EA gradador multiplataforma (Parte III): cuadrícula de correcciones con martingale
Creando un EA gradador multiplataforma (Parte III): cuadrícula de correcciones con martingale

Creando un EA gradador multiplataforma (Parte III): cuadrícula de correcciones con martingale

En este artículo, intentaremos crear el mejor asesor posible de aquellos que funcionan según el principio del gradador. Como siempre, se tratará de un asesor multiplataforma, capaz de funcionar tanto en MetaTrader 4, como en MetaTrader 5. El primer asesor era bueno en todo, excepto en que no podía traer beneficios en un periodo de tiempo prolongado. El segundo asesor podía funcionar en intervalos superiores a varios años. Pero era incapaz de lograr más de un 50% de beneficio anual con una reducción máxima inferior al 50%.
Los Asesores Expertos desde el Asistente MQL5 funcionan en MetaTrader 4
Los Asesores Expertos desde el Asistente MQL5 funcionan en MetaTrader 4

Los Asesores Expertos desde el Asistente MQL5 funcionan en MetaTrader 4

En este artículo se ofrece un emulador simple del entorno comercial de MetaTrader 5 para MetaTrader 4. Este emulador permite realizar el traspaso y adaptación de las clases de trading de la librería estándar. Como resultado, los Asesores Expertos generados en el Asistente para MetaTrader 5, pueden ser compilados y ejecutados en MetaTrader 4.
Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)
Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)

Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)

Se considera el control «Campo de edición multilínea». A diferencia del objeto gráfico OBJ_EDIT, en esta versión no habrá limitación alguna para el número de los caracteres a introducir. Aparte de eso, se hace disponible el modo cuando el campo de edición se convierte en un sencillo editor de texto donde se puede mover el cursor usando el ratón o el teclado.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 42): La clase del objeto de búfer de indicador abstracto
Trabajando con las series temporales en la biblioteca DoEasy (Parte 42): La clase del objeto de búfer de indicador abstracto

Trabajando con las series temporales en la biblioteca DoEasy (Parte 42): La clase del objeto de búfer de indicador abstracto

En este artículo, comenzamos a construir las clases de los búferes de indicador para la biblioteca DoEasy. En esta parte, crearemos la clase básica de búfer abstracto, que será la principal para crear los diferentes tipos de clases de los búferes de indicador.
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.
preview
Encontrando patrones de velas con la ayuda de MQL5

Encontrando patrones de velas con la ayuda de MQL5

En este artículo, hablaremos sobre cómo detectar automáticamente patrones de velas con la ayuda de MQL5.
Widgets de las Señales Comerciales MetaTrader 4 y MetaTrader 5
Widgets de las Señales Comerciales MetaTrader 4 y MetaTrader 5

Widgets de las Señales Comerciales MetaTrader 4 y MetaTrader 5

Desde hace poco, cada usuario MetaTrader 4 y MetaTrader 5 tiene la posibilidad de convertirse en suministrador de señales comerciales y obtener beneficios adicionales. Ahora, con la ayuda de los nuevos widgets puede hablar de sus éxitos en su propia página web, en un blog o en una página de la red social. Las ventajas del uso de los widgets son obvias: el aumento de la popularidad del suministrador, de su reputación como trader exitoso y la captación de nuevos suscriptores. Todo esto pueden obtener los traders que coloquen widgets en otras páginas de internet.
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.
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 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.
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.
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.
Libro de Recetas MQL5: El Historial de Transacciones y la Biblioteca de Funciones para Obtener Propiedades de Posición
Libro de Recetas MQL5: El Historial de Transacciones y la Biblioteca de Funciones para Obtener Propiedades de Posición

Libro de Recetas MQL5: El Historial de Transacciones y la Biblioteca de Funciones para Obtener Propiedades de Posición

Es momento de resumir brevemente la información facilitada los artículos anteriores sobre propiedades de posición. En este artículo crearemos unas cuantas funciones adicionales para obtener las propiedades que solo se pueden conseguir tras acceder al historial de transacciones. También nos familiarizaremos con estructuras de datos que nos permitirán acceder a propiedades de posición y del símbolo de una forma más conveniente.
preview
Colocando órdenes en MQL5

Colocando órdenes en MQL5

Al crear cualquier sistema comercial, existe una tarea que debemos resolver de forma efectiva. Esta tarea consiste en que el sistema comercial coloque órdenes o las procese de forma automática. El artículo analizará la creación de un sistema comercial desde el punto de vista de la colocación efectiva de órdenes.
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.
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.
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).
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.
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).
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.
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.
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.
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.
Trabajamos con archivos ZIP con los medios de MQL5, sin usar bibliotecas ajenas
Trabajamos con archivos ZIP con los medios de MQL5, sin usar bibliotecas ajenas

Trabajamos con archivos ZIP con los medios de MQL5, sin usar bibliotecas ajenas

El lenguaje MQL5 prosigue su desarrollo, continuamente se le añaden nuevas funciones para trabajar con datos. Desde hace cierto tiempo, gracias a las innovaciones, resulta posible trabajar con archivos ZIP con las herramientas estándar MQL5, sin tener que implicar bibliotecas DLL ajenas. Este artículo describe de forma detallada cómo hacerlo, usando como ejemplo la descripción de la clase CZip, un instruemnto universal de lectura, creación y modificación de archivos ZIP.
Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)
Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)

Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)

En el artículo anterior nuestra librería ha sido completada con cuatro controles bastante frecuentes en las interfaces gráficas: “checkbox”, “campo de edición”, “campo de edición con checkbox” y “combobox con checkbox”. El segundo capítulo de la sexta parte estará dedicado a los controles como Slider y Slider doble.
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.
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.
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.
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.
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.
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.
preview
Símbolo personalizados: fundamentos de uso en la práctica

Símbolo personalizados: fundamentos de uso en la práctica

El presente artículo está dedicado a la generación programática de los símbolos personalizados que sirven para mostrar varios métodos populares de representación de cotizaciones. Asimismo, ofrecemos una adaptación poco invasiva de asesores para comerciar con un símbolo real desde el gráfico del símbolo personalizado derivado. Los códigos fuente se adjuntan al artículo.
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.