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

icon

Los indicadores técnicos son las herramientas más sencillas y las más útiles para llevar a cabo el análisis de los gráficos de precios. Esta sección contiene los artículos educativos que le ayudarán a aprender el lenguaje MQL5 paso a paso. Usted podrá reproducir tanto los indicadores clásicos del análisis técnico, como aprender a crear los indicadores personalizados.

Los artículos contienen la explicación detallada de todos los códigos fuente que van adjuntos. Usted puede descargarlos en MetaEditor e ir programando junto con el autor durante la lectura.

Nuevo artículo
últimas | mejores
Dibujar los canales; visión interna y externa
Dibujar los canales; visión interna y externa

Dibujar los canales; visión interna y externa

Supongo que no es ninguna exageración decir que los canales representan la segunda herramienta más popular para el análisis del mercado y la toma de decisiones de trading por detrás de los promedios móviles. Sin profundizar demasiado en los detalles de las estrategias de trading que usan los canales y sus componentes, vamos a hablar de la base matemática y práctica de la implementación de un indicador, que dibuja un canal definido por tres extremos en la pantalla del terminal de cliente.
Interfaces gráficas II: Control "Menú principal" (Capítulo 4)
Interfaces gráficas II: Control "Menú principal" (Capítulo 4)

Interfaces gráficas II: Control "Menú principal" (Capítulo 4)

Es el artículo final de la segunda parte de la serie sobre las interfaces gráficas. Aquí vamos a considerar la creación del control “Menú principal”. Se demostrará el proceso de su desarrollo y la configuración de los manejadores de las clases de la librería para una correcta reacción a las acciones del usuario. Además, hablaremos de los modos de conexión de los menús contextuales a los elementos del menú principal. Aparte de eso, trataremos la cuestión del bloqueo de los controles inactivos en el momento actual.
Aplicación Práctica de Bases de Datos para Análisis de Mercados
Aplicación Práctica de Bases de Datos para Análisis de Mercados

Aplicación Práctica de Bases de Datos para Análisis de Mercados

Trabajar con datos se ha convertido en la principal tarea para el software moderno, tanto para aplicaciones independientes como para aplicaciones de red. Para resolver este problema se creó un software especializado. Se trata de los Sistemas de Gestión de Bases de Datos (Database Management Systems o DBMS), que pueden estructurar datos para su almacenamiento en el ordenador y su procesamiento. En lo que se refiere a trading, la mayoría de analistas no usan bases de datos en su trabajo. Pero hay tareas donde esta solución resultaría muy práctica. Este artículo facilita un ejemplo de indicadores que puede guardar y cargar datos de bases de datos tanto con arquitecturas de servidor de cliente como de servidor de archivos.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 43): Las clases de los objetos de búferes de indicador
Trabajando con las series temporales en la biblioteca DoEasy (Parte 43): Las clases de los objetos de búferes de indicador

Trabajando con las series temporales en la biblioteca DoEasy (Parte 43): Las clases de los objetos de búferes de indicador

En el artículo, analizaremos la creación de las clases de los objetos de búfer de indicador como herederas del objeto de búfer abstracto, simplificando la declaración y el trabajo con los búferes de indicador al crear programas-indicadores propios basados en la biblioteca DoEasy.
Gráfico líquido
Gráfico líquido

Gráfico líquido

¿Qué aspecto tiene un gráfico H1 cuyas barras se abren desde el segundo o el quinto minuto de la hora? ¿Qué aspecto tiene un gráfico redibujable cuyas horas de apertura de las barras se cambian cada minuto? ¿Qué ventajas ofrece el trading en este tipo de gráficos? En este artículo puede encontrar las respuestas a estas preguntas.
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)
Interfaces gráficas X: Actualizaciones para la librería Easy And Fast (build 2)

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

