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
Como escribir Zig Zags rápido sin redibujado
Como escribir Zig Zags rápido sin redibujado

Como escribir Zig Zags rápido sin redibujado

Se propone un método bastante universal de escribir indicadores del tipo Zig Zag. El método incluye una parte considerable de los Zig Zags ya descritos y nos permite crear otros nuevos con relativa facilidad.
preview
¡200 usd por su artículo de trading algorítmico!

¡200 usd por su artículo de trading algorítmico!

Escriba un artículo y contribuya al desarrollo del trading algorítmico. Comparta su experiencia en el comercio y la programación y le pagaremos 200 dólares. Además, la publicación en el popular sitio web MQL5.com será una gran oportunidad para su promoción personal en el entorno profesional. Le leerán miles de tráders. Podrá debatir sus ideas con personas afines, adquirir nuevas experiencias y rentabilizar sus conocimientos.
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.
Archivo de registro alternativo con el uso de HTML y CSS
Archivo de registro alternativo con el uso de HTML y CSS

Archivo de registro alternativo con el uso de HTML y CSS

En este artículo describiré el proceso de escritura de una sencilla pero muy potente biblioteca para la creación de archivos html, aprenderemos a ajustar su visualización y veremos cómo pueden implementarse y utilizarse fácilmente en nuestros expertos o en el script.
Interfaces gráficas XI: Campos de edición y combobox en las celdas de la tabla (build 15)
Interfaces gráficas XI: Campos de edición y combobox en las celdas de la tabla (build 15)

Interfaces gráficas XI: Campos de edición y combobox en las celdas de la tabla (build 15)

En esta actualización de la librería, el control «Tabla» (clase CTable) será completado con nuevas opciones. Vamos a ampliar la gama de los controles en las celdas de la tabla, completándola esta vez con los campos de edición y los combobox. Como adición, a esta actualización ha sido añadida la posibilidad que permite al usuario de la aplicación MQL controlar los tamaños de la ventana durante su ejecución.
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"
preview
Usando AutoIt con MQL5

Usando AutoIt con MQL5

Descripción breve. En este artículo, exploraremos la creación de scripts del terminal MetraTrader 5 integrando MQL5 con AutoIt. En el presente material, abarcaremos cómo automatizar varias tareas manipulando la interfaz de usuario de los terminales, y también presentaremos una clase que utiliza la biblioteca AutoItX.
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.
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
Algoritmos de optimización de la población: Optimización del Lobo Gris (Grey Wolf Optimizer - GWO)

Algoritmos de optimización de la población: Optimización del Lobo Gris (Grey Wolf Optimizer - GWO)

Hoy analizaremos uno de los algoritmos de optimización más modernos: la Optimización del Lobo Gris. El original comportamiento de las funciones de prueba hace que este sea uno de los algoritmos más interesantes entre los analizados anteriormente. Uno de los líderes para la aplicación en el entrenamiento de redes neuronales y funciones suaves con muchas variables.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVI): Eventos de la colección de símbolos.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVI): Eventos de la colección de símbolos.

Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XVI): Eventos de la colección de símbolos.

En este artículo, vamos a crear la clase básica para todos los objetos de la biblioteca, encargada de añadir la funcionalidad de los eventos a todos sus herederos; asimismo, crearemos una clase para monitorear los eventos de la colección de símbolos basada en la nueva clase básica. Además, modificaremos las clases de la cuenta y los eventos de la cuenta para trabajar con la nueva funcionalidad del objeto básico.
preview
Redes neuronales: así de sencillo (Parte 9): Documentamos el trabajo realizado

Redes neuronales: así de sencillo (Parte 9): Documentamos el trabajo realizado

Ya hemos recorrido un largo camino y el código de nuestra biblioteca ha crecido de manera considerable. Resulta difícil monitorear todas las conexiones y dependencias. Y, obviamente, antes de proseguir con el desarrollo del proyecto, necesitaremos documentar el trabajo ya realizado y actualizar la documentación en cada paso posterior. Una documentación debidamente redactada nos ayudará a ver la integridad de nuestro trabajo.
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
Recetas MQL5 – Calendario económico

Recetas MQL5 – Calendario económico

El artículo está dedicado a las posibilidades programáticas del trabajo con el Calendario Económico. Para ello, crearemos una clase para acceder de forma simplificada a las propiedades del calendario y recibir eventos. Como ejemplo práctico, proponemos programar un indicador que usa datos sobre el volumen neto de las posiciones especulativas de CFTC.
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.
preview
Indicadores multiples en un gráfico (Parte 04): Comenzando con el EA

