Artículos sobre programación en el lenguaje 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
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.
Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)
Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)

Gráfico PairPlot basado en CGraphic para analizar correlaciones entre los arrays de datos (series temporales)

En el proceso del análisis técnico, a menudo a los traders se les plantea la tarea de comparar varias series temporales. La realización de este análisis requiere las herramientas correspondientes. En este artículo, yo propongo desarrollar una herramienta para el análisis gráfico y la búsqueda de las correlaciones entre dos y más series temporales.
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 IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)
Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)

Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)

El segundo capítulo de la novena parte de la serie estará dedicada a los elementos «Indicador de progreso» y «Gráfico lineal». Como siempre mostraremos los ejemplos detallados de cómo puede usar estos elementos en sus aplicaciones MQL.
Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)
Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)

Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)

En la segunda parte de la serie demostraremos el proceso del desarrollo de los controles como el menú principal y el menú contextual. Además, trataremos la cuestión del dibujo de los controles, y para ello vamos a crear una clase especial. También aclararemos detalladamente la cuestión de la gestión de los eventos del programa, inclusive los eventos del usuario.
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.
Trading social en las plataformas comerciales MetaTrader 4 y MetaTrader 5
Trading social en las plataformas comerciales MetaTrader 4 y MetaTrader 5

Trading social en las plataformas comerciales MetaTrader 4 y MetaTrader 5

¿Qué es el trading social? Es el trabajo conjunto y mútuamente beneficioso realizado entre traders e inversores: los traders de éxito ceden su tráfico comercial para la monitorización, y los inversores potenciales, de esta forma, pueden hacer un seguimiento de sus éxitos y copiar las operaciones del trader que más les guste.
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).
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.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIX): Solicitudes comerciales pendientes - Clases de objetos de solicitudes
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIX): Solicitudes comerciales pendientes - Clases de objetos de solicitudes

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXIX): Solicitudes comerciales pendientes - Clases de objetos de solicitudes

En artículos anteriores, comprobamos el concepto de solicitudes comerciales pendientes. Una solicitud pendiente, en esencia, es una orden comercial normal, pero ejecutada según una condición concreta. En esta ocasión, vamos a crear clases completas de objetos de solicitudes pendientes: el objeto de solicitud básico y sus herederos.
preview
Aprendiendo a diseñar un sistema de trading con Fibonacci

Aprendiendo a diseñar un sistema de trading con Fibonacci

El presente artículo supone la continuación de la serie dedicada a la construcción de sistemas comerciales basados ​​en los indicadores más populares. La próxima herramienta técnica que analizaremos será el indicador de Fibonacci. Hoy veremos cómo escribir un programa basado en las señales de este indicador.
Uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4
Uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4

Uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4

En este artículo se discuten las particularidades del uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4. Ustedes conocerán cómo crear un sencillo proveedor de señales desde MetaTrader 5 y cómo conectarlo a varios terminales MetaTrader 4. Además, conocerán cómo copiar en tiempo real las transacciones de los participantes de Automated Trading Championship a su cuenta real en MetaTrader 4.
Implementación práctica de filtros digitales en MQL5 para principiantes
Implementación práctica de filtros digitales en MQL5 para principiantes

Implementación práctica de filtros digitales en MQL5 para principiantes

La idea del filtrado de señales digitales ha sido ampliamente discutida en foros sobre el tema de la elaboración de sistemas de trading. Y sería imprudente no crear un código estándar de filtros digitales en MQL5. En este artículo el autor describe la transformación de código simple de indicadores SMA de su artículo "Indicadores personalizados en MQL5 para principiantes", en el código de un filtro digital más complejo y universal. Este artículo es consecuencia del artículo anterior. También trata sobre cómo reemplazar texto en el código y cómo corregir errores de programación.
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.
preview
Optimización móvil continua (Parte 2): Mecanismo de creación de informes de optimización para cualquier robot

Optimización móvil continua (Parte 2): Mecanismo de creación de informes de optimización para cualquier robot