Desde la anterior publicación del artículo de esta serie, la librería Easy And Fast ha adquirido nuevas posibilidades. Ha sido hecha la optimización parcial del esquema y del código de la librería, eso ha reducido un poco el consumo de recursos de la CPU. Algunos métodos que se repiten con frecuencia en muchas clases de los controles han sido traspasados a la clase base CElement.
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.
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).
Usando los recursos computacionales de MATLAB 2018 en MetaTrader 5
Usando los recursos computacionales de MATLAB 2018 en MetaTrader 5

Usando los recursos computacionales de MATLAB 2018 en MetaTrader 5

Tras la modernización del paquete MATLAB en 2015, es necesario analizar el método moderno de creación de bibliotecas DLL. Usando como ejemplo un indicador de pronóstico, en el artículo se ilustran las peculiaridades de la vinculación de MetaTrader 5 y MATLAB al utilizar las versiones modernas de 64 bits de la plataforma. El análisis de todas las posibilidades de conexión de MATLAB permitirá al desarrollador de MQL5 crear más rápido aplicaciones con recursos computacionales ampliados, evitando tropezones indeseables.
Cree su propia Observación del Mercado usando las clases de la librería estándar
Cree su propia Observación del Mercado usando las clases de la librería estándar

Cree su propia Observación del Mercado usando las clases de la librería estándar

El nuevo terminal de cliente de MetaTrader 5 y el lenguaje MQL5 proporcionan nuevas oportunidades al operador para la representación visual de información. En este artículo proponemos un conjunto universal y extensible de clases que controlan todo el trabajo que requiere organizar la representación en pantalla de la información sobre los gráficos. Se incluye el ejemplo del indicador Observación del Mercado.
Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)
Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)

Interfaces gráficas IX: Control "Paleta para seleccionar el color" (Capítulo 1)

Con este artículo se abre la novena parte de la serie sobre el desarrollo de la librería para la creación de las interfaces gráficas en el entorno de los terminales de trading MetaTrader. Se compone de dos partes en las que se muestran nuevos controles y elementos de la interfaz: «Paleta para seleccionar el color», «Botón para abrir la paleta de colores», «Indicador de progreso» y «Gráfico lineal».
Desarrollando los Asesores Expertos multimódulo
Desarrollando los Asesores Expertos multimódulo

Desarrollando los Asesores Expertos multimódulo

El lenguaje de programación MQL permite implementar el concepto del diseño modular de las estrategias comerciales. En este artículo, se muestra el ejemplo del desarrollo del Asesor Experto multimódulo compuesto de los módulos de archivos compilados separadamente.
Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)
Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)

Interfaces gráficas IV: Modo de ventanas múltiples y sistema de prioridades (Capítulo 2)

En este artículo vamos a ampliar la implementación de la librería hasta conseguir la posibilidad de crear las interfaces de ventanas múltiples para nuestras aplicaciones MQL. Aparte de eso, desarrollaremos el sistema de las prioridades para el clic izquierdo del ratón en los objetos gráficos. Lo vamos a necesitar para no tener problemas cuando los controles no responden inesperadamente a las acciones del usuario.
Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte I). Preparación - descripción de la estructura y clase de funciones auxiliares
Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte I). Preparación - descripción de la estructura y clase de funciones auxiliares

Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte I). Preparación - descripción de la estructura y clase de funciones auxiliares

En este artículo, comenzaremos a describir el conjunto para el marcado gráfico con la ayuda de atajos de teclado. Es un herramienta muy cómoda: con solo pulsar un botón, aparecerá una línea de tendencia, el abanico de Fibonacci con los parámetros necesarios, etcétera. Asimismo, tendremos la posibilidad de alternar marcos temporales, cambiar el orden de las "capas" de los objetos o eliminar todos los objetos de un gráfico.
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.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 40): Indicadores basados en la biblioteca - actualización de datos en tiempo real
Trabajando con las series temporales en la biblioteca DoEasy (Parte 40): Indicadores basados en la biblioteca - actualización de datos en tiempo real

Trabajando con las series temporales en la biblioteca DoEasy (Parte 40): Indicadores basados en la biblioteca - actualización de datos en tiempo real

