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
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.
El patrón Bandera
El patrón Bandera

El patrón Bandera

En el artículo se estudiarán los patrones de Bandera, Banderín, Cuña, Formación en Rectángulo, Triángulo decreciente, Triángulo creciente. Se analizarán sus semejanzas y diferencias, se crearán indicadores para su búsqueda en el gráfico y un indicador-probador para evaluar rápidamente su efectividad.
Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)
Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)

Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)

La octava parte del artículo está dedicada a la descripción de la clase CSymbol, un objeto especial que proporciona acceso a un instrumento comercial aleatorio. Incluida en el experto comercial, esta clase proporciona un rico conjunto de propiedades de cualquier instrumento, haciendo la programación de expertos aún más sencilla y multifuncional.
Asesor Experto multiplataforma: Gestión de capital (money management)
Asesor Experto multiplataforma: Gestión de capital (money management)

Asesor Experto multiplataforma: Gestión de capital (money management)

En este artículo se analiza la implementación de la gestión de capital (money management) en el Asesor Experto multiplataforma. Las clases de la gestión de capital se encargan del cálculo del tamaño del lote que el Asesor Experto usará para entrar en la siguiente operación.
Indicadores personalizados e infografía en CCanvas
Indicadores personalizados e infografía en CCanvas

Indicadores personalizados e infografía en CCanvas

En este artículo se analizarán nuevos tipos de indicadores con una estructura de implementación más compleja. Se describirá la construcción de los indicadores de los tipos pseudo-3D y la creación de infografías que cambian de manera dinámica.
Interfaces gráficas XI: Controles dibujados (build 14.2)
Interfaces gráficas XI: Controles dibujados (build 14.2)

Interfaces gráficas XI: Controles dibujados (build 14.2)

En la nueva versión de la librería, todos los controles van a dibujarse en los objetos gráficos separados tipo OBJ_BITMAP_LABEL. Además, seguiremos describiendo la optimización del código: es decir, analizaremos los cambios en las clases que representan el núcleo de la librería.
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.
Asesor Experto multiplataforma: Señales
Asesor Experto multiplataforma: Señales

Asesor Experto multiplataforma: Señales

En este artículo, se discuten las clases CSignal y CSignals que serán utilizadas en los Asesores Expertos multiplataforma. Han sido analizadas las diferencias entre MQL4 y MQL5 respecto a la organización de los datos necesarios para evaluar las señales comerciales obtenidas. Como resultado, tenemos el código compatible con los compiladores de ambas versiones.
Ejemplo del indicador que construye las líneas de soporte y resistencia
Ejemplo del indicador que construye las líneas de soporte y resistencia

Ejemplo del indicador que construye las líneas de soporte y resistencia

En este artículo se muestra el ejemplo de la implementación del indicador para construir las líneas de soporte y resistencia a base las condiciones formalizadas. Usted podrá no sólo aplicar el indicador, sino también comprenderá qué fácil implementar eso. Ahora Usted podrá formular personalmente las condiciones para construir las líneas que considere necesarias, haciendo pequeñas modificaciones en el código del indicador a su medida.
Interfaces gráficas X: Selección del texto en el campo de edición multilínea (build 13)
Interfaces gráficas X: Selección del texto en el campo de edición multilínea (build 13)

Interfaces gráficas X: Selección del texto en el campo de edición multilínea (build 13)

En este artículo vamos a implementar la posibilidad de seleccionar el texto usando diferentes combinaciones de teclas y eliminar el texto seleccionado, de la misma manera como se hace en cualquier otro editor de texto. Además de eso, seguiremos optimizando el código y prepararemos las clases para el traspaso al proceso final de la segunda fase del desarrollo de la librería, cuando todos los controles estarán dibujados en las imágenes separadas (lienzos para el dibujado).
Ondas de Wolfe
Ondas de Wolfe

Ondas de Wolfe

El método gráfico propuesto por Bill Wolfe permite no solo mostrar una figura y definir al mismo tiempo el momento y la dirección de la entrada, sino también sincronizar el objetivo que deberá alcanzar el precio y el tiempo de dicho alcance. En el artículo se describe cómo sobre la base del indicador Zigzag se puede crear un indicador para la búsqueda de las ondas de Wolfe y un sencillo asesor que comercie según sus señales.
Recetas MQL5 - Creando el búfer circular para calcular rápidamente los indicadores en la ventana móvil
Recetas MQL5 - Creando el búfer circular para calcular rápidamente los indicadores en la ventana móvil

