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
Funciones para la Gestión de fondos en un Expert Advisor
Funciones para la Gestión de fondos en un Expert Advisor

Funciones para la Gestión de fondos en un Expert Advisor

El desarrollo de estrategias de trading se basa inicialmente en la búsqueda de pautas para entrar y salir del mercado, así como en el mantenimiento de las posiciones. Si somos capaces de poner algunas pautas en forma de reglas para el trading automatizado, entonces se encargará el trader del cálculo del volumen de las posiciones, el valor de los diferenciales, así como el mantenimiento de un nivel seguro de fondos hipotecarios para garantizar las posiciones abiertas en el modo automatizado. En este artículo usaremos el lenguaje MQL5 para realizar ejemplos sencillos sobre cómo llevar a cabo estos cálculos.
Desarrollando un EA comercial desde cero
Desarrollando un EA comercial desde cero

Desarrollando un EA comercial desde cero

Comprenda cómo desarrollar un EA para tráding programando lo menos posible
Creando un ayudante para el comercio manual
Creando un ayudante para el comercio manual

Creando un ayudante para el comercio manual

El número de robots comerciales para trabajar en los mercados de divisas está creciendo últimamente como una bola de nieve. En ellos se implementan diferentes conceptos y estrategias, pero nadie ha conseguido hasta el momento crear una muestra perfecta de inteligencia artificial que nunca tenga pérdidas. Por eso, muchos tráders se mantienen fieles al comercio manual. Precisamente para esos especialistas se crean los ayudantes robotizados, los llamados paneles comerciales. Este artículo es otro ejemplo más de la creación de un panel comercial partiendo "desde cero".
Un Gestor de Órdenes Virtuales para rastrear órdenes dentro del entorno centrado en posiciones de MetaTrader 5
Un Gestor de Órdenes Virtuales para rastrear órdenes dentro del entorno centrado en posiciones de MetaTrader 5

Un Gestor de Órdenes Virtuales para rastrear órdenes dentro del entorno centrado en posiciones de MetaTrader 5

Esta biblioteca de clase se puede añadir al Asesor Experto de MetaTrader 5 para activarla y escribirla con un enfoque centrado en las órdenes, muy similar a MetaTrader 4, en comparación con el enfoque basado en posiciones de MetaTrader 5. Esto se consigue rastreando las órdenes virtuales en el Terminal de Cliente MetaTrader 5, manteniendo a la vez un stop de seguridad para cada posición como protección ante desastres.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte I): Concepto, organización de datos y primeros resultados
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte I): Concepto, organización de datos y primeros resultados

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte I): Concepto, organización de datos y primeros resultados

Tras analizar una ingente cantidad de estrategias comerciales, ejecutar multitud de encargos de preparación de programas para los terminales MT5 y MT4, y visitar distintos sitios web de MetaTrader, hemos llegado a la conclusión de que una mayoría aplastante de esta diversidad se construye en la práctica sobre un número fijo de funciones elementales, acciones y valores que se repiten de un programa a otro. El resultado de semejante trabajo es la biblioteca multiplataforma "DoEasy", que permite crear fácil y rápidamente programas para МetaТrader 5 y МetaТrader 4
Desarrollo de indicadores bursátiles con control de volumen tomando como ejemplo el indicador delta
Desarrollo de indicadores bursátiles con control de volumen tomando como ejemplo el indicador delta

Desarrollo de indicadores bursátiles con control de volumen tomando como ejemplo el indicador delta

En el artículo se analiza el algoritmo de construcción de indcadores sobre volúmenes reales usando las funciones CopyTicks() y CopyTicksRange(). Asimismo, se muestran las peculiaridades de la construcción de estos indicadores y se describe su funcionamiento en tiempo real y en el simulador de estrategias.
Implementación de Take Profit en forma de órdenes limitadas sin cambiar el código fuente del EA
Implementación de Take Profit en forma de órdenes limitadas sin cambiar el código fuente del EA

Implementación de Take Profit en forma de órdenes limitadas sin cambiar el código fuente del EA

Desde hace mucho en el foro se discute la cuestión del uso de órdenes limitadas en vez de colocar el Take Profit estándar para la posición. ¿En qué consiste la ventaja de este enfoque y cómo se puede implementarlo en la negociación? En este artículo me gustaría proponerles mi propia visión de las respuestas a estas preguntas.
Módulo de señales comerciales según el sistema de Bill Williams
Módulo de señales comerciales según el sistema de Bill Williams

Módulo de señales comerciales según el sistema de Bill Williams

En el artículo se describen las reglas del sistema comercial de Bill Williams, el orden de uso del módulo MQL5 desarrollado para la búsqueda y marcado de patrones de este sistema en el gráfico, el comercio automático según los patrones hallados, y también se presentan los resultados de la simulación con diferentes instrumentos comerciales.
Distribuciones estadísticas en forma de histogramas sin búferes de indicador y matrices
Distribuciones estadísticas en forma de histogramas sin búferes de indicador y matrices

Distribuciones estadísticas en forma de histogramas sin búferes de indicador y matrices

En el artículo se estudia la posibilidad de crear los histogramas de las distribuciones estadísticas de las características del mercado usando memoria gráfica, es decir, sin usar búferes de indicador y matrices. Se adjuntan ejemplos detallados de la construcción de este tipoo de histogramas y se muestra la llamada funcionalidad "oculta" de los objetos gráficos del lenguaje MQL5.
Depuración de programas en MQL5
Depuración de programas en MQL5

Depuración de programas en MQL5