En el artículo, vamos a analizar la creación de un indicador multiperiodo basado en la biblioteca DoEasy. Asimismo, vamos a mejorar las clases de las series temporales para obtener los datos de cualquier marco temporal y representarlos en el periodo actual del gráfico.
Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)
Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)

Interfaces gráficas III: Grupos de botones simples y multifuncionales (Capítulo 2)

El primer capítulo de la tercera pare de la serie estaba dedicada a los botones simples y multifuncionales. En el segundo capítulo hablaremos de los grupos de botones interconectados que permiten crear los controles, cuando el usuario puede elegir una opción de un determinado conjunto (grupo).
preview
Explorando opciones para crear velas multicolores

Explorando opciones para crear velas multicolores

En este artículo, abordaremos las distintas posibilidades de crear indicadores personalizados con velas, señalando sus correspondientes ventajas y desventajas.
preview
Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte II). Haciendo el marcado

Conjunto de instrumentos para el marcado manual de gráficos y comercio (Parte II). Haciendo el marcado

Este artículo continúa el ciclo en el que mostramos la creación de una biblioteca capaz de marcar gráficos manualmente utilizando atajos de teclado. El marcado se realiza con líneas rectas y combinaciones de estas. Esta parte habla directamente sobre el propio dibujado utilizando las funciones descritas en la primera parte. La biblioteca se puede conectar a cualquier asesor experto o indicador, lo cual simplifica sustancialmente las tareas de marcado. Esta solución NO UTILIZA dlls externas: todos los comandos se implementan usando las herramientas integradas de MQL.
Interfaces gráficas I: Formulario para controles (Capítulo 2)
Interfaces gráficas I: Formulario para controles (Capítulo 2)

Interfaces gráficas I: Formulario para controles (Capítulo 2)

En este artículo vamos a crear el primero y el más importante elemento de las interfaces gráficas: formulario para los controles. A este formulario se le puede adjuntar múltiples controles de diferentes tipos en cualquier orden y secuencia.
Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)
Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)

Interfaces gráficas VI: Controles "Slider" y "Slider doble" (Capítulo 2)

En el artículo anterior nuestra librería ha sido completada con cuatro controles bastante frecuentes en las interfaces gráficas: “checkbox”, “campo de edición”, “campo de edición con checkbox” y “combobox con checkbox”. El segundo capítulo de la sexta parte estará dedicado a los controles como Slider y Slider doble.
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.
Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)
Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)

Interfaces gráficas IX: Elementos "Indicador de progreso" y "Gráfico lineal" (Capítulo 2)

El segundo capítulo de la novena parte de la serie estará dedicada a los elementos «Indicador de progreso» y «Gráfico lineal». Como siempre mostraremos los ejemplos detallados de cómo puede usar estos elementos en sus aplicaciones MQL.
Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)
Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)

Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1)

En la segunda parte de la serie demostraremos el proceso del desarrollo de los controles como el menú principal y el menú contextual. Además, trataremos la cuestión del dibujo de los controles, y para ello vamos a crear una clase especial. También aclararemos detalladamente la cuestión de la gestión de los eventos del programa, inclusive los eventos del usuario.
Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana
Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana

Guía práctica de MQL5: Supervisar múltiples períodos de tiempo en una sola ventana

MetaTrader 5 ofrece 21 períodos de tiempo para el análisis. Puede aprovechar los objetos gráficos especiales que puede colocar en el gráfico existente y establecer el símbolo, el período de tiempo y otras propiedades. En este artículo se va a proporcionar una información detallada acerca de estos objetos gráficos: crearemos un indicador con controles (botones) que nos permitirán establecer múltiples objetos gráficos en una subventana al mismo tiempo. Además, se encajarán los objetos gráficos con precisión en la subventana y se ajustarán automáticamente al modificar el tamaño del gráfico principal o el de la ventana del terminal.
Implementación práctica de filtros digitales en MQL5 para principiantes
Implementación práctica de filtros digitales en MQL5 para principiantes

Implementación práctica de filtros digitales en MQL5 para principiantes