Recetas MQL5 - Creando el búfer circular para calcular rápidamente los indicadores en la ventana móvil

El búfer circular es el modo más simple y al mismo tiempo más eficaz en la organización de datos para los cálculos en una ventana móvil. En este artículo se describe la estructura de este algoritmo, y se muestra cómo se puede hacer a través de él que el cálculo en la ventana móvil sea un proceso simple y eficaz.
Sistema secuencial de Tom DeMark (TD SEQUENTIAL) con uso de inteligencia artificial
Sistema secuencial de Tom DeMark (TD SEQUENTIAL) con uso de inteligencia artificial

Sistema secuencial de Tom DeMark (TD SEQUENTIAL) con uso de inteligencia artificial

En este artículo voy a contar sobre cómo se puede tradear con éxito aplicando la «hibridación» de una estrategia muy famosa y una red neuronal. Se trata de la estrategia de Tom DeMark «Sistema secuencial» (TD Sequential), con aplicación de la inteligencia artificial. Nosotros vamos a trabajar SÓLO con la primera parte de la estrategia, usando las señales «Disposición» y «Intersección».
Recetas MQL5 - Señales comerciales de pivotes
Recetas MQL5 - Señales comerciales de pivotes

Recetas MQL5 - Señales comerciales de pivotes

En este artículo se demuestra el proceso del desarrollo e implementación de la clase de señales a base de los pivote, niveles de reversa. A base de esta clase, se construye la estrategia con el uso de la librería estándar. Se consideran las posibilidades del desarrollo de la estrategia de pivotes mediante la adición de los filtros.
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.
Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)
Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)

Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)

Sigamos desarrollando el control «Campo de edición multilínea». Esta vez, nuestra tarea consiste en configurar el traslado automático de palabras a la siguiente línea si no encajan en el campo de edición, o el traslado inverso a la línea anterior si aparece esta posibilidad.
Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)
Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)

Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)

Seguimos añadiendo nuevas posibilidades a la tabla dibujada que nos permitirán hacer lo siguiente: ordenar los datos, controlar el número de columnas y filas, establecer el tipo de las celdas para adjuntar los controles.
preview
¡Visualice esto! La biblioteca gráfica en MQL5 como un análogo de plot en el lenguaje R

¡Visualice esto! La biblioteca gráfica en MQL5 como un análogo de plot en el lenguaje R

A la hora de investigar y estudiar patrones, la representación visual con la ayuda de gráficos juega un papel fundamental. En los lenguajes populares de programación en la comunidad científica, tales como R y Python, para la visualización se usa la función especial plot. Con su ayuda, es posible dibujar líneas, gráficos de dispersión e histogramas para visualizar patrones. En MQL5 usted puede hacer lo mismo con la ayuda de la clase CGraphics.
Interfaces gráficas X: Actualizaciones para la tabla dibujada y optimización del código (build 10)
Interfaces gráficas X: Actualizaciones para la tabla dibujada y optimización del código (build 10)

Interfaces gráficas X: Actualizaciones para la tabla dibujada y optimización del código (build 10)

Continuamos completar la tabla dibujada (CCanvasTable) con nuevas funcionalidades. Ahora la tabla va a contener las siguientes funciones: resalto de las filas al situar el cursor encima; posibilidad de agregar el array de imágenes para cada celda y el método para su conmutación; posibilidad de establecer y editar el texto de las cceldas durante la ejecución del programa, y muchas cosas más.
Modelado 3D en MQL5
Modelado 3D en MQL5

Modelado 3D en MQL5

Una serie temporal es un sistema dinámico en el que los valores de una cierta magnitud aleatoria llegan de forma consecutiva: ininterrumpidamente o tras un cierto intervalo temporal. El paso del análisis plano del mercado al análisis con volumen permitirá mirar de una forma nueva a los complejos procesos y manifestaciones que interesan al investigador. En el artículo se describen las funciones de visualización de la representación 3-D de datos bidimensionales.
Interfaces gráficas X: Nuevas posibilidades para la tabla dibujada (build 9)
Interfaces gráficas X: Nuevas posibilidades para la tabla dibujada (build 9)

Interfaces gráficas X: Nuevas posibilidades para la tabla dibujada (build 9)