Si el primer artículo de la serie estaba dedicado a la creación de la biblioteca DLL que utilizaremos en nuestro optimizador automático y en el robot, este estará completamente dedicado al lenguaje MQL5.
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.
Creando un EA gradador multiplataforma (Parte II): Cuadrícula en el rango en la dirección de la tendencia
Creando un EA gradador multiplataforma (Parte II): Cuadrícula en el rango en la dirección de la tendencia

Creando un EA gradador multiplataforma (Parte II): Cuadrícula en el rango en la dirección de la tendencia

Hoy trataremos de desarrollar un EA gradador para trabajar en el rango en la dirección de la tendencia. Será usado para los instrumentos de Forex o para los mercados de materias primas. Según las pruebas, nuestro EA gradador demostraba las ganancias desde el año 2018. El mal consiste en que demostraba pérdidas constantes de 2014 a 2018.
Construir un analizador de espectro
Construir un analizador de espectro

Construir un analizador de espectro

Este artículo pretende que sus lectores se familiaricen con una posible variante del uso de los objetos gráficos en el lenguaje MQL5. Analiza un indicador que implementa un panel para la gestión de un analizador de espectro simple usando objetos gráficos. El artículo va dirigido a los lectores que están familiarizados con los conceptos básicos de MQL5.
Libro de Recetas MQL5: Analizar Propiedades de Posición en el Probador de Estrategias de MetaTrader 5
Libro de Recetas MQL5: Analizar Propiedades de Posición en el Probador de Estrategias de MetaTrader 5

Libro de Recetas MQL5: Analizar Propiedades de Posición en el Probador de Estrategias de MetaTrader 5

En esta ocasión presentaremos una versión modificada del Asesor Experto del artículo anterior "MQL5 Cookbook: Position Properties on the Custom Info Panel" (“Propiedades de Posición en el Panel de Información Personalizada”). Algunos de los aspectos a los que nos referiremos incluyen la obtención de datos de barras, la comprobación de eventos de barra nueva en el símbolo actual, la inclusión de una clase de trading de la Biblioteca Estándar a un archivo, la creación de una función para buscar señales de trading, y una función para ejecutar operaciones de trading, así como para terminar eventos de trading en la función OnTrade().
Controles gráficos personalizados. Parte 2. Librería de control
Controles gráficos personalizados. Parte 2. Librería de control

Controles gráficos personalizados. Parte 2. Librería de control

El segundo artículo de la serie "Controles gráficos personalizados" introduce una librería de control para gestionar los principales problemas que surgen en la interacción del programa (Expert Advisor, script, indicador) con el usuario. La librería contiene un gran número de clases ((CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) y ejemplos de su uso.
MQL5 para principiantes, protección antivandálica de los objetos gráficos
MQL5 para principiantes, protección antivandálica de los objetos gráficos

MQL5 para principiantes, protección antivandálica de los objetos gráficos

¿Qué haría si de repente se borraran los paneles gráficos de control, o alguien los modificara? En este artículo enseñamos a evitar las situaciones donde el gráfico se puede quedar con objectos sin dueño. Las controlaremos cuando, tras eliminar la aplicación, los objetos se renombran o se borran programáticamente.
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.
Rastreo, Depuración y Análisis Estructural de Código Fuente
Rastreo, Depuración y Análisis Estructural de Código Fuente

Rastreo, Depuración y Análisis Estructural de Código Fuente

Todos los problemas que supone la creación de una estructura de código ejecutado y su rastreo se pueden solucionar sin grandes dificultades. Esta posibilidad ha aparecido en MetaTrader 5 a causa de la nueva prestación del lenguaje MQL5: creación automática de variables de tipo complejo de datos (estructuras y clases) y su eliminación al salir del alcance local. Este artículo contiene la descripción de la metodología y la herramienta ya preparada.
Indicadores personalizados e infografía en CCanvas
Indicadores personalizados e infografía en CCanvas

Indicadores personalizados e infografía en CCanvas

En este artículo se analizarán nuevos tipos de indicadores con una estructura de implementación más compleja. Se describirá la construcción de los indicadores de los tipos pseudo-3D y la creación de infografías que cambian de manera dinámica.
Monitoreo multidivisas de las señales comerciales (Parte 2): Implementando la parte visual de la aplicación
Monitoreo multidivisas de las señales comerciales (Parte 2): Implementando la parte visual de la aplicación

Monitoreo multidivisas de las señales comerciales (Parte 2): Implementando la parte visual de la aplicación

En el artículo anterior, creamos la plantilla de la aplicación en la que se basará todo nuestro trabajo siguiente. Ahora, pasaremos paso a paso a su desarrollo, es decir, diseñaremos la parte visual de la aplicación y configuraremos las interacciones básicas entre los controles de la interfaz.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVI): Trabajando con las solicitudes comerciales pendientes - primera implementación (apertura de posiciones)
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVI): Trabajando con las solicitudes comerciales pendientes - primera implementación (apertura de posiciones)

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVI): Trabajando con las solicitudes comerciales pendientes - primera implementación (apertura de posiciones)

