Artículos con ejemplos de programación en el lenguaje MQL5

icon

Le espera una gran variedad de diferentes artículos sobre la creación de indicadores y robots comerciales para la plataforma MetaTrader usando el lenguaje MQL5. Cada artículo va acompañado con los códigos fuente, Usted puede abrir e iniciarlos en el editor MetaEditor de una manera independiente.

Estos artículos serán útiles tanto para los principiantes en el trading automático, como para los operadores experimentados en la programación y el trading. Aquí encontrará no sólo los ejemplos, sino también las nuevas ideas.

Nuevo artículo
últimas | mejores
Puntos de interrupción en la "Prueba de estrategia": ¡Es posible!
Puntos de interrupción en la "Prueba de estrategia": ¡Es posible!

Puntos de interrupción en la "Prueba de estrategia": ¡Es posible!

Este artículo aborda la emulación de los puntos de interrupción durante la ejecución de la "Prueba de estrategia" y la visualización de la información de depuración.
preview
Trailing stop en el trading

Trailing stop en el trading

En este artículo, analizaremos el uso del trailing stop en el trading: su utilidad y eficacia, y cómo podemos utilizarlo. La eficacia de un trailing stop depende en gran medida de la volatilidad del precio y de la selección del nivel de stop loss. Para fijar un stop loss pueden usarse diversos métodos.
preview
Plantillas listas para conectar indicadores en asesores (Parte 3): Indicadores de tendencia

Plantillas listas para conectar indicadores en asesores (Parte 3): Indicadores de tendencia

En este artículo de referencia, echaremos un vistazo a los indicadores estándar de la categoría de Indicadores de tendencia. Asimismo, crearemos plantillas listas para usar estos indicadores en asesores expertos: declaración y configuración de parámetros, inicialización y desinicialización de indicadores, y también obtención de datos y señales de los búferes de indicador en asesores.
Indicadores tricolores y algunas oportunidades para una simplificación máxima de la escritura de los indicadores
Indicadores tricolores y algunas oportunidades para una simplificación máxima de la escritura de los indicadores

Indicadores tricolores y algunas oportunidades para una simplificación máxima de la escritura de los indicadores

En este artículo el autor hace hincapié en algunos medios para incrementar el valor informativo de los indicadores para el trading visual. El autor analiza la creación de indicadores tricolores e indicadores para establecer qué datos de otros periodos de tiempo se utilizan y sigue haciendo hincapié en la biblioteca de indicadores descrita en el artículo "Algoritmos de promediación efectivos con retraso mínimo: Uso en indicadores"
Interfaces gráficas XI: Refactorización del código de la librería (build 14.1)
Interfaces gráficas XI: Refactorización del código de la librería (build 14.1)

Interfaces gráficas XI: Refactorización del código de la librería (build 14.1)

A medida que la librería va creciendo, es necesario optimizar de nuevo su código para reducir su tamaño. La versión de la librería descrita en este artículo se ha hecho aún más orientada a objetos. Eso ha mejorado la facilidad de comprensión del código. La descripción detallada de los últimos cambios permitirá al lector desarrollar la librería por sí mismo, según las necesidades que tenga.
Cómo ser un mejor programador (parte 06): 9 hábitos que conducen a una codificación eficaz
Cómo ser un mejor programador (parte 06): 9 hábitos que conducen a una codificación eficaz

Cómo ser un mejor programador (parte 06): 9 hábitos que conducen a una codificación eficaz

La escritura de código no siempre redunda en el dominio de una codificación efectiva. Hay ciertos hábitos que he desarrollado gracias a la experiencia, y que nos ayudan a codificar con mayor eficacia. En el presente artículo, analizaremos con detalle algunos de ellos. Este es un artículo de lectura obligada para aquellos programadores que quieran lograr escribir algoritmos complejos con menos molestias.
MQL4 como herramienta para Trading, o el Análisis técnico avanzado.
MQL4 como herramienta para Trading, o el Análisis técnico avanzado.

MQL4 como herramienta para Trading, o el Análisis técnico avanzado.