La idea del filtrado de señales digitales ha sido ampliamente discutida en foros sobre el tema de la elaboración de sistemas de trading. Y sería imprudente no crear un código estándar de filtros digitales en MQL5. En este artículo el autor describe la transformación de código simple de indicadores SMA de su artículo "Indicadores personalizados en MQL5 para principiantes", en el código de un filtro digital más complejo y universal. Este artículo es consecuencia del artículo anterior. También trata sobre cómo reemplazar texto en el código y cómo corregir errores de programación.
Construir un analizador de espectro
Construir un analizador de espectro

Construir un analizador de espectro

Este artículo pretende que sus lectores se familiaricen con una posible variante del uso de los objetos gráficos en el lenguaje MQL5. Analiza un indicador que implementa un panel para la gestión de un analizador de espectro simple usando objetos gráficos. El artículo va dirigido a los lectores que están familiarizados con los conceptos básicos de MQL5.
MQL5 para principiantes, protección antivandálica de los objetos gráficos
MQL5 para principiantes, protección antivandálica de los objetos gráficos

MQL5 para principiantes, protección antivandálica de los objetos gráficos

¿Qué haría si de repente se borraran los paneles gráficos de control, o alguien los modificara? En este artículo enseñamos a evitar las situaciones donde el gráfico se puede quedar con objectos sin dueño. Las controlaremos cuando, tras eliminar la aplicación, los objetos se renombran o se borran programáticamente.
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.
preview
Múltiples indicadores en un gráfico (Parte 01): Entendiendo los conceptos

Múltiples indicadores en un gráfico (Parte 01): Entendiendo los conceptos

Entienda cómo se puede agregar varios indicadores al mismo tiempo sin ocupar un área diferente de su gráfico. A mucha gente le gusta y se siente más segura operando cuando observa varios indicadores al mismo tiempo, por ejemplo, RSI, ESTOCÁSTICO, MACD, ADX, entre otros, y en algunos casos incluso diferentes activos que componen un índice determinado.
Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)
Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)

Interfaces gráficas II: Configuración de los manejadores de eventos de la librería (Capítulo 3)

En los artículos anteriores hemos implementado las clases para la creación de todas las partes integrantes del menú principal. Ha llegado el momento para conocer los manejadores de eventos en las clases base principales y en las clases de los controles creados. Se presta una atención especial a la gestión del estado del gráfico dependiendo de la posición del cursor del ratón.
Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)
Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)

Interfaces gráficas II: Controles "Línea separadora" y "Menú contextual" (Capítulo 2)

En este artículo nos ocuparemos de la creación del control llamado “Línea separadora”. Se podrá utilizarlo no sólo como un elemento independiente de la interfaz, sino también como parte de otros controles. Después de eso, tendremos todo lo necesario para desarrollar la clase del menú contextual, que también será considerado al detalle en el presente artículo. Además, vamos a introducir adiciones necesarias en la clase que sirve de base para almacenar los punteros a todos los controles de la interfaz gráfica de la aplicación.
Interfaces gráficas VII: Control "Tablas" (Capítulo 1)
Interfaces gráficas VII: Control "Tablas" (Capítulo 1)

Interfaces gráficas VII: Control "Tablas" (Capítulo 1)

En la séptima parte de la serie de los artículos sobre las interfaces gráficas en los terminales MetaTrader serán presentados tres tipos de tablas: tabla a base de las etiquetas de texto, tabla a base de los campos de edición y tabla dibujada. Otro control importante que se usa con bastante frecuencia son las pestañas a través de los cuales se puede ocultar o mostrar los grupos de otros controles. Eso permite al usuario diseñar las interfaces gráficas muy compactas en sus aplicaciones MQL.
LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación
LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación

LifeHack para tráders: indicadores de balance, reducción, carga y ticks durante la simulación

¿Cómo convertir la simulación en algo más visual? La respuesta es sencilla: hay que usar en el simulador uno o varios indicadores, un indicador de ticks, un indicador de balance y equidad, un indicador de reducción y carga del depósito. Esto permitirá realizar un seguimiento visual de la naturaleza de los ticks, o de los cambios de balance y equidad, o de la reducción y la carga del depósito.
preview
Indicadores no lineales