En el presente artículo, vamos a organizar el guardado de ciertos datos en el valor del número mágico de las órdenes y posiciones, y también implementaremos las solicitudes comerciales. Para comprobar el concepto, crearemos una primera solicitud pendiente de prueba para abrir posiciones de mercado al recibir del servidor un error que requiera la espera y el envío de una solicitud repetida.
Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)
Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)

Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)

En los artículos anteriores hemos implementado las clases para la creación de todas las partes integrantes del menú principal. Ha llegado el momento para conocer los manejadores de eventos en las clases base principales y en las clases de los controles creados. Se presta una atención especial a la gestión del estado del gráfico dependiendo de la posición del cursor del ratón.
Interfaces gráficas VII: Control "Tablas" (Capítulo 1)
Interfaces gráficas VII: Control "Tablas" (Capítulo 1)

Interfaces gráficas VII: Control "Tablas" (Capítulo 1)

En la séptima parte de la serie de los artículos sobre las interfaces gráficas en los terminales MetaTrader serán presentados tres tipos de tablas: tabla a base de las etiquetas de texto, tabla a base de los campos de edición y tabla dibujada. Otro control importante que se usa con bastante frecuencia son las pestañas a través de los cuales se puede ocultar o mostrar los grupos de otros controles. Eso permite al usuario diseñar las interfaces gráficas muy compactas en sus aplicaciones MQL.
Estimación del índice de fractalidad, exponente de Hurst y posibilidad de predecir series temporales financieras
Estimación del índice de fractalidad, exponente de Hurst y posibilidad de predecir series temporales financieras

Estimación del índice de fractalidad, exponente de Hurst y posibilidad de predecir series temporales financieras

La búsqueda y el estudio del comportamiento fractal de los datos financieros supone que, tras un comportamiento aparentemente caótico de la series temporales económicas, se ocultan y operan unos mecanismos estables del comportamiento colectivo de los participantes. En la bolsa, estos mecanismos pueden llevar a la aparición de una dinámica de precios que determina y describe las propiedades específica de las series de precios. En el trading, sería interesante tener indicadores que pudieran estimar los parámetros de la fractilidad de manera estable y eficaz, en una escala y un intervalo de tiempo que fuesen útiles en la práctica.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVII): Trabajando con las solicitudes comerciales - Colocación de órdenes pendientes
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVII): Trabajando con las solicitudes comerciales - Colocación de órdenes pendientes

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVII): Trabajando con las solicitudes comerciales - Colocación de órdenes pendientes

En el presente artículo, continuaremos trabajando con las solicitudes comerciales e implementaremos la colocación de órdenes pendientes. Asimismo, corregiremos algunos errores localizados en el funcionamiento de la clase comercial.
Dibujando emisiones de indicador en MQL5
Dibujando emisiones de indicador en MQL5

Dibujando emisiones de indicador en MQL5

En este artículo vamos a considerar la emisión de indicadores, un nuevo enfoque de la investigación de mercados. El cálculo de la emisión se basa en la intersección de indicadores distintos: aparecen más y más puntos con diferentes colores y formas después de cada tick. Forman numerosas agrupaciones como nebulosas, nubes, rastros, líneas, arcos, etc. Estas formas ayudan a detectar los resortes ocultos y las fuerzas que afectan al movimiento de los precios del mercado.
Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)
Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)

Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)

