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
Visualización de un calendario de noticias
Visualización de un calendario de noticias

Visualización de un calendario de noticias

En este artículo se describe la implementación de un indicador sencillo y cómodo que muestra en el área de trabajo los principales eventos económicos a partir de fuentes externas en Internet.
preview
Consejos de un programador profesional (parte I): guardado, depuración y compilación de códigos. Trabajando con proyectos y logs

Consejos de un programador profesional (parte I): guardado, depuración y compilación de códigos. Trabajando con proyectos y logs

Consejos de un programador profesional sobre métodos, técnicas y herramientas auxiliares para facilitar la programación.
Probando Asesores Expertos en marcos temporales no estándar
Probando Asesores Expertos en marcos temporales no estándar

Probando Asesores Expertos en marcos temporales no estándar

No es fácil, es facilísimo. ¡Los Asesores Expertos se pueden probar en marcos de tiempo no estándar! Tan solo hay que sustituir los datos del marco temporal estándar por los del no estándar. Incluso podemos probar nuestros Asesores Expertos en varios marcos temporales no estándar.
Cálculo de expresiones matemáticas (Parte 2). Parsers de Pratt y shunting yard
Cálculo de expresiones matemáticas (Parte 2). Parsers de Pratt y shunting yard

Cálculo de expresiones matemáticas (Parte 2). Parsers de Pratt y shunting yard

En el presente artículo, estudiaremos los principios de análisis y cálculo de expresiones matemáticas con ayuda de parsers basados en la prioridad de los operadores; implementaremos los parsers de Pratt y shunting yard, y la generación de código de bytes y el cálculo según este. Además, mostraremos el uso de los indicadores como funciones en las expresiones, y también el ajuste de las señales comerciales en los expertos con la ayuda de dichos indicadores.
Usar WinInet en MQL5. Parte 2: solicitudes y archivos POST
Usar WinInet en MQL5. Parte 2: solicitudes y archivos POST

Usar WinInet en MQL5. Parte 2: solicitudes y archivos POST

En este artículo seguimos estudiando los principios del trabajo con internet usando solicitudes HTTP e intercambiando información con el servidor. El artículo describe nuevas funciones de la clase CMqlNet, métodos para enviar información desde formularios y envío de archivos usando solicitudes POST así como autorización en sitios web bajo un registro de usuario usando cookies.
Cómo escribir un cliente nativo de Twitter para MetaTrader 4 y MetaTrader 5 sin usar DLL
Cómo escribir un cliente nativo de Twitter para MetaTrader 4 y MetaTrader 5 sin usar DLL

Cómo escribir un cliente nativo de Twitter para MetaTrader 4 y MetaTrader 5 sin usar DLL

¿Quiere usted recibir tweets o publicar sus señales comerciales en Twitter? Ya no tendrá que buscar soluciones para ello: en esta serie de artículos, analizaremos cómo trabajar con Twitter sin usar DLL. Juntos, implementaremos una Tweeter API con ayuda de MQL. En el primer artículo, hablaremos de las posibilidades de autenticación y autorización a través de Twitter API.
preview
Implementación de una estrategia de trading con Bandas de Bollinger en MQL5: Guía paso a paso

Implementación de una estrategia de trading con Bandas de Bollinger en MQL5: Guía paso a paso

Una guía paso a paso para implementar un algoritmo de trading automatizado en MQL5 basado en la estrategia de trading de las Bandas de Bollinger. Un tutorial detallado basado en la creación de un Asesor Experto que puede ser útil para los traders.
¿Quién es quién en MQL5.community?
¿Quién es quién en MQL5.community?

¿Quién es quién en MQL5.community?

¡La página MQL5.com recuerda perfectamente a cada uno de ustedes! Cuántas de sus operaciones han resultado épicas, cuán populares han resultado sus artículos y con cuánta frecuencia se han descargado sus programas del Code Base, es sólo una pequeña parte de lo que recuerda sobre usted MQL5.com. Los logros de cada uno de ustedes están disponibles en su perfil, pero ¿qué aspecto tiene la imagen en general? En este artículo construiremos una imagen general de los logros de todos los participantes de MQL5.community.
Extrayendo datos estructurados de las páginas HTML usando los selectores CSS
Extrayendo datos estructurados de las páginas HTML usando los selectores CSS

