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
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN

Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN

En el artículo se analizan las posibilidades de la optimización bayesiana de los hiperparámetros de las neuroredes profundas obtenidas con diferentes formas de entrenamiento. Se compara la calidad de la clasificación de las DNN con los hiperparámetros óptimos en diferentes variedades de entrenamiento. Se ha comprobado mediante forward tests la profundidad de la efectividad de los hiperparámetros óptimos de la DNN. Se han definido los posibles campos de mejora de la calidad de la clasificación.
Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts
Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts

Usando archivos de texto para guardar los parámetros de entrada de asesores, indicadores y scripts

En el artículo vamos a analizar cuestiones relacionadas con el guaradado de objetos dinámicos, matrices y otras variables en forma de propiedades de asesores, indicadores y scripts en archivos de texto. Estos son un complemento cómodo a la funcionalidad de los recursos estándar propuestos por los lenguajes MQL.
La optimización automática de un Asesor Experto en el trading real
La optimización automática de un Asesor Experto en el trading real

La optimización automática de un Asesor Experto en el trading real

Este artículo describe y proporciona una librería de funciones que permite a un trader de optimizar las entradas de su Asesor Experto mediante la ejecución de la optimización desde el propio Asesor Experto.
LifeHack para tráders: preparando "comida rápida" a partir de indicadores
LifeHack para tráders: preparando "comida rápida" a partir de indicadores

LifeHack para tráders: preparando "comida rápida" a partir de indicadores

Si usted se ha decidido a dar el salto a MQL5 solo ahora, entonces este artículo le resultará muy útil: por una parte, el acceso a los datos de los indicadores y a las series se ha ejecutado en el estilo MQL4, al que usted ya está acostumbrado, y por otro, toda la implementación se ha escrito en MQL5 con la misma sencillez. Todas las funciones son totalmente comprensibles y se adecuan perfectamente a la depuración paso a paso.
¿Cómo copiar señales con la ayuda de un asesor según sus propias normas?
¿Cómo copiar señales con la ayuda de un asesor según sus propias normas?

¿Cómo copiar señales con la ayuda de un asesor según sus propias normas?

Al suscribirse a una señal puede darse la situación siguiente: su cuenta comercial tiene un apalancamiento de 1:100, el proveedor tiene un apalancamiento de 1:500 y comercia con un lote mínimo, y sus balances comerciales son prácticamente iguales, además, el coeficiente de copiado es del 10% al 15%. En este artículo hablaremos de cómo aumentar el coeficiente de copiado en ese caso.
Intercambio de datos entre indicadores. Es fácil
Intercambio de datos entre indicadores. Es fácil

Intercambio de datos entre indicadores. Es fácil

Queremos crear un entorno que proporcione acceso a los datos de los indicadores adjuntos a un gráfico y que tenga las siguientes propiedades: ausencia de copiado de datos; modificación mínima del código de métodos disponibles si necesitamos usarlo; es preferible el código de MQL (por supuesto, tenemos que usar DLL pero usaremos una docena de strings de código de C++). El artículo describe un método sencillo para desarrollar un entorno de programa para el terminal de MetaTrader que proporcione medios para acceder a los buffers del indicador desde otros programas MQL.
Aplicación de lógica difusa en el trading por medio del MQL4
Aplicación de lógica difusa en el trading por medio del MQL4

Aplicación de lógica difusa en el trading por medio del MQL4

El artículo se refiere a ejemplos de la aplicación de teoría de conjuntos difusa en el trading por medio del MQL4. El uso en el desarrollo de la librería FuzzyNet del MQL4 en un indicador y un Asesor Experto se describe así.
Exponer código C# a MQL5 usando exportaciones no gestionadas
Exponer código C# a MQL5 usando exportaciones no gestionadas

Exponer código C# a MQL5 usando exportaciones no gestionadas

En este artículo presento diferentes métodos de interacción entre código MQL5 y código gestionado C#. También facilito varios ejemplos sobre cómo ordenar estructuras MQL5 en contraposición a C#, y cómo invocar funciones DLL exportadas en scripts MQL5. Creo que los ejemplos que proporciono podrán servir como base para estudios futuros sobre escritura de DLLs en código gestionado. Este artículo también abre puertas para MetaTrader para usar varias bibliotecas que ya están implementadas en C#.
Conectando redes neuronales de NeuroSolutions
Conectando redes neuronales de NeuroSolutions