El trading es, ante todo, un cálculo de probabilidades. El refrán que dice que la ociosidad es un motor para el progreso, nos revela la razón por la que se están desarrollando todos estos indicadores y sistemas de trading. Resulta que la mayoría de los principiantes en el estudio del trading, realizan teorías de trading. Pero, afortunadamente, todavía hay algunos secretos de mercado no descubiertos, y se utilizan herramientas para analizar los movimientos de precios, básicamente, como los indicadores técnicos o matemáticas y paquetes stat. Gracias a Bill Williams por su contribución a la teoría de movimientos de mercado. Aunque, quizás, es algo pronto para dormirse en los laureles.
preview
Cómo añadir Trailing Stop según el indicador Parabolic SAR

Cómo añadir Trailing Stop según el indicador Parabolic SAR

Al crear una estrategia comercial, debemos probar una amplia variedad de stops de protección. Y aquí surge la idea del ajuste dinámico del nivel de Stop Loss siguiendo el precio. El mejor candidato en este punto es el indicador Parabolic SAR, resulta difícil pensar en algo más simple y claro.
Alerta y comentario para indicadores externos. Análisis multidivisa a través de escáner externo
Alerta y comentario para indicadores externos. Análisis multidivisa a través de escáner externo

Alerta y comentario para indicadores externos. Análisis multidivisa a través de escáner externo

Alerta para análisis multidivisa y con periodos múltiples de tiempo de indicadores externos. El artículo trata sobre un método de adquirir información de los indicadores externos sin tener que adjuntarlos o abrir un gráfico. Lo llamamos escaneo externo.
Otras clases en la biblioteca DoEasy (Parte 68): Clase de objeto de ventana de gráfico y clases de objetos de indicador en la ventana del gráfico
Otras clases en la biblioteca DoEasy (Parte 68): Clase de objeto de ventana de gráfico y clases de objetos de indicador en la ventana del gráfico

Otras clases en la biblioteca DoEasy (Parte 68): Clase de objeto de ventana de gráfico y clases de objetos de indicador en la ventana del gráfico

En este artículo, seguiremos desarrollando la clase de objeto de gráfico. Para ello, le añadiremos una lista de objetos de ventana de gráfico, en la que, a su vez, estarán disponibles las listas de indicadores colocados en ellos.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte X): Compatibilidad con MQL4 - Eventos de apertura de posición y activación de órdenes pendientes
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte X): Compatibilidad con MQL4 - Eventos de apertura de posición y activación de órdenes pendientes

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte X): Compatibilidad con MQL4 - Eventos de apertura de posición y activación de órdenes pendientes

En artículos anteriores, comenzamos a crear una gran biblioteca multiplataforma, cuyo cometido es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la novena parte, comenzamos a completar las clases de la biblioteca para trabajar en MQL4. En el presente artículo, continuaremos desarrollando la biblioteca para hacerla totalmente compatible con MQL4.
preview
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 7): Señales de los indicadores ZigZag y Awesome Oscillator

Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 7): Señales de los indicadores ZigZag y Awesome Oscillator

En este artículo, entenderemos por EA multidivisa un EA o robot comercial que utiliza indicadores ZigZag y Awesome Oscillator que filtran mutuamente sus señales.
preview
Algoritmos de optimización de la población: Búsqueda armónica (HS)

Algoritmos de optimización de la población: Búsqueda armónica (HS)

Hoy estudiaremos y pondremos a prueba un algoritmo de optimización muy potente, la búsqueda armónica (HS), que se inspira en el proceso de búsqueda de la armonía sonora perfecta. ¿Qué algoritmo lidera ahora mismo nuestra clasificación?
Gráficos en la biblioteca DoEasy (Parte 77): Clase de objeto Sombra
Gráficos en la biblioteca DoEasy (Parte 77): Clase de objeto Sombra

Gráficos en la biblioteca DoEasy (Parte 77): Clase de objeto Sombra

En el presente artículo, vamos a crear la clase para el objeto de sombra, que es heredero del objeto de elemento gráfico. Asimismo, añadiremos la posibilidad de rellenar el fondo del objeto con relleno en gradiente.
preview
Indicadores multiples en un gráfico (Parte 03):  Desarrollo de definiciones para los usuarios

Indicadores multiples en un gráfico (Parte 03): Desarrollo de definiciones para los usuarios

