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
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.
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.
Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5
Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5

Indicador NRTR y módulos comerciales en su base para el Asistente de MQL5

En este artículo se describe el indicador NRTR y el sistema comercial creado en su base. Para este propósito, se crea el módulo de las señales comerciales a través de las cuales se crean las estrategias basadas en las combinaciones del NRTR e indicadores comerciales que confirman la tendencia.
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.
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.
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.
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?
preview
Trabajamos con fechas y horas en MQL5

Trabajamos con fechas y horas en MQL5

Resulta esencial que los tráders y desarrolladores de herramientas comerciales comprendan cómo manejar las fechas y horas de manera adecuada y eficaz. En este artículo, veremos cómo podemos manejar fechas y horas al crear herramientas comerciales efectivas.
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.
preview
Stop Loss y Take Profit amigables para el tráder

Stop Loss y Take Profit amigables para el tráder

El stop loss y el take profit pueden tener una influencia significativa en los resultados de las transacciones. En este artículo, veremos varias formas de buscar órdenes stop óptimas.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
preview
Websockets para MetaTrader 5 — Usando la API de Windows

Websockets para MetaTrader 5 — Usando la API de Windows

En este artículo, usaremos WinHttp.dll para crear un cliente de websocket para los programas de MetaTrader 5. El cliente se implementará finalmente como una clase, y también se probará contra la API de websocket de Binary.com.
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.
preview
Funciones en las aplicaciones MQL5

Funciones en las aplicaciones MQL5

Las funciones son componentes de importancia crítica en cualquier lenguaje de programación. Entre otras cosas, ayudan a los desarrolladores a aplicar el principio DRY (don't repeat youself, no te repitas). El artículo analiza las funciones y su creación en MQL5 usando aplicaciones sencillas que enriquecen nuestros sistemas comerciales sin complicarlos.
Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana
Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana

Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana

MetaTrader 5 ofrece 21 períodos de tiempo para el análisis. Puede aprovechar los objetos gráficos especiales que puede colocar en el gráfico existente y establecer el símbolo, el período de tiempo y otras propiedades. En este artículo se va a proporcionar una información detallada acerca de estos objetos gráficos: crearemos un indicador con controles (botones) que nos permitirán establecer múltiples objetos gráficos en una subventana al mismo tiempo. Además, se encajarán los objetos gráficos con precisión en la subventana y se ajustarán automáticamente al modificar el tamaño del gráfico principal o el de la ventana del terminal.
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.
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.
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.
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.
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.
preview
Aprendiendo a diseñar un sistema de trading con la desviación estándar

Aprendiendo a diseñar un sistema de trading con la desviación estándar

Le damos la bienvenida a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en los indicadores técnicos más populares y la escritura de los sistemas basados en estos en el lenguaje MQL5 para su posterior uso en MetaTrader 5. En el presente artículo, aprenderemos cómo desarrollar un sistema comercial basado en el indicador de desviación estándar.
Promocione sus proyectos de desarrollo usando las librerías EX5
Promocione sus proyectos de desarrollo usando las librerías EX5

Promocione sus proyectos de desarrollo usando las librerías EX5

Ocultar los detalles de la implementación de las clases/funciones en un archivo .ex5 le permitirá compartir sus algoritmos propios con otros desarrolladores, iniciar proyectos y promocionarlos en la Web. Y mientras el equipo de MetaQuotes no escatima esfuerzos para tener la posibilidad de heredar directamente las clases de las librerías ex5, vamos a implementarlas ahora.
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.
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.
Controles gráficos personalizados. Parte 3. Formularios
Controles gráficos personalizados. Parte 3. Formularios

Controles gráficos personalizados. Parte 3. Formularios

Este es el último de los tres artículos dedicados a los controles gráficos. En él vamos a ver la creación del principal componente de la interfaz gráfica, el formulario, y su uso en combinación con otros controles. Además de las clases para formularios, las clases CFrame, CButton y CLabel se han añadido a la librería del control.
preview
Múltiples indicadores en un gráfico (Parte 01): Entendiendo los conceptos

Múltiples indicadores en un gráfico (Parte 01): Entendiendo los conceptos

Entienda cómo se puede agregar varios indicadores al mismo tiempo sin ocupar un área diferente de su gráfico. A mucha gente le gusta y se siente más segura operando cuando observa varios indicadores al mismo tiempo, por ejemplo, RSI, ESTOCÁSTICO, MACD, ADX, entre otros, y en algunos casos incluso diferentes activos que componen un índice determinado.
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.
Utilización de la función TesterWithdrawal() para modelizar las retiradas de beneficio
Utilización de la función TesterWithdrawal() para modelizar las retiradas de beneficio

Utilización de la función TesterWithdrawal() para modelizar las retiradas de beneficio

En este artículo se describe la utilización de la función TesterWithDrawal() para estimar los riesgos en un sistema de trading que implica la retirada de cierta parte de los activos durante su funcionamiento. Además, describe cómo afecta esta función al algoritmo de cálculo de la reducción del patrimonio en el probador de estrategias. Esta función es muy útil durante la optimización de los parámetros de sus Asesores Expertos.
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.