Conectando redes neuronales de NeuroSolutions

Además de la creación de las redes neuronales, el paquete del software de NeuroSolutions permite su exportación como archivos DLL. En este artículo se describe el proceso de creación de una red neuronal, la generación de un archivo DLL y su conexión a un Expert Advisor para el trading en MetaTrader 5.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIV): El objeto "Símbolo"
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIV): El objeto "Símbolo"

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIV): El objeto "Símbolo"

En este artículo vamos a crear un objeto de símbolo que será el objeto básico para crear la colección de símbolos. Con su ayuda, podremos obtener los datos de los símbolos necesarios para su posterior análisis y comparación.
Indicador de líneas de tendencia según el enfoque de T. Demark
Indicador de líneas de tendencia según el enfoque de T. Demark

Indicador de líneas de tendencia según el enfoque de T. Demark

Este indicador muestra las líneas de tendencia junto con los acontecimientos recientes que suceden en el mercado. Se desarrolla de acuerdo a las recomendaciones de Thomas Demark en lo relativo al análisis técnico. El indicador muestra la dirección de la tendencia actual y la penúltima dirección opuesta de la misma.
Las matemáticas de los algoritmos genéticos
Las matemáticas de los algoritmos genéticos

Las matemáticas de los algoritmos genéticos

Los algoritmos genéticos evolutivos se aplican en tareas de optimización. Por ejemplo en el aprendizaje neuronet, esto es, para seleccionar los valores de peso que permiten obtener el mínimo error. El algoritmo genético se basa en el método de búsqueda aleatoria.
Tendencia universal con interfaz gráfica
Tendencia universal con interfaz gráfica

Tendencia universal con interfaz gráfica

En este artículo, a base de una serie de indicadores estándar, se crea el indicador universal de tendencia. Se desarrolla la interfaz gráfica para seleccionar el tipo del indicador y configurar sus parámetros. El indicador se visualiza en una ventana separada con las series de iconos de diferentes colores.
Asesor Experto multiplataforma: Filtros temporales
Asesor Experto multiplataforma: Filtros temporales

Asesor Experto multiplataforma: Filtros temporales

En este artículo se analiza la implementación de diferentes métodos de la filtración temporal en el Asesor Experto multiplataforma. Las clases de los filtros temporales se ocupan de verificar la correspondencia de un determinado momento de tiempo a un determinado período definido en los ajustes.
Expresiones regulares para los traders
Expresiones regulares para los traders

Expresiones regulares para los traders

Una expresión regular es un lenguaje especial para el manejo de textos mediante la aplicación de una regla especificada, también llamada un regex o regexp para abreviar. En este artículo, vamos a mostrar cómo manejar un informe sobre el trade con la librería RegularExpressions para MQL5 y también demostrar los resultados de optimización después de usarlo.
Usar WinInet.dll para el intercambio de datos entre terminales por internet
Usar WinInet.dll para el intercambio de datos entre terminales por internet

Usar WinInet.dll para el intercambio de datos entre terminales por internet

En este artículo se describen los principios para trabajar con internet mediante las peticiones HTTP y el intercambio de datos entre terminales, usando un servidor intermedio. Se presenta una clase de la librería MqlNet para trabajar con los recursos de internet en el entorno MQL5. Seguir los precios por distintos brokers, intercambiar mensajes con otros traders sin salir del terminal, buscar informaciones en internet; estos son solamente algunos ejemplos que se repasan en este artículo.
¿Puede predecirse el mercado Forex? ¿Cómo crear una estrategia de trading propia?
¿Puede predecirse el mercado Forex? ¿Cómo crear una estrategia de trading propia?

¿Puede predecirse el mercado Forex? ¿Cómo crear una estrategia de trading propia?

Todo el que empieza a trabajar en Forex intenta responder a estas preguntas. Pero no todos encuentran la respuesta, incluso después de muchos años de duro trabajo y búsqueda. Personalmente, he respondido a esta pregunta y muchas otras de este artículo. Como resultado de estas respuestas se ha determinado una forma eficiente de crear una estrategia de trading.
preview
Aplicación práctica de las redes neuronales en el trading. Python (Parte I)