Es la primera vez que se actualiza la funcionalidad del sistema de indicadores. En el artículo anterior Múltiples indicadores en un gráfico expliqué el código base para poder utilizar más de un indicador dentro de una subventana, pero lo que se presentó era sólo la base inicial de un sistema mucho mayor.
preview
Algoritmos de optimización de la población: Optimización de malas hierbas invasoras (IWO)

Algoritmos de optimización de la población: Optimización de malas hierbas invasoras (IWO)

La asombrosa capacidad de las malas hierbas para sobrevivir en una gran variedad de condiciones inspiró la idea de un potente algoritmo de optimización. El IWO es uno de los mejores entre los analizados anteriormente.
preview
Optimización automatizada de parámetros para estrategias de negociación con Python y MQL5

Optimización automatizada de parámetros para estrategias de negociación con Python y MQL5

Existen varios tipos de algoritmos para la autooptimización de estrategias y parámetros de negociación. Estos algoritmos se utilizan para mejorar automáticamente las estrategias de negociación basándose en datos históricos y actuales del mercado. En este artículo veremos uno de ellos con ejemplos en Python y MQL5.
preview
Indicadores adaptativos

Indicadores adaptativos

En este artículo, analizaremos varios enfoques posibles en la creación de indicadores adaptativos. Los indicadores adaptativos se distinguen por la presencia de retroalimentación entre los valores de las señales de entrada y salida. Esta relación permite que el indicador se ajuste de forma independiente al procesamiento óptimo de los valores de las series temporales financieras.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte VII): Eventos de activación de órdenes StopLimit, preparación de la funcionalidad para los eventos de modificación de órdenes y posiciones
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte VII): Eventos de activación de órdenes StopLimit, preparación de la funcionalidad para los eventos de modificación de órdenes y posiciones

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte VII): Eventos de activación de órdenes StopLimit, preparación de la funcionalidad para los eventos de modificación de órdenes y posiciones

En anteriores artículos comenzamos a crear una gran biblioteca multiplataforma cuyo objetivo es simplificar la creación de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la sexta parte, enseñamos a la biblioteca a trabajar con posiciones en las cuentas de compensación. En esta parte, implementaremos el seguimiento de los eventos de activación de órdenes StopLimit y prepararemos la funcionalidad necesaria para monitorear la modificación de órdenes y posiciones.
Repaso de HTML usando MQL4
Repaso de HTML usando MQL4

Repaso de HTML usando MQL4

Hoy día, HTML es uno de los tipos de documentos más utilizados. El terminal de cliente de MetaTrader 4 nos permite guardar las declaraciones, informes de pruebas y optimizaciones como archivos .html. A veces es necesario para obtener información de dichos archivos en un programa MQL4. El artículo describe una de las variantes de cómo obtener la estructura y contenidos de HTML.
preview
Múltiples indicadores en un gráfico (Parte 02): primeros experimentos

Múltiples indicadores en un gráfico (Parte 02): primeros experimentos

En el artículo anterior, múltiples indicadores en un gráfico, presenté los conceptos y fundamentos para que podamos utilizar múltiples indicadores en un gráfico. Aquí presentaré y desglosaré el código fuente.
Consejos de un programador profesional (parte II): Organizando el almacenamiento y el intercambio de parámetros entre el experto, los scripts y los programas externos
Consejos de un programador profesional (parte II): Organizando el almacenamiento y el intercambio de parámetros entre el experto, los scripts y los programas externos

Consejos de un programador profesional (parte II): Organizando el almacenamiento y el intercambio de parámetros entre el experto, los scripts y los programas externos

Consejos de un programador profesional sobre métodos, técnicas y herramientas auxiliares para facilitar la programación. En esta ocasión, hablaremos de los parámetros que podemos restaurar tras reiniciar (cerrar) el terminal. Todos los ejemplos son en realidad trozos del código operativo del proyecto Cayman del propio autor.
Kit del Trader: Librería  del trade de arraste
Kit del Trader: Librería  del trade de arraste

Kit del Trader: Librería del trade de arraste