Extrayendo datos estructurados de las páginas HTML usando los selectores CSS

En este artículo, se describe un método universal para analizar y convertir los datos de documentos HTML basados en los selectores CSS. Ahora, en MQL tenemos disponibles los informes comerciales y del Simulador de Estrategias, los calendarios económicos preferibles, señales públicas y monitoreo de cuentas, fuentes adicionales de las cotizaciones en línea.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 41): Ejemplo de indicador de símbolo y periodo múltiples
Trabajando con las series temporales en la biblioteca DoEasy (Parte 41): Ejemplo de indicador de símbolo y periodo múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 41): Ejemplo de indicador de símbolo y periodo múltiples

En el artículo, analizaremos un ejemplo de creación de un indicador de símbolo y periodo múltiples usando las clases de las series temporales de la biblioteca DoEasy. Dicho indicador representará en la subventana el gráfico de la pareja de divisas seleccionada con el marco temporal seleccionado en forma de velas japonesas. Asimismo, mejoraremos las clases de la biblioteca y crearemos un archivo aparte para guardar las enumeraciones para los parámetros de entrada de los programas y la selección del lenguaje de compilación.
Recetas MQL5 - Desarrollo de un indicador multidivisa para el análisis de la divergencia de precios
Recetas MQL5 - Desarrollo de un indicador multidivisa para el análisis de la divergencia de precios

Recetas MQL5 - Desarrollo de un indicador multidivisa para el análisis de la divergencia de precios

En este artículo veremos el desarrollo de un indicador multidivisa para el análisis de la divergencia de precios en un periodo de tiempo determinado. Ya hemos visto muchos momentos importantes en el anterior artículo sobre la programación de indicadores multidivisa: "Desarrollo de un indicador multidivisa de volatilidad en MQL5". Por eso, esta vez sólo nos detendremos en las funciones nuevas, o bien en aquellas funciones que hayan sufrido cambios significativos. Si es la primera vez que se encuentra con el tema de los indicadores multidivisa, entonces le recomendamos que lea en primer lugar el artículo anterior.
MetaTrader 4 trabajando con antivirus y cortafuegos
MetaTrader 4 trabajando con antivirus y cortafuegos

MetaTrader 4 trabajando con antivirus y cortafuegos

La mayoría de traders usan programas especiales para proteger sus PC. Por desgracia, estos programas no solo no protegen los ordenadores frente a las intrusiones, virus y troyanos, sino que también consumen una cantidad importante de recursos. Esto está relacionado con el tráfico de la red, en primer lugar, algo que está completamente controlado por algunos antivirus y cortafuegos inteligentes. La razón de escribir este artículo fue que los traders se quejaban de la lentitud del terminal de cliente de MetaTrader 4 cuando trabaja con Outpost Firewall. Hemos decidido hacer nuestra propia investigación usando Kaspersky Antivirus 6.0 y Outpost Firewall Pro 4.0.
Sistema de notificaciones de voz para evetos comerciales y señales
Sistema de notificaciones de voz para evetos comerciales y señales

Sistema de notificaciones de voz para evetos comerciales y señales

En nuestros tiempos, los asistentes de voz juegan hace mucho un papel considerable en la vida del hombre, ya sea como navegador, buscador de voz o traductor. Por eso, en el presente artículo trataremos de desarrollar un sistema sencillo y comprensible de notificaciones de voz para los diferentes eventos comerciales, los estados del mercado o las señales de los sistemas comerciales.
preview
Crear paneles gráficos en MQL5 es ahora más fácil

Crear paneles gráficos en MQL5 es ahora más fácil

En este artículo, ofreceremos una guía sencilla y comprensible para cualquier usuario que quiera crear una de las herramientas más valiosas y útiles en el trading: un panel gráfico que facilite las tareas comerciales. Los paneles gráficos nos permiten ahorrar tiempo y centrarnos más en las operaciones en sí.
preview
StringFormat(). Panorámica, ejemplos de uso listos para aplicar

StringFormat(). Panorámica, ejemplos de uso listos para aplicar

El artículo supone una continuación de la revisión de la función PrintFormat(). Hoy veremos brevemente cómo formatear líneas utilizando StringFormat() y su uso posterior en el programa. Asimismo, escribiremos plantillas para mostrar información sobre un símbolo en el registro del terminal. El presente artículo resultará útil tanto a principiantes como a desarrolladores experimentados.
Carry Trading Estadístico
Carry Trading Estadístico