Aplicación práctica de las redes neuronales en el trading. Python (Parte I)

En este artículo, analizaremos paso a paso la implementación de un sistema comercial basado en la programación de redes neuronales profundas en Python. Para ello, usaremos la biblioteca de aprendizaje automático TensorFlow, desarrollada por Google. Para describir las redes neuronales, utilizaremos la biblioteca de Keras.
Recetas MQL5 - Escribiendo nuestra propia profundidad de mercado
Recetas MQL5 - Escribiendo nuestra propia profundidad de mercado

Recetas MQL5 - Escribiendo nuestra propia profundidad de mercado

Este artículo enseñará a los lectores a trabajar de forma programática con la profundidad de mercado, también describirá el principio de funcionamiento de la clase CMarketBook, que ampliará de forma orgánica la biblioteca estándar de clases MQL5 y proporcionará métodos cómodos para trabajar con la profundidad del mercado.
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2

Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando API HedgeTerminal, Parte 2

En este artículo se describe el nuevo enfoque en las cuestiones de la cobertura (hedging) de posiciones y se pone punto en las discusiones entre los usuarios de MetaTrader 4 y MetaTrader 5 sobre esta materia. Es la continuación de la primera parte: “Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando el panel HedgeTerminal, Parte 1”. En la segunda parte se describe la integración de los EAs personalizados con HedgeTerminalAPI, una biblioteca especial de virtualización que permite tradear bidireccionalmente estando en un entorno cómodo que permite gestionar sus posiciones de una manera sencilla y clara.
Sistema comercial 'Turtle Soup' y su modificación 'Turtle Soup Plus One'
Sistema comercial 'Turtle Soup' y su modificación 'Turtle Soup Plus One'

Sistema comercial 'Turtle Soup' y su modificación 'Turtle Soup Plus One'

En este artículo han sido formalizadas y programadas las reglas de las estrategias comerciales llamadas «Turtle Soup» y «Turtle Soup Plus One» del libro titulado «Street Smarts: High Probability Short-Term Trading Strategies», escrito por Linda Raschke y Laurence Connors. Las estrategias descritas en este libro recibieron bastante amplia acogida, pero es importante comprender que sus autores las ideaban basándose en el comportamiento del mercado de hace 15-20 años.
El poder del ZigZag (Parte II): Ejemplos de obtención, procesamiento y representación de datos.
El poder del ZigZag (Parte II): Ejemplos de obtención, procesamiento y representación de datos.

El poder del ZigZag (Parte II): Ejemplos de obtención, procesamiento y representación de datos.

En la primera parte, describimos un indicador ZigZag modificado y una clase para la obtención de datos de los indicadores de este tipo. Ahora vamos a mostrar cómo crear indicadores basados ​​en dichas herramientas, además de escribir un experto para las pruebas, que realizará transacciones según las señales generadas por el indicador ZigZag. Como añadido, en este artículo se ofrecerá una nueva versión de la biblioteca de creación de interfaces gráficas EasyAndFast.
Colocando las entradas por los indicadores
Colocando las entradas por los indicadores

Colocando las entradas por los indicadores

En la vida de cada trader pueden ocurrir diferentes situaciones. A menudo usamos el historial de transacciones rentables para intentar restablecer una estrategia, y usando el historial de pérdidas, tratamos de mejorarla. En ambos casos comparamos las transacciones con indicadores conocidos. En este artículo, se propone la técnica de comparación por lotes de las transacciones con una serie de indicadores.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXIV): Solicitudes comerciales pendientes - Eliminación de órdenes y posiciones según condiciones
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXIV): Solicitudes comerciales pendientes - Eliminación de órdenes y posiciones según condiciones

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXIV): Solicitudes comerciales pendientes - Eliminación de órdenes y posiciones según condiciones

En el presente artículo, finalizaremos la descripción del concepto de trabajo con solicitudes pendientes y crearemos la funcionalidad para eliminar órdenes pendientes y posiciones según una condición. De esta forma, dispondremos de toda una funcionalidad con la que podremos crear estrategias de usuario sencillas, para ser más exactos, una cierta lógica de comportamiento que el asesor activará al cumplirse las condiciones establecidas por el usuario.
Creación de indicadores personalizados usando la clase CCanvas
Creación de indicadores personalizados usando la clase CCanvas