El artículo describe la librería del trade de arrastre que proporciona funcionalidad para el comercio visual. La librería puede integrarse fácilmente en prácticamente cualquier Asesor Experto. Su Asesor Experto puede transformarse de un autómata de un trading automatizado y tener a su lado un sistema de información casi sin esfuerzo agregando simplemente unas pocas líneas de código.
Probando las características y los límites de MetaTrader 4
Probando las características y los límites de MetaTrader 4

Probando las características y los límites de MetaTrader 4

Este artículo expone algunos detalles sobre las características y los límites del Probador de Estrategias de MetaTrader 4.
preview
Algoritmos de optimización de la población: Algoritmo de enjambre de aves (Bird Swarm Algorithm, BSA)

Algoritmos de optimización de la población: Algoritmo de enjambre de aves (Bird Swarm Algorithm, BSA)

El artículo analiza un algoritmo BSA basado en el comportamiento de las aves, que se inspira en las interacciones colectivas de bandadas de aves en la naturaleza. Las diferentes estrategias de búsqueda de individuos en el BSA, que incluyen el cambio entre el comportamiento de vuelo, la vigilancia y la búsqueda de alimento, hacen que este algoritmo sea multidimensional. El algoritmo usa los principios del comportamiento de las bandadas, la comunicación, la adaptabilidad, el liderazgo y el seguimiento de las aves para encontrar con eficacia soluciones óptimas.
preview
Lenguaje de programación visual Drakon: una herramienta de comunicación para desarrolladores y clientes MQL

Lenguaje de programación visual Drakon: una herramienta de comunicación para desarrolladores y clientes MQL

DRAKON es un lenguaje de programación visual especialmente diseñado para simplificar la interacción entre especialistas de distintas ramas (biólogos, físicos, ingenieros...) y programadores en proyectos espaciales rusos (por ejemplo, al crear el complejo "Burán"). En este artículo, hablaremos sobre cómo DRAKON hace que la creación de algoritmos sea accesible e intuitiva, incluso si nunca nos hemos enfrentado al código. Asimismo, también veremos cómo el lenguaje DRAKON ayuda tanto al cliente a explicar sus pensamientos al encargar robots comerciales, como al programador a cometer menos errores en funciones complejas.
preview
Media móvil en MQL5 desde cero: Sencilla y accesible

Media móvil en MQL5 desde cero: Sencilla y accesible

Usando ejemplos sencillos, hoy analizaremos los principios del cálculo de las medias móviles y nos familiarizaremos con las formas de optimizar el cálculo de los indicadores y, en consecuencia, de las medias móviles.
preview
Creación simple de indicadores complejos usando objetos

Creación simple de indicadores complejos usando objetos

El artículo presenta un método para crear indicadores complejos que nos evitará problemas al trabajar con múltiples gráficos y búferes, así como al combinar datos de varias fuentes.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte V): Clases y colección de eventos comerciales, envío de eventos al programa
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte V): Clases y colección de eventos comerciales, envío de eventos al programa

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte V): Clases y colección de eventos comerciales, envío de eventos al programa

En anteriores artículos comenzamos a crear una gran biblioteca multiplataforma cuyo objetivo es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la cuarta parte, hemos puesto a prueba el seguimiento de eventos comerciales en la cuenta. En esta parte, vamos a crear las clases de los eventos comerciales y a colocarlas en la colección de eventos desde la que serán enviadas al objeto básico de la biblioteca Engine y al gráfico del programa de control.
Gráficos sin agujeros
Gráficos sin agujeros

Gráficos sin agujeros

Este artículo explica cómo implementar gráficos sin barras vacías.
Modificación en dos etapas de posiciones abiertas
Modificación en dos etapas de posiciones abiertas

Modificación en dos etapas de posiciones abiertas

El método de las dos etapas nos permite evitar el cierre y la reapertura innecesaria de posiciones en situaciones cercanas a la tendencia y en casos de posible aparición de divergencias.
preview
Implementación de breakeven en MQL5 (Parte 1): Clase base y breakeven por puntos fijos

Implementación de breakeven en MQL5 (Parte 1): Clase base y breakeven por puntos fijos

En este artículo se estudia el uso del breakeven aplicado a estrategias automáticas en MQL5. Se parte de una explicación sencilla sobre qué es, cómo se implementa y cuáles son sus posibles variantes. Luego, se integra la funcionalidad dentro de un bot de Order Blocks, creado en el último artículo sobre gestión de riesgo. Para evaluar su comportamiento, se ejecutaron dos backtest bajo condiciones específicas: uno sin breakeven y otro con esta función activa.
Aserciones en los programas MQL5
Aserciones en los programas MQL5

