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
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.
Análisis comparativo de 30 indicadores y osciladores
Análisis comparativo de 30 indicadores y osciladores

Análisis comparativo de 30 indicadores y osciladores

El presente artículo describe el funcionamiento de un Asesor Experto que realiza el análisis comparativo de 30 indicadores y osciladores. El objetivo es compilar un paquete de índices eficaz para hacer trading.
Interfaces gráficas I: Formulario para controles (Capítulo 2)
Interfaces gráficas I: Formulario para controles (Capítulo 2)

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

En este artículo vamos a crear el primero y el más importante elemento de las interfaces gráficas: formulario para los controles. A este formulario se le puede adjuntar múltiples controles de diferentes tipos en cualquier orden y secuencia.
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.
Neuroredes profundas (Parte II). Desarrollo y selección de predictores
Neuroredes profundas (Parte II). Desarrollo y selección de predictores

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

En este segundo artículo de la serie sobre redes neuronales profundas se analizarán la transformación y la selección en el proceso de preparación de los datos para el entrenamiento del modelo.
Ejemplos de análisis de gráficos utilizando el TD Sequential de DeMark y los niveles de Murray-Gann
Ejemplos de análisis de gráficos utilizando el TD Sequential de DeMark y los niveles de Murray-Gann

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

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

Alerta y comentario para indicadores externos (Parte dos)

Desde que publiqué el artículo "Alerta y comentario para indicadores externos", he recibido peticiones y preguntas sobre la posibilidad de desarrollar un informador externo que funcione en base a las líneas del indicador. Una vez analizadas todas las preguntas, decidí continuar con el tema. Almacenar los datos en un buffer de un indicador resultó ser otra área de interés para los usuarios.
preview
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 23): FOREX (IV)

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

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

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

Muchos desarrolladores se enfrentan con el mismo problema: cómo llegar al módulo del terminal sin utilizar DLL poco seguras. Una de los métodos más sencillos y seguros es utilizar conexiones designadas que funcionan como operaciones de archivo normales. Estos nos permiten organizar la comunicación cliente-servidor entre procesadores entre los programas. Eche un vistazo a los ejemplos prácticos en C++ y MQL5 que incluyen el intercambio de datos entre cliente y servidor y la prueba de rendimiento.
Monitoreo multidivisas de las señales comerciales (Parte 3): Introduciendo los algoritmos para la búsqueda
Monitoreo multidivisas de las señales comerciales (Parte 3): Introduciendo los algoritmos para la búsqueda

Monitoreo multidivisas de las señales comerciales (Parte 3): Introduciendo los algoritmos para la búsqueda

En los artículos anteriores, conseguimos desarrollar la parte visual de la aplicación, así como implementar la interacción entre los elementos de la interfaz. Ahora, vamos a añadir la lógica interna y el algoritmo para preparar los datos de las señales comerciales, la configuración de las mismas, la búsqueda y la visualización en el monitoreo.
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.
Método para encontrar los errores en el código mediante comentarios
Método para encontrar los errores en el código mediante comentarios

Método para encontrar los errores en el código mediante comentarios

El artículo describe un método de búsqueda de errores en el código de MQL4 basado en los comentarios. Este método ha mostrado ser útil en caso de que problemas originados durante la compilación y provocados por los errores en un código razonablemente grande.
Transferir el código de un indicador al código de un asesor experto. Conclusión
Transferir el código de un indicador al código de un asesor experto. Conclusión

Transferir el código de un indicador al código de un asesor experto. Conclusión

Este es el artículo final, dedicado a transferir el código de un indicador al código de un asesor experto. Aquí, el autor transforma un determinado ejemplo de código de un asesor experto de forma que dicho asesor experto se presenta en un único archivo sin llamar a los indicadores personalizados.
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.
Calidad de modelado de datos de un minuto
Calidad de modelado de datos de un minuto

Calidad de modelado de datos de un minuto

Calidad de modelado de datos de un minuto
Protección contra activaciones erróneas del robot comercial
Protección contra activaciones erróneas del robot comercial

Protección contra activaciones erróneas del robot comercial

La rentabilidad de los sistemas comerciales se determina no solo por la lógica y la precisión del análisis de la dinámica de los instrumentos financieros, sino también por la calidad del algoritmo de ejecución de esta lógica. Una expresión característica de ejecución defectuosa de la lógica principal del robot comercial son las activaciones erróneas. En el artículo se analizan variantes para resolver este problema.
Interfaces gráficas X: Control "Hora", control "Lista de las casillas de verificación" y ordenamiento (sort) de la tabla (build 6)
Interfaces gráficas X: Control "Hora", control "Lista de las casillas de verificación" y ordenamiento (sort) de la tabla (build 6)

Interfaces gráficas X: Control "Hora", control "Lista de las casillas de verificación" y ordenamiento (sort) de la tabla (build 6)

Continuamos con el desarrollo de la librería para la creación de interfaces gráficas. Esta vez mostraremos los controles «Hora» y «Lista de las casillas de verificación». Aparte de eso, a la clase de la tabla tipo CTable se le ha sido añadida la posibilidad de organizar los datos en orden ascendiente y descendiente.
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.
preview
¿Cómo elegir correctamente un asesor en el Mercado?

¿Cómo elegir correctamente un asesor en el Mercado?

En este artículo, analiceremos los puntos a los que debemos prestar atención en primer lugar a la hora de comprar un asesor. También buscaremos formas de aumentar los beneficios y, lo que es más importante, de gastar el dinero de forma inteligente y seguir ganando con ello. Además, tras finalizar la lectura, comprenderá que puede ganar dinero incluso con productos simples y gratuitos.
Cómo crear documentación usando los códigos fuente MQL5
Cómo crear documentación usando los códigos fuente MQL5

Cómo crear documentación usando los códigos fuente MQL5

En el artículo se analiza la creación de documentación para el código en MQL5, comenzando por la automatización de la colocación de los tags necesarios. A continuación, se describe el trabajo con el programa Doxygen, su correcta configuración y la obtención de resultados en diferentes formatos: en html, en HtmlHelp y en PDF.
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.
Plantilla universal de Asesor experto
Plantilla universal de Asesor experto

Plantilla universal de Asesor experto

Este artículo ayudará a los más inexpertos en trading a crear Asesores expertos flexibles.
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
Qué podemos hacer con la ayuda de medias móviles

Qué podemos hacer con la ayuda de medias móviles

En este artículo, hemos recopilado algunos usos del indicador de media móvil. Si se requiere un análisis de curvas, para casi todos los métodos se han hecho indicadores que permiten visualizar una idea útil. En la mayoría de los casos, las ideas se han tomado prestadas de otros autores, pero, en conjunto, suelen ayudar a ver las tendencias principales con mayor precisión y, con suerte, a tomar mejores decisiones comerciales. Nivel de conocimiento de MQL5: inicial.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().