Creación de indicadores personalizados usando la clase CCanvas

En el artículo se analiza un ejemplo de creación de indicadores de dibujado personalizados con la ayuda de primivitas gráficas de la clase CCanvas.
preview
Uso de los recursos en MQL5

Uso de los recursos en MQL5

Los programas MQL5 no solo automatizan cálculos rutinarios, sino que también pueden crear un entorno gráfico completo. Las funciones para crear controles realmente interactivos son ahora virtualmente tan ricas como las de los lenguajes de programación. Si desea escribir un programa entero e independiente en MQL5, use los recursos disponibles en ellos. Los programas con recursos son más fáciles de mantener y distribuir.
Comprobación estadística del sistema de gestión de dinero de Labouchere
Comprobación estadística del sistema de gestión de dinero de Labouchere

Comprobación estadística del sistema de gestión de dinero de Labouchere

Este artículo aborda las propiedades estadísticas del sistema de gestión de dinero de Labouchere. Se considera que es menos agresivo que el sistema de tipo Martingala, ya que en lugar de duplicar las apuestas se incrementan en una cantidad determinada.
ZUP - zigzag universal con patrones de Pesavento. Interfaz gráfica
ZUP - zigzag universal con patrones de Pesavento. Interfaz gráfica

ZUP - zigzag universal con patrones de Pesavento. Interfaz gráfica

Durante diez años pasados desde el momento del lanzamiento de la primera versión de la plataforma ZUP, había muchas actualizaciones y mejoras. Como resultado, tenemos a nuestra disposición un complemento gráfico único para MetaTrader 4, que permite realizar el análisis de la información del mercado de una manera rápida y cómoda. Este artículo nos cuenta sobre cómo se puede trabajar con la interfaz gráfica de la plataforma ZUP de indicadores.
preview
Posibilidades de ChatGPT de OpenAI en el marco de desarrollo de MQL4 y MQL5

Posibilidades de ChatGPT de OpenAI en el marco de desarrollo de MQL4 y MQL5

En este artículo, experimentaremos y analizaremos la inteligencia artificial ChatGPT de OpenAI para comprender sus capacidades y reducir el tiempo y la intensidad del trabajo en el desarrollo de nuestros asesores, indicadores y scripts. Asimismo, repasaremos rápidamente esta tecnología e intentaremos ver cómo usarla correctamente para programar en MQL4 y MQL5.
Ejemplo de desarrollo de una estrategia con spread para futuros en la bolsa de Moscú
Ejemplo de desarrollo de una estrategia con spread para futuros en la bolsa de Moscú

Ejemplo de desarrollo de una estrategia con spread para futuros en la bolsa de Moscú

MetaTrader 5 permite desarrollar y simular robots que comercien simultáneamente en varios instrumentos. El simulador de estrategias incorporado en la plataforma descarga de forma automática del servidor comercial del bróker la historia de ticks y tiene en cuenta las especificaciones de los contratos: el desarrollador no tiene que hacer nada con sus propias manos. Esto permite reproducir todas las condiciones del entorno comercial de forma fácil y extraordinariamente fiable. MetaTrader 5 permite desarrollar y poner a prueba robots, incluso simulando intervalos de milisegundos entre la llegada de ticks de diferentes símbolos. En este artículo mostraremos cómo realizar el desarrollo y la simulación de una estretegia de spread con dos futuros de la bolsa de Moscú.
Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales
Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales

Trabajando con sockets en MQL, o Cómo convertirse en proveedor de señales

Los sockets... ¿Qué podría existir sin ellos en este mundo de información? Aparecieron por primera vez en 1982 y prácticamente no han cambiado hasta el día de hoy, siguen funcionando para nosotros cada segundo. Son la base de una red, las terminaciones nerviosas del Matrix en el que vivimos.
Libro de Recetas MQL5: Escribir el Historial de Transacciones y Crear Gráficos de Saldo para cada Símbolo en Excel
Libro de Recetas MQL5: Escribir el Historial de Transacciones y Crear Gráficos de Saldo para cada Símbolo en Excel

Libro de Recetas MQL5: Escribir el Historial de Transacciones y Crear Gráficos de Saldo para cada Símbolo en Excel