Este artículo va dirigido a los programadores que ya conocen el lenguaje, pero que aún no han asimilado suficiententemente bien el desarrollo de programas. El artículo nos descubrirá métodos prácticos para depurar programas, es el fruto de la experiencia combinada, no sólo mía, sino también de muchos de los programadores de cuya experiencia he aprendido.
Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación
Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación

Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación

El artículo ofrece una descripción de las formas de utilización del análisis de regresión múltiple para el desarrollo de sistemas de trading. Muestra el uso del análisis de regresión para la automatización de la búsqueda de estrategias. Se proporciona como ejemplo una ecuación de regresión generada e integrada en un asesor experto sin necesidad de disponer de habilidades de programación.
Desarrollamos un Asesor Experto multiplataforma para colocar StopLoss y TakeProfit de acuerdo con nuestros riesgos
Desarrollamos un Asesor Experto multiplataforma para colocar StopLoss y TakeProfit de acuerdo con nuestros riesgos

Desarrollamos un Asesor Experto multiplataforma para colocar StopLoss y TakeProfit de acuerdo con nuestros riesgos

En este artículo, vamos a diseñar un EA que nos permite automatizar el proceso de la definición del lote que se usa para entrar en la transacción de acuerdo con nuestros riesgos. Además, este EA permitirá colocar automáticamente Take Profit con una proporción seleccionada respecto a Stop Loss, es decir, para cumplir la razón de 3 a 1, 4 a 1 o cualquier otra seleccionada por nosotros.
Creación de un Expert Advisor que opera con varios instrumentos
Creación de un Expert Advisor que opera con varios instrumentos

Creación de un Expert Advisor que opera con varios instrumentos

El concepto de diversificación de activos en los mercados financieros es bastante antiguo, y siempre ha atraído a los operadores principiantes. En este artículo, el autor propone un enfoque muy simplificado para la implementación de un Expert Advisor multidivisa, para una introducción inicial a este tipo de estrategias de trading.
Asesor Experto multiplataforma: Niveles stop
Asesor Experto multiplataforma: Niveles stop

Asesor Experto multiplataforma: Niveles stop

En este artículo se analiza la implementación de niveles stop en el asesor comercial, la implementación es compatible con las plataformas MetaTrader 4 y MetaTrader 5.
Creando un feed de noticias personalizado en MetaTrader 5
Creando un feed de noticias personalizado en MetaTrader 5

Creando un feed de noticias personalizado en MetaTrader 5

En el artículo se analiza la posibilidad de crear un feed de noticias flexible, que ofrecezca multitud de opciones para elegir el tipo de noticias y su fuente. El artículo muestra cómo se pueden integrar web API con el terminal MetaTrader 5.
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.
MQL5 Wizard: Nueva Versión
MQL5 Wizard: Nueva Versión

MQL5 Wizard: Nueva Versión

Este artículo contiene descripciones de los nuevos elementos disponibles en el MQL5 Wizard actualizado. La arquitectura actualizada de señales nos permite crear robots de trading basados en la combinación de varios patrones de mercado. El ejemplo que contiene este artículo explica el procedimiento de creación interactiva de un Asesor Experto.
Neuroredes profundas (Parte I). Preparación de datos
Neuroredes profundas (Parte I). Preparación de datos

Neuroredes profundas (Parte I). Preparación de datos

Esta serie de artículos continúa y desarrolla el tema de las neuroredes profundas (DNN), que ha sido incluidas en los últimos tiempos en muchas áreas aplicadas, incluyendo el trading. Se analizan las corrientes de dicho tema, comprobándose con experimentos prácticos los nuevos métodos e ideas. El primer artículo de la serie está dedicado a la preparación de los datos para las DNN.
MQL para "Dummies": Cómo Diseñar y Construir Clases de Objetos
MQL para "Dummies": Cómo Diseñar y Construir Clases de Objetos

MQL para "Dummies": Cómo Diseñar y Construir Clases de Objetos

Creando un modelo de programa de diseño visual demostramos cómo diseñar y construir clases en MQL5. Este artículo está escrito para programadores principiantes que están trabajando con aplicaciones MT5. Propondremos una tecnología sencilla y fácil de entender para crear clases sin necesidad de entrar muy a fondo en la teoría de programación orientada al objeto.
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.
Evaluación de los sistemas de trading -la eficiencia de entrada, salida y transacciones en general
Evaluación de los sistemas de trading -la eficiencia de entrada, salida y transacciones en general

Evaluación de los sistemas de trading -la eficiencia de entrada, salida y transacciones en general

Hay muchos criterios que permiten determinar el rendimiento y la rentabilidad de un sistema de trading. No obstante, los traders están siempre dispuestos a poner a prueba de choque cualquier sistema. En este artículo se explica cómo se pueden utilizar las estadísticas basadas en la medida del rendimiento, en la plataforma MetaTrader 5. Se incluye la clase para convertir la interpretación de las estadísticas para traders a una que no se contradice con la descripción presente en el libro "Statistika dlya traderov" (Estadísticas para traders) escrito por S.V. Bulashev. Se incluye también un ejemplo de optimización de una función personalizada.
preview
SQLite: trabajo nativo con bases de datos en SQL en MQL5

SQLite: trabajo nativo con bases de datos en SQL en MQL5

El desarrollo de estrategias comerciales está relacionado con el procesamiento de grandes volúmenes de datos. Ahora, usted podrá trabajar directamente en MQL5 con bases de datos con la ayuda de solicitudes SQL basadas en SQLite. Una ventaja importante de este motor es que toda la base de datos se encuentra en un único archivo estándar, ubicado en la computadora del usuario.
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.
¿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.
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#.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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ú.
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.