Aserciones en los programas MQL5

Este artículo explica cómo utilizar aserciones en el lenguaje MQL5. Proporciona dos mecanismos de aserción a modo de ejemplo, así como una guía para implementarlas correctamente.
Indicador técnico de preparación propia
Indicador técnico de preparación propia

Indicador técnico de preparación propia

En este artículo, analizaremos algunos algoritmos que nos permitirán crear nuestro propio indicador técnico. Asimismo, veremos cómo, con unos supuestos iniciales muy sencillos, podremos obtener resultados bastante complejos e interesantes.
preview
Implementación de breakeven en MQL5 (Parte 1): Clase base y breakeven por puntos fijos

Implementación de breakeven en MQL5 (Parte 1): Clase base y breakeven por puntos fijos

En este artículo se estudia el uso del breakeven aplicado a estrategias automáticas en MQL5. Se parte de una explicación sencilla sobre qué es, cómo se implementa y cuáles son sus posibles variantes. Luego, se integra la funcionalidad dentro de un bot de Order Blocks, creado en el último artículo sobre gestión de riesgo. Para evaluar su comportamiento, se ejecutaron dos backtest bajo condiciones específicas: uno sin breakeven y otro con esta función activa.
preview
Recetas MQL5 - Servicios

Recetas MQL5 - Servicios

Este artículo describe las capacidades versátiles de los servicios, como los programas MQL5 que no requieren un gráfico vinculante. Asimismo, se detallan las diferencias de los servicios respecto a otros programas MQL5, enfatizando los matices del trabajo del desarrollador con los servicios. Como ejemplos, el lector podrá estudiar varias tareas que abarcan una amplia gama de funcionalidades que pueden implementarse como un servicio.
preview
Aprendiendo MQL5 de principiante a profesional (Parte VI): Fundamentos del desarrollo de asesores expertos

Aprendiendo MQL5 de principiante a profesional (Parte VI): Fundamentos del desarrollo de asesores expertos

Este artículo continúa la serie para principiantes. Aquí discutiremos los principios básicos del desarrollo de Asesores Expertos (EAs). Crearemos dos EAs: el primero operará sin indicadores, utilizando órdenes pendientes, y el segundo se basará en el indicador MA estándar, abriendo operaciones al precio actual. Aquí doy por sentado que ya no eres un principiante absoluto y que dominas relativamente bien el material de los artículos anteriores.
preview
Evaluación de modelos ONNX usando métricas de regresión

Evaluación de modelos ONNX usando métricas de regresión

La regresión es una tarea que consiste en predecir un valor real a partir de un ejemplo sin etiquetar. Para evaluar la precisión de las predicciones de los modelos de regresión, se usan las llamadas métricas de regresión.
preview
Trabajando con las series temporales en la biblioteca DoEasy (Parte 51): Indicadores estándar compuestos de período y símbolo múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 51): Indicadores estándar compuestos de período y símbolo múltiples

En este artículo, vamos a finalizar el desarrollo de indicadores estándar de período y símbolo múltiples. A base del indicador Ichimoku Kinko Hyo, vamos a analizar la creación de los indicadores personalizados de composición compleja que disponen de los búferes dibujados auxiliares para la visualización de los datos en el gráfico.
Prueba visual de la rentabilidad de los indicadores y alertas
Prueba visual de la rentabilidad de los indicadores y alertas

Prueba visual de la rentabilidad de los indicadores y alertas

De lo que avisa un indicador de trading, o simplemente el método de su cálculo, se decide generalmente cuando los AEs de prueba usan estas alertas. Sin embargo, no siempre es posible/necesario/razonable escribir un AE para cada indicador. Se puede calcular rápidamente la rentabilidad de trading en alertas de otros indicadores, utilizando un indicador especial que recoge sus alertas él mismo y dibuja una imagen del trading ideal con ellas. Puede ayudar tanto a hacer una estimación visual de los resultados obtenidos y elegir rápidamente los mejores parámetros.