Indicadores no lineales

En este artículo, intentaremos analizar algunas formas de construir indicadores no lineales, así como su uso en el trading. Existen bastantes indicadores en la plataforma comercial MetaTrader que utilizan enfoques no lineales.
Interfaces gráficas I: "Animar" la interfaz gráfica (Capítulo 3)
Interfaces gráficas I: "Animar" la interfaz gráfica (Capítulo 3)

Interfaces gráficas I: "Animar" la interfaz gráfica (Capítulo 3)

En el artículo anterior de esta serie hemos empezado a desarrollar la clase del formulario para los controles. En este artículo continuaremos el desarrollo de la clase llenándola con los métodos para el desplazamiento del formulario dentro del área del gráfico, así como integraremos este elemento de la interfaz en el núcleo de la librería. Además de eso, configuraremos todo de tal manera que, al situar el cursor sobre los controles del formulario, éstos cambien su color.
Los principios del cálculo económico de los indicadores
Los principios del cálculo económico de los indicadores

Los principios del cálculo económico de los indicadores

Las llamadas a los usuarios y a los indicadores técnicos requieren muy poco espacio en el código del programa de los sistemas de trading automatizados. Se trata a menudo de pocas líneas de código. Pero con frecuencia, son estas pocas líneas de código las que requieren la mayor parte del tiempo, destinada a probar el Expert Advisor. Por lo tanto, hay que tener en cuenta mucho más de lo parecía al principio todo lo que está relacionado con los cálculos de datos en un indicador. Este artículo trata justamente esta cuestión.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 41): Ejemplo de indicador de símbolo y periodo múltiples
Trabajando con las series temporales en la biblioteca DoEasy (Parte 41): Ejemplo de indicador de símbolo y periodo múltiples

Trabajando con las series temporales en la biblioteca DoEasy (Parte 41): Ejemplo de indicador de símbolo y periodo múltiples

En el artículo, analizaremos un ejemplo de creación de un indicador de símbolo y periodo múltiples usando las clases de las series temporales de la biblioteca DoEasy. Dicho indicador representará en la subventana el gráfico de la pareja de divisas seleccionada con el marco temporal seleccionado en forma de velas japonesas. Asimismo, mejoraremos las clases de la biblioteca y crearemos un archivo aparte para guardar las enumeraciones para los parámetros de entrada de los programas y la selección del lenguaje de compilación.
preview
Qué podemos hacer con la ayuda de medias móviles

Qué podemos hacer con la ayuda de medias móviles

En este artículo, hemos recopilado algunos usos del indicador de media móvil. Si se requiere un análisis de curvas, para casi todos los métodos se han hecho indicadores que permiten visualizar una idea útil. En la mayoría de los casos, las ideas se han tomado prestadas de otros autores, pero, en conjunto, suelen ayudar a ver las tendencias principales con mayor precisión y, con suerte, a tomar mejores decisiones comerciales. Nivel de conocimiento de MQL5: inicial.
Guía práctica de MQL5: Controles de la subventana del indicador: Barra de desplazamiento
Guía práctica de MQL5: Controles de la subventana del indicador: Barra de desplazamiento

Guía práctica de MQL5: Controles de la subventana del indicador: Barra de desplazamiento

Vamos a continuar explorando los diversos controles y esta vez nos centraremos en la barra de desplazamiento. Al igual que en el artículo anterior llamado "Guía práctica de MQL5: Controles de la subventana del indicador: Botones", todas las operaciones se llevarán a cabo en la subventana del indicador. Tome un momento para leer el artículo mencionado anteriormente, ya que proporciona una descripción detallada de la utilización de eventos en la función OnChartEvent(), asimismo, se verá este punto muy por encima en este artículo. Con fines ilustrativos, esta vez vamos a crear una barra de desplazamiento vertical para una larga lista de todas las propiedades de los instrumentos financieros que se puedan obtener mediante los recursos de MQL5.