Hasta este momento, el tipo más desarrollado de las tablas de la librería fue el tipo CTable. Esta tabla se reúne de los campos de edición tipo OBJ_EDIT y su desarrollo posterior ya resulta problemático. Por eso, desde el punto de vista de las posibilidades máximas incluso en esta fase del desarrollo de la librería, es mejor desarrollar la tabla dibujada tipo CCanvasTable. Su versión actual es absolutamente inerte, pero a partir de este artículo vamos a tratar de solucionar ese asunto.
Canal universal con interfaz gráfica
Canal universal con interfaz gráfica

Canal universal con interfaz gráfica

Todos los indicadores de canales están constituidos por tres líneas: una central, una superior y otra inferior. Según su principio de construcción la línea central es idéntica a una media móvil, y en la mayoría de los casos para construir el canal se usa precisamente una media móvil. Las líneas superior e inferior se ubican a la misma distancia de la central. Esta distancia se puede definir simplemente en puntos, en tanto por ciento del precio (indicador Envelopes), se pueden usar valores de desviación estándar (franjas de Bollinger) o los valores del indicador ATR (canal de Keltner).
Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)
Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)

Interfaces gráficas X: Control "Campo de edición del texto multilínea" (build 8)

Se considera el control «Campo de edición multilínea». A diferencia del objeto gráfico OBJ_EDIT, en esta versión no habrá limitación alguna para el número de los caracteres a introducir. Aparte de eso, se hace disponible el modo cuando el campo de edición se convierte en un sencillo editor de texto donde se puede mover el cursor usando el ratón o el teclado.
Interfaces gráficas X: Gestión ampliada de las listas y tablas. Optimización de código (build 7)
Interfaces gráficas X: Gestión ampliada de las listas y tablas. Optimización de código (build 7)

Interfaces gráficas X: Gestión ampliada de las listas y tablas. Optimización de código (build 7)

Es necesario optimizar el código de la librería: debe estar mejor ordenado, o sea, ser más comprensible y legible. Además de eso, vamos a continuar el desarrollo de los controles creados anteriormente: listas, tablas y barras de desplazamiento.
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.
Oscilador universal con interfaz gráfica
Oscilador universal con interfaz gráfica

Oscilador universal con interfaz gráfica

En el artículo se describe la creación de un indicador universal basado en todos los osciladores del terminal con una interfaz gráfica propia. Esto permitirá cambiar de forma rápida y cómoda los parámetros de cada oscilador por separado, directamente desde la ventana del gráfico (y sin abrir la ventana de propiedades), comparar sus índices y elegir el óptimo para usted para una tarea concreta.
Interfaces gráficas X: Control "Hora", control "Lista de las casillas de verificación" y ordenamiento (sort) de la tabla (build 6)
Interfaces gráficas X: Control "Hora", control "Lista de las casillas de verificación" y ordenamiento (sort) de la tabla (build 6)

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

Continuamos con el desarrollo de la librería para la creación de interfaces gráficas. Esta vez mostraremos los controles «Hora» y «Lista de las casillas de verificación». Aparte de eso, a la clase de la tabla tipo CTable se le ha sido añadida la posibilidad de organizar los datos en orden ascendiente y descendiente.
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ú.
LifeHack para tráders: Informe comparativo de varias simulaciones
LifeHack para tráders: Informe comparativo de varias simulaciones

LifeHack para tráders: Informe comparativo de varias simulaciones

En el artículo se analiza el inicio simultáneo de la simulación del asesor en cuatro símbolos diferentes. La comparación final de los cuatro informes de la simulación se realizará en un recuadro, como sucede al elegir los productos en una tienda online. Como bonus adicional, se muestran los gráficos de distribución creados de forma automática para cada símbolo.
Zigzag universal
Zigzag universal

Zigzag universal

El Zigzag es uno de los indicadores más populares entre los usuario de MetaTrader 5. En este artículo se han analizado las posibilidades de creación de diferentes versiones del Zigzag. Como resultado, obtenemos un indicador universal con amplias posibilidades para la ampliación de la funcionalidad, el cual es muy cómodo utilizar en el desarrollo de los Asesores Expertos y otros indicadores.
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.
Interfaces gráficas X: Campo de edición del texto, slider de imágenes y controles simples (build 5)
Interfaces gráficas X: Campo de edición del texto, slider de imágenes y controles simples (build 5)

Interfaces gráficas X: Campo de edición del texto, slider de imágenes y controles simples (build 5)