Carry Trading Estadístico

Algoritmo de protección estadística de posiciones abiertas con swap (permutaciones) positivas contra movimientos no deseados de las cotizaciones. Para compensar el riesgo potencial que supone el movimiento de las cotizaciones en dirección opuesta a la posición abierta, en este artículo se presenta la variante Carry Trading de estrategia protegida.
Cómo implementar sus propios criterios de optimización
Cómo implementar sus propios criterios de optimización

Cómo implementar sus propios criterios de optimización

En este artículo veremos la implementación de los criterios del beneficio/disminución de fondos, con los resultados resumidos en un archivo desarrollado para el Asesor Experto Moving Average (Promedio móvil).
preview
Aprendizaje automático y Data Science (Parte 16): Una nueva mirada a los árboles de decisión

Aprendizaje automático y Data Science (Parte 16): Una nueva mirada a los árboles de decisión

En la última parte de nuestra serie sobre aprendizaje automático y trabajo con big data, vamos a volver a los árboles de decisión. Este artículo va dirigido a los tráders que desean comprender el papel de los árboles de decisión en el análisis de las tendencias del mercado. Asimismo, contiene toda la información básica sobre la estructura, la finalidad y el uso de estos árboles. Hoy analizaremos las raíces y ramas de los árboles algorítmicos y veremos cuál es su potencial en relación con las decisiones comerciales. También echaremos juntos un nuevo vistazo a los árboles de decisión y veremos cómo pueden ayudarnos a superar los retos de los mercados financieros.
preview
Cómo crear cualquier tipo de Trailing Stop y conectarlo a un asesor experto

Cómo crear cualquier tipo de Trailing Stop y conectarlo a un asesor experto

En este artículo, veremos las clases necesarias para crear fácilmente varios trailings. Asimismo, aprenderemos cómo conectar un trailing stop a cualquier EA.
Experto comercial universal: Indicador CUnIndicator y trabajo con órdenes pendientes (parte 9)
Experto comercial universal: Indicador CUnIndicator y trabajo con órdenes pendientes (parte 9)

Experto comercial universal: Indicador CUnIndicator y trabajo con órdenes pendientes (parte 9)

En este artículo se describe el trabajo con indicadores usando la clase universal CUnIndicator. Además de eso, han sido examinados nuevos métodos de trabajo con las órdenes pendientes. Obsérvese, a partir de este momento, la la estructura del proyecto CStrategy ha sufrido cambios considerables. Ahora, todos sus archivos se ubican en el mismo directorio para la comodidad de los usuarios.
Aumente la eficiencia de sus sistemas lineales de trading
Aumente la eficiencia de sus sistemas lineales de trading

Aumente la eficiencia de sus sistemas lineales de trading

En el artículo de hoy se muestra a los programadores intermedios en MQL5 cómo pueden sacar mayor rendimiento a sus sistemas lineales de trading (lote fijo) mediante una simple implementación de la conocida técnica de potenciación. Se llama así, porque el crecimiento de la curva de patrimonio resultante es geométrico o exponencial, con forma de parábola. En particular, vamos a implementar una variante práctica de MQL5, se trata del método de fracción fija para determinar el tamaño de una posición, desarrollado por Ralph Vince.
preview
Cómo crear un panel informativo para mostrar datos en indicadores y asesores

Cómo crear un panel informativo para mostrar datos en indicadores y asesores

En el presente artículo consideraremos la creación de una clase de panel informativo para utilizarla en indicadores y asesores. Este será el artículo introductorio de una pequeña serie de artículos con plantillas para la conexión y el uso de indicadores estándar en asesores. Empezaremos creando un panel, un análogo de la ventana de datos de MetaTrader 5.
Experto comercial universal: Modelo de eventos y prototipo de estrategia comercial (Parte 2)
Experto comercial universal: Modelo de eventos y prototipo de estrategia comercial (Parte 2)

Experto comercial universal: Modelo de eventos y prototipo de estrategia comercial (Parte 2)

Este artículo continúa con la serie de comentarios dedicados al modelo universal de expertos. En esta parte se describe un modelo original de eventos basado en el procesamiento centralizado de datos, y también se estudia la estructura de la clase básica del motor CStrategy.
Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging
Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging

Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging

En el artículo se analizan tres métodos con cuya ayuda podemos aumentar la calidad de clasificación de los conjuntos bagging y valorar su efectividad. Se ha evaluado cómo influye la optimización de los hiperparámetros de las redes neuronales ELM y los parámetros de post-procesado en la calidad de clasificación del conjunto.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIII): Clase comercial principal - control de parámetros permitidos
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIII): Clase comercial principal - control de parámetros permitidos

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIII): Clase comercial principal - control de parámetros permitidos

En el presente artículo, continuaremos el desarrollo de la clase comercial, organizando esta vez el control de los valores incorrectos de los parámetros de la orden comercial e implementando la notificación sonora de los eventos comerciales.
preview
Aprendizaje automático y data science (Parte 06): Descenso de gradiente

Aprendizaje automático y data science (Parte 06): Descenso de gradiente

El descenso de gradiente juega un papel importante en el entrenamiento de redes neuronales y diversos algoritmos de aprendizaje automático: es un algoritmo rápido e inteligente. Sin embargo, a pesar de su impresionante funcionamiento, muchos científicos de datos todavía lo malinterpretan. Veamos sobre qué tratará este artículo.
Cómo ser un mejor programador (parte 05): Aprendiendo a desarrollar más rápido
Cómo ser un mejor programador (parte 05): Aprendiendo a desarrollar más rápido

Cómo ser un mejor programador (parte 05): Aprendiendo a desarrollar más rápido

Sin duda, todo desarrollador querría escribir código más rápido; por eso, le agradará saber que la capacidad de codificar de forma más rápida y eficaz no es algo con lo que solo nazcan unas pocas personas, es una habilidad que se puede adquirir. Eso es lo que intentaremos trabajar en el artículo de hoy.
Combinatoria y teoría de la probabilidad en el trading (Parte IV): Lógica de Bernoulli
Combinatoria y teoría de la probabilidad en el trading (Parte IV): Lógica de Bernoulli

Combinatoria y teoría de la probabilidad en el trading (Parte IV): Lógica de Bernoulli

En el presente artículo, hemos decidido hablar del conocido esquema de Bernoulli, y también mostrar cómo podemos utilizarlo al describir conjuntos de datos relacionados con el trading, para su posterior uso en la futura creación de un sistema comercial autoadaptable. Asimismo, buscaremos un algoritmo más general (la fórmula de Bernoulli constituye un caso especial dentro de este tipo), y encontraremos una aplicación para él.
OOP en MQL5 con un Ejemplo: Procesamiento de Códigos de Advertencia y Error
OOP en MQL5 con un Ejemplo: Procesamiento de Códigos de Advertencia y Error

OOP en MQL5 con un Ejemplo: Procesamiento de Códigos de Advertencia y Error

Este artículo describe un ejemplo de creación de una clase para trabajar con los códigos devueltos por el servidor de trading que ocurren durante la ejecución del programa MQL. Si lee el artículo, aprenderá a trabajar con clases y objetos en MQL5. Al mismo tiempo, se trata de una herramienta útil para gestionar errores, y puede configurarla de acuerdo con sus necesidades específicas.
Monitoreo multidivisas de las señales comerciales (Parte 5): Señales compuestas
Monitoreo multidivisas de las señales comerciales (Parte 5): Señales compuestas

Monitoreo multidivisas de las señales comerciales (Parte 5): Señales compuestas

En la parte 5 del desarrollo de la aplicación para monitorear las señales comerciales, introduciremos el concepto de la señal compuesta en nuestro sistema e implementaremos la funcionalidad necesaria para ello. Antes usábamos las señales simples en nuestra aplicación (RSI, WPR, CCI), también podíamos usar nuestro propio indicador personalizado.
Gestión de la optimización (Parte 2): Creando los objetos clave y la lógica de la aplicación
Gestión de la optimización (Parte 2): Creando los objetos clave y la lógica de la aplicación

Gestión de la optimización (Parte 2): Creando los objetos clave y la lógica de la aplicación