En este artículo nos ocuparemos de la creación del control llamado “Línea separadora”. Se podrá utilizarlo no sólo como un elemento independiente de la interfaz, sino también como parte de otros controles. Después de eso, tendremos todo lo necesario para desarrollar la clase del menú contextual, que también será considerado al detalle en el presente artículo. Además, vamos a introducir adiciones necesarias en la clase que sirve de base para almacenar los punteros a todos los controles de la interfaz gráfica de la aplicación.
Estudiamos la clase CCanvas. Implementación de la transparencia de los objetos gráficos
Estudiamos la clase CCanvas. Implementación de la transparencia de los objetos gráficos

Estudiamos la clase CCanvas. Implementación de la transparencia de los objetos gráficos

¿Está harto del gráfico anguloso de las medias móviles? ¿Quiere usted dibujar en el terminal algo más bonito que un simple rectángulo rellenado? Ahora es posible dibujar de manera vistosa en el terminal. Para ello existe la clase de creación de gráficos personalizados CCanvas. Con ayuda de esta clase, es posible conseguir transparencia, mezclar los colores y alcanzar la ilusión de transparencia con ayuda de la superposición y la mezcla de colores.
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.
LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación
LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación

LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación

¿Cómo convertir la simulación en algo más visual? La respuesta es sencilla: hay que usar en el simulador uno o varios indicadores, un indicador de ticks, un indicador de balance y equidad, un indicador de reducción y carga del depósito. Esto permitirá realizar un seguimiento visual de la naturaleza de los ticks, o de los cambios de balance y equidad, o de la reducción y la carga del depósito.
preview
Gestión de capital en el trading

Gestión de capital en el trading

En este artículo, analizaremos varias formas nuevas de crear sistemas de gestión de capital e identificaremos sus principales características. Hoy en día, existen estrategias de gestión de capital para todos los gustos. Asimismo, intentaremos estudiar varias formas de gestionar el capital, basándonos para ello en diferentes modelos matemáticos de crecimiento.
Libro de Recetas MQL5: Desarrollo de un Marco de Trabajo para un Sistema de Trading Basado en la Estrategia de Triple Pantalla
Libro de Recetas MQL5: Desarrollo de un Marco de Trabajo para un Sistema de Trading Basado en la Estrategia de Triple Pantalla

Libro de Recetas MQL5: Desarrollo de un Marco de Trabajo para un Sistema de Trading Basado en la Estrategia de Triple Pantalla

En este artículo desarrollaremos un marco de trabajo para un sistema de trading basado en la estrategia de Triple Pantalla en MQL5. El Asesor Experto no se desarrollará de cero. En lugar de ello, simplemente modificaremos el programa del artículo anterior "MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors" (“Libro de Recetas MQL5: Usar Indicadores Para Configurar Condiciones de Trading en Asesores Expertos”), que sustancialmente ya vale para nuestros propósitos. El artículo también demostrará cómo se pueden modificar fácilmente los patrones de programas ya hechos.
preview
Indicadores no lineales

Indicadores no lineales

En este artículo, intentaremos analizar algunas formas de construir indicadores no lineales, así como su uso en el trading. Existen bastantes indicadores en la plataforma comercial MetaTrader que utilizan enfoques no lineales.
Analizando resultados comerciales con la ayuda de informes HTML
Analizando resultados comerciales con la ayuda de informes HTML

Analizando resultados comerciales con la ayuda de informes HTML

Aparte de los informes comerciales, MetaTrader 5 permite guardar informes sobre la simulación y la optimización de expertos. El informe de simulación, al igual que la historia comercial, puede guardarse en dos formatos: XLSX y HTML, mientras que el informe de oprtimización se guarda en formato XML. En este artículo, vamos a analizar con detalle el informe HTML del simulador, el informe XML de optimización y el informe HTML con la historia comercial.