En este artículo vamos a analizar los controles nuevos, tales como: «Campo de edición del texto», «Slider de imágenes», así como los controles simples adicionales, «Etiqueta de texto» e «Imagen». La librería sigue desarrollándose, y además de la aparición de controles nuevos, se van mejorando los que ya han sido creados anteriormente.
Principios de programación en MQL5: Variables globales del terminal  MetaTrader 5
Principios de programación en MQL5: Variables globales del terminal  MetaTrader 5

Principios de programación en MQL5: Variables globales del terminal MetaTrader 5

Las variables globales del terminal es un medio imprescindible durante la programación de los Asesores Expertos complejos y seguros. Después de aprender a trabajar con las variables globales, ya no podrá imaginar la creación de los asesores expertos en MQL5 sin usarlas.
Principios de programación en MQL5: Archivos
Principios de programación en MQL5: Archivos

Principios de programación en MQL5: Archivos

Artículo y estudio práctico sobre el trabajo con archivos en MQL5. Lea el artículo, ejecute las sencillas tareas, y al final usted conseguirá no solo conocimientos teóricos, sino también habilidades prácticas para trabajar con archivos en MQL5.
LifeHack para tráders: Optimización "silenciosa" o Trazando la distribución de trades
LifeHack para tráders: Optimización "silenciosa" o Trazando la distribución de trades

LifeHack para tráders: Optimización "silenciosa" o Trazando la distribución de trades

Análisis de la historia comercial y la construcción de los gráficos HTML de distribuciónde de los resultados comerciales dependiendo de la hora de entrada en la posición. Los gráficos se representan en tres segmentos, por horas, días y meses.
Interfaces gráficas X: Control "Gráfico estándar" (build 4)
Interfaces gráficas X: Control "Gráfico estándar" (build 4)

Interfaces gráficas X: Control "Gráfico estándar" (build 4)

En este artículo vamos a analizar el control de la interfaz gráfica como «Gráfico estándar». Nos permitirá crear los arrays de objetos-gráficos con posibilidad del desplazamiento horizontal sincronizado del gráfico. Aparte de eso, continuaremos optimizando el código de la librería para reducir el consumo de los recursos de CPU.
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)

Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 3)

En este artículo se muestra la siguiente versión de la librería Easy And Fast (versión 3). Hemos corregido algunos fallos, así como hemos añadido nuevas posibilidades. Para más información, lea a continuación.
Comparando MQL5 y QLUA - ¿Por qué las operaciones comerciales en MQL5 son hasta 28 veces más rápidas?
Comparando MQL5 y QLUA - ¿Por qué las operaciones comerciales en MQL5 son hasta 28 veces más rápidas?

Comparando MQL5 y QLUA - ¿Por qué las operaciones comerciales en MQL5 son hasta 28 veces más rápidas?

Muchos tráders a menudo no reflexionan sobre la velocidad a la que su solicitud llega hasta la bolsa, cuánto tiempo tarda en ejecutarse una vez está allí, y en qué momento el terminal del tráder conoce finalmente el resultado de la operación comercial. Habíamos prometido comparar la velocidad de las operaciones comerciales, porque nadie había hecho antes que nosotros semejantes mediciones con la ayuda de los programas en MQL5 y QLUA.
Recetas MQL5 - Señales comerciales de los canales móviles
Recetas MQL5 - Señales comerciales de los canales móviles

Recetas MQL5 - Señales comerciales de los canales móviles

En el artículo se muestra el proceso de desarrollo e implemementación de una clase-señalizadora en base a los canales móviles. A cada versión de la señal le sigue una estrategia comercial con los resultados de la simulación. Para crear las clases derivadas se usan las ​​clases de Biblioteca estándar.
Cómo desarrollar y depurar rápidamente cualquier estrategia de scalping en MetaTrader 5
Cómo desarrollar y depurar rápidamente cualquier estrategia de scalping en MetaTrader 5

Cómo desarrollar y depurar rápidamente cualquier estrategia de scalping en MetaTrader 5

Los sistemas automáticos de scalping se consideran por derecho propio la cima del trading automático, y precisamente por ello, son a la vez los más complejos a la hora de escribir el código. En este artículo vamos a mostrar cómo se pueden construir estrategias basadas en el análisis de ticks entrantes con la ayuda de los recursos de depuración incorporados y de la simulación visual. Para desarrollar las reglas de entrada y salida con frecuencia se necesitan años de comercio manual. Pero con la ayuda de MetaTrader 5 usted podrá comprobar cualquier estrategia similar en la historia real.