Indicadores multiples en un gráfico (Parte 04): Comenzando con el EA

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.
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.
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.
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.
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.
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.
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
Multibot en MetaTrader: iniciamos múltiples robots desde un gráfico

Multibot en MetaTrader: iniciamos múltiples robots desde un gráfico

En este artículo, veremos una plantilla simple para crear un robot MetaTrader universal que se pueda usar en varios gráficos, pero adjunto a uno solo, sin necesidad de configurar cada ejemplar del robot en cada gráfico individual.
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.
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.
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.
preview
Algoritmos de optimización de la población: Evolución diferencial (Differential Evolution, DE)

Algoritmos de optimización de la población: Evolución diferencial (Differential Evolution, DE)

En este artículo, hablaremos del algoritmo que muestra los resultados más controvertidos entre todos los anteriormente analizados, el algoritmo de Evolución Diferencial (DE).
LibMatrix: Librería de Álgebra Matrix (Parte uno)
LibMatrix: Librería de Álgebra Matrix (Parte uno)

LibMatrix: Librería de Álgebra Matrix (Parte uno)

El autor familiariza a los lectores con una librería de álgebra matrix simple y ofrece descripciones y peculiaridades de las funciones principales.
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.
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.
preview
Algoritmos de optimización de la población: Algoritmo de murciélago (Bat algorithm - BA)

Algoritmos de optimización de la población: Algoritmo de murciélago (Bat algorithm - BA)

Hoy analizaremos el algoritmo de murciélago (Bat algorithm - BA), que posee una sorprendente convergencia en funciones suaves.
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.
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.
preview
Algoritmos de optimización de la población: Algoritmo de optimización de cuco (Cuckoo Optimization Algorithm — COA)

Algoritmos de optimización de la población: Algoritmo de optimización de cuco (Cuckoo Optimization Algorithm — COA)

El siguiente algoritmo que analizaremos será la optimización de la búsqueda de cuco usando los vuelos de Levy. Este es uno de los últimos algoritmos de optimización, así como el nuevo líder en la clasificación.
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.
Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores
Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores

Promediación efectiva de algoritmos con retraso mínimo: Uso en indicadores

Este artículo describe las funciones de promediación personalizadas de alta calidad desarrolladas por el autor: JJMASeries(), JurXSeries(), JLiteSeries(), ParMASeries(), LRMASeries(), T3Series(). El artículo también trata sobre la aplicación de dichas funciones en indicadores. El autor presenta una abundante biblioteca de indicadores basada en el uso de estas funciones.
Gráficos en la biblioteca DoEasy (Parte 83): Clase de objeto gráfico abstracto estándar
Gráficos en la biblioteca DoEasy (Parte 83): Clase de objeto gráfico abstracto estándar

Gráficos en la biblioteca DoEasy (Parte 83): Clase de objeto gráfico abstracto estándar

En el presente artículo, crearemos la clase de objeto gráfico abstracto. Este objeto constituirá la base para crear las clases de objetos gráficos estándar. Los objetos gráficos tienen muchas propiedades y hoy, antes de crear una clase de objeto gráfico abstracto, necesitaremos hacer mucho trabajo preparatorio: registrar estas propiedades en las enumeraciones de la biblioteca.
Matemáticas del mercado: beneficios, pérdidas, costes
Matemáticas del mercado: beneficios, pérdidas, costes

Matemáticas del mercado: beneficios, pérdidas, costes

En este artículo, le mostraremos cómo calcular el beneficio o las pérdidas totales de cualquier operación, incluyendo la comisión y el swap. Hoy crearemos un modelo matemático más preciso, escribiremos el código basado en él y lo compararemos con un referente. También intentaremos meternos analizar los entresijos de la función principal de MQL5 para calcular el beneficio y llegaremos al fondo de todos los valores necesarios de la especificación.
Secretos del terminal de cliente de MetaTrader 4: Biblioteca de archivos en MetaEditor
Secretos del terminal de cliente de MetaTrader 4: Biblioteca de archivos en MetaEditor

Secretos del terminal de cliente de MetaTrader 4: Biblioteca de archivos en MetaEditor

Cuando se crean programas personalizados, el editor de código es de gran importancia. Cuantas más funciones hay disponibles en el editor, más rápida y cómoda es la creación del programa. Muchos programas se crean sobre la base de un código ya existente. ¿Utiliza un indicador o un script que no se ajusta completamente a su propósito? Descargue el código de este programa de nuestro sitio web y personalícelo.