Al explicar mis ideas en varios foros, a menudo utilizo ejemplos de mis resultados de simulación en forma de capturas de pantalla de gráficos de Microsoft Excel. Muchas veces me ha llegado la pregunta de cómo se pueden crear estos gráficos. Ahora por fin tengo algo de tiempo para explicarlo todo en este artículo.
El prototipo del Robot de trading
El prototipo del Robot de trading

El prototipo del Robot de trading

Este artículo resume y sistematiza los principios para la creación de algoritmos de sistemas de trading. El artículo aborda el diseño del algoritmo del experto. Como ejemplo, se aborda la clase CExpert Advisor, que se puede utilizar para un desarrollo rápido y sencillo de los sistemas de trading.
preview
Guía paso a paso para operar con la estrategia de ruptura de estructura (BoS, Break of Structure)

Guía paso a paso para operar con la estrategia de ruptura de estructura (BoS, Break of Structure)

Una guía completa para desarrollar un algoritmo de trading automatizado basado en la estrategia de ruptura de estructura (BoS, Break of Structure). Información detallada sobre todos los aspectos de la creación de un asesor en MQL5 y su prueba en MetaTrader 5, desde el análisis de soportes y resistencias de precios, hasta la gestión de riesgos.
Cómo trabajar con el módem GSM de un experto de MQL5
Cómo trabajar con el módem GSM de un experto de MQL5

Cómo trabajar con el módem GSM de un experto de MQL5

En la actualidad existen medios suficientes para monitorizar a distancia una cuenta comercial, con toda comodidad: con la ayuda de los terminales móviles, las notificaciones push y el trabajo con ICQ. Pero para todo ello se debe tener conexión a internet. Este artículo describe la creación un experto que les permitirá mantenerse en contacto con su terminal comercial, incluso en el caso de que el internet móvil no está disponible, más concretamente con ayuda de llamadas y mensajes SMS.
Aprendiendo a diseñar un sistema comercial basado en RSI
Aprendiendo a diseñar un sistema comercial basado en RSI

Aprendiendo a diseñar un sistema comercial basado en RSI

En este artículo, hablaremos sobre otro indicador popular y de uso común: RSI. Asimismo, aprenderemos a desarrollar un sistema comercial basado en las lecturas de este indicador.
El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado
El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado

El método óptimo para el cálculo del volumen total de una posición mediante un número mágico determinado

En este artículo se analiza el problema del cálculo del volumen total de la posición de un determinado símbolo y número mágico. El método propuesto requiere solamente la parte estrictamente necesaria del historial de las transacciones, encuentra el tiempo más próximo cuando el total de la posición es igual a cero, y lleva a cabo los cálculos con las últimas transacciones. También se analiza el trabajo del terminal de cliente con variables globales.
Aplicar un Indicador a Otro
Aplicar un Indicador a Otro

Aplicar un Indicador a Otro

Al escribir un indicador que usa la forma corta de la llamada de función OnCalculate(), puede que no se dé cuenta del hecho de que un indicador se puede calcular no solo por datos de precio, sino también por datos de otro indicador (independientemente de si viene incorporado o es personalizado). ¿Desea mejorar un indicador para su correcta aplicación a los datos del otro indicador? En este artículo, revisaremos todos los pasos para realizar tal modificación.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXII): Solicitudes comerciales pendientes - Colocación de órdenes según condiciones
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXII): Solicitudes comerciales pendientes - Colocación de órdenes según condiciones

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXII): Solicitudes comerciales pendientes - Colocación de órdenes según condiciones

Continuamos creando la funcionalidad para comerciar con la ayuda de solicitudes comerciales. En el presente artículo, implementaremos la posibilidad de colocar órdenes pendientes según una condición.
Estudio de las figuras técnicas de Merrill
Estudio de las figuras técnicas de Merrill

Estudio de las figuras técnicas de Merrill

En el presente artículo, vamos a analizar el modelo de las figuras técnicas de Merrill, e intentaremos averiguar hasta qué punto estos patrones técnicos son útiles hoy en día. Para este propósito, crearemos una herramienta para testearlos y aplicaremos este modelo a diferentes tipos de datos, a saber: precio de cierre, sus máximos y mínimos, indicadores del tipo oscilatorio.