Es la continuación del artículo anterior que describe la creación de la interfaz gráfica para gestionar la optimización. Aquí, vamos a considerar la lógica del funcionamiento de la extensión creada. Vamos a crear un envoltorio para el terminal MetaTrader 5 con el fin de iniciarlo como un proceso controlado usando C#. Además, vamos a analizar el trabajo con los archivos de configuración y archivos de los ajustes. La lógica del programa será dividida en dos partes: en la primera estarán descritos los métodos que se invocan después de pulsar algún botón, la segunda parte se encargará del inicio y de la gestión de la optimización.
preview
Modelo de aprendizaje profundo GRU en Python usando ONNX en asesores expertos, GRU vs LSTM

Modelo de aprendizaje profundo GRU en Python usando ONNX en asesores expertos, GRU vs LSTM

El artículo está dedicado al desarrollo de un modelo de aprendizaje profundo GRU ONNX en Python. En la parte práctica, implementaremos este modelo en un asesor comercial y, a continuación, compararemos el rendimiento del modelo GRU con LSTM (memoria a largo plazo).
Gráficos en la biblioteca DoEasy (Parte 90): Eventos de objetos gráficos estándar. Funcionalidad básica
Gráficos en la biblioteca DoEasy (Parte 90): Eventos de objetos gráficos estándar. Funcionalidad básica

Gráficos en la biblioteca DoEasy (Parte 90): Eventos de objetos gráficos estándar. Funcionalidad básica

En este artículo, crearemos la funcionalidad básica para el seguimiento de eventos de objetos gráficos estándar. Empezaremos con el evento de doble clic sobre un objeto gráfico.
Pruebas de rendimiento computacional de los promedios móviles en MQL5
Pruebas de rendimiento computacional de los promedios móviles en MQL5

Pruebas de rendimiento computacional de los promedios móviles en MQL5

Desde la creación del primer indicador de Promedio móvil, surgieron muchos indicadores. Muchos de ellos utilizan los mismos métodos de suavizado, pero no se han estudiado los rendimientos de los distintos algoritmos de los promedios móviles. En este artículo, vamos a examinar distintas maneras de utilizar los Promedios móviles en MQL5 y comparar su rendimiento.
preview
Aprendiendo a diseñar un sistema de trading con Alligator

Aprendiendo a diseñar un sistema de trading con Alligator

Bienvenidos a un nuevo artículo de nuestra serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. Hoy analizaremos el indicador Alligator y crearemos sistemas comerciales basados en él.
Representación gráfica de las pruebas: El trading manual
Representación gráfica de las pruebas: El trading manual

Representación gráfica de las pruebas: El trading manual

Pruebas de estrategias manuales con el historial ¡Pruebe su algoritmo de trading sin ahondar en las complejidades de la programación!
A la caza de la tendencia
A la caza de la tendencia

A la caza de la tendencia

El presente artículo describe un algoritmo para aumentar el volumen de una operación ganadora. Se adjunta la implementación correspondiente en el lenguaje MQL4.
Patrones disponibles al comerciar con cestas de divisas. Parte III
Patrones disponibles al comerciar con cestas de divisas. Parte III

Patrones disponibles al comerciar con cestas de divisas. Parte III

Este es el artículo final dedicado a los patrones que aparecen al comerciar con cestas de parejas de divisas. Se han analizado varios indicadores combinados de tendencia, así como la aplicación de las construcciones gráficas habituales.
preview
Aprendizaje automático y data science (Parte 03): Regresión matricial

Aprendizaje automático y data science (Parte 03): Regresión matricial

En esta ocasión, vamos a crear modelos usando matrices: estas ofrecen una gran flexibilidad y permiten crear modelos potentes que pueden manejar no solo cinco variables independientes, sino muchas otras, tantas como los límites computacionales de nuestro ordenador nos permitan. El presente artículo será muy interesante, eso seguro.
Recetas MQL5 - Asesor multidivisa y funcionamiento de órdenes pendientes en MQL5
Recetas MQL5 - Asesor multidivisa y funcionamiento de órdenes pendientes en MQL5

Recetas MQL5 - Asesor multidivisa y funcionamiento de órdenes pendientes en MQL5

En esta ocasión veremos la creación de un asesor multidivisa, cuyo algoritmo de comercio será construido para trabajar con las órdenes pendientes Buy Stop y Sell Stop. En el artículo estudiaremos las siguientes cuestiones: el comercio en un diapasón temporal indicado, cómo establecer/modificar/eleminar órdenes pendientes, la comprobación de la última posición sobre Take Profit o Stop Loss y el control del historial de operaciones en cada símbolo.