Visión general de los indicadores integrados

El terminal proporciona un amplio conjunto de indicadores populares, que también están disponibles a través de la API. Por lo tanto, no es necesario implementar sus algoritmos en MQL5. Estos indicadores se crean utilizando funciones integradas similares a iCustom. Por ejemplo, anteriormente creamos nuestras propias versiones de los indicadores WPR y Media Móvil Triple EMA con fines educativos. Sin embargo, los indicadores correspondientes pueden utilizarse directamente a través de las funciones iWPR y iTEMA. Todos los indicadores disponibles figuran en la tabla de más abajo.

Todos los indicadores integrados toman una cadena con un símbolo de trabajo y un marco temporal como los primeros dos parámetros, y también devuelven un número entero que es el descriptor del indicador. En general, el prototipo de todas las funciones tiene este aspecto:

int iFunction(const string symbol, ENUM_TIMEFRAMES timeframe, ...)

En lugar de una elipsis, siguen los parámetros específicos de un indicador concreto. Su número y tipos difieren. Algunos indicadores no tienen parámetros.

Por ejemplo, WPR tiene un parámetro, como en nuestra versión casera, un periodo: int iWPR(const string symbol, ENUM_TIMEFRAMES timeframe, int period). Y el indicador fractal integrado, a diferencia de nuestra versión, no tiene parámetros especiales: int iFractals(const string symbol, ENUM_TIMEFRAMES period). En este caso, el orden de los fractales está codificado y es igual a 2, es decir, antes del extremo (superior o inferior) y después de él, debe haber al menos dos barras con precios high y low menos pronunciados, respectivamente.

Se permite establecer el valor NULL en lugar de un símbolo. NULL significa el símbolo de trabajo del gráfico actual, y el valor 0 del parámetro timeframe corresponde al marco temporal actual del gráfico, ya que también es el valor PERIOD_CURRENT de la enumeración ENUM_TIMEFRAMES (véase la sección Símbolos y marcos temporales).

También hay que tener en cuenta que los distintos tipos de indicadores tienen distintos números de búferes. Por ejemplo, una media móvil o WPR sólo tiene un búfer, mientras que los fractales tienen dos. El número de búferes también se indica en la tabla en una columna aparte.

Función

Nombre del indicador

Opciones

Búferes

iAC

Oscilador Acelerador

1*

iAD

Acumulación / Distribución

ENUM_APPLIED_VOLUME volume

1*

iADX

Índice direccional medio

int period

3*

iADXWilder

Índice direccional medio de Welles Wilder

int period

3*

iAlligator

Alligator

int jawPeriod, int jawShift, int teethPeriod,int teethShift, int lipsPeriod, int lipsShift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price

3

iAMA

Media móvil adaptativa

int period, int fast, int slow, int shift, ENUM_APPLIED_PRICE price

1

iAO

Oscilador Impresionante

1*

iATR

Rango medio verdadero

int period

1*

iBands

Bandas de Bollinger

int period, int shift, double deviation, ENUM_APPLIED_PRICE price

3

iBearsPower

Bears Power

int period

1*

iBullsPower

Bulls Power

int period

1*

iBWMFI

Índice de Facilitación del Mercado de Bill Williams

ENUM_APPLIED_VOLUME volume

1*

iCCI

Índice del Canal de Materias Primas

int period, ENUM_APPLIED_PRICE price

1*

iChaikin

Oscilador Chaikin

int fast, int slow, ENUM_MA_METHOD method, ENUM_APPLIED_VOLUME volume

1*

iDEMA

Media móvil exponencial doble

int period, int shift, ENUM_APPLIED_PRICE price

1

iDeMarker

DeMarker

int period

1*

iEnvelopes

Envelopes

int period, int shift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price, double deviation

2

iForce

Índice de Fuerza

int period, ENUM_MA_METHOD method, ENUM_APPLIED_VOLUME volume

1*

iFractals

Fractales

2

iFrAMA

Media móvil adaptativa fractal

int period, int shift, ENUM_APPLIED_PRICE price

1

iGator

Oscilador Gator

int jawPeriod, int jawShift, int teethPeriod, int teethShift, int lipsPeriod, int lipsShift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price

4*

iIchimoku

Ichimoku Kinko Hyo

int tenkan, int kijun, int senkou

5

iMomentum

Momentum

int period, ENUM_APPLIED_PRICE price

1*

iMFI

Índice de flujo de dinero

int period, ENUM_APPLIED_VOLUME volume

1*

iMA

Media móvil

int period, int shift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price

1

iMACD

Convergencia/Divergencia de Medias Móviles

int fast, int slow, int signal, ENUM_APPLIED_PRICE price

2*

iOBV

Volumen de balance

ENUM_APPLIED_VOLUME volume

1*

iOsMA

Media móvil del oscilador (histograma MACD)

int fast, int slow, int signal, ENUM_APPLIED_PRICE price

1*

iRSI

Índice de Fuerza Relativa

int period, ENUM_APPLIED_PRICE price

1*

iRVI

Índice de Vigor Relativo

int period

1*

iSAR

Sistema parabólico de parada y reversión

doble paso, doble máximo

1

iStdDev

Desviación típica

int period, int shift, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price

1*

iStochastic

Oscilador estocástico

int Kperiod, int Dperiod, int slowing, ENUM_MA_METHOD method, ENUM_APPLIED_PRICE price

2*

iTEMA

Media móvil exponencial triple

int period, int shift, ENUM_APPLIED_PRICE price

1

iTriX

Oscilador de medias móviles exponenciales triples

int period, ENUM_APPLIED_PRICE price

1*

iVIDyA

Media Móvil con Periodo de Promediación Dinámico

int momentum, int smooth, int shift, ENUM_APPLIED_PRICE price

1

iVolumes

Volúmenes

ENUM_APPLIED_VOLUME volume

1*

iWPR

Rango Porcentual de Williams

int period

1*

En la columna de la derecha se indican con un asterisco los indicadores con ventana propia * (aparecen debajo del gráfico principal).

Los parámetros más utilizados son los que definen los periodos de los indicadores (period, fast, slow y otras variaciones), así como la línea shift: cuando es positiva, los trazados se desplazan hacia la derecha; cuando es negativa se desplazan hacia la izquierda un número determinado de barras.

Muchos parámetros tienen tipos de enumeración de aplicación: ENUM_APPLIED_PRICE, ENUM_APPLIED_VOLUME, ENUM_MA_METHOD. Ya nos familiarizamos con ENUM_APPLIED_PRICE en la sección Enumeraciones. Todos los tipos disponibles se presentan a continuación en tablas con descripciones.

Identificador

Descripción

Valor

PRICE_CLOSE

Precio de cierre de la barra

1

PRICE_OPEN

Precio de apertura de la barra

2

PRICE_HIGH

Precio alto de la barra

3

PRICE_LOW

Precio bajo de la barra

4

PRICE_MEDIAN

Precio medio, (alto+bajo)/2

5

PRICE_TYPICAL

Precio típico, (alto+bajo+cierre)/3

6

PRICE_WEIGHTED

Precio medio ponderado, (alto+bajo+cierre+cierre)/4

7

Los indicadores que trabajan con volúmenes pueden operar con volúmenes de ticks (de hecho, se trata de un contador de ticks) o con volúmenes reales (suelen estar disponibles sólo para instrumentos bursátiles). Ambos tipos se resumen en el enum ENUM_APPLIED_VOLUME.

Identificador

Descripción

Valor

VOLUMEN_TICK

Volumen de ticks

0

VOLUME_REAL

Volumen de trading

1

Muchos indicadores técnicos suavizan (o promedian) las series temporales. El terminal admite los cuatro métodos de suavizado más comunes, que se especifican en MQL5 utilizando los elementos de la enumeración ENUM_MA_METHOD.

Identificador

Descripción

Valor

MODE_SMA

Promedio simple

0

MODE_EMA

Promedio exponencial

1

MODE_SMMA

Promedio suavizado

2

MODE_LWMA

Promedio ponderado lineal

3

Para el indicador Estocástico, cuyo ejemplo analizaremos en la siguiente sección, existen dos opciones de cálculo: por precios Close o por precios High/Low. Estos valores se proporcionan en la enumeración especial ENUM_STO_PRICE.

Identificador

Descripción

Valor

STO_LOWHIGH

Cálculo por precios bajos/altos

0

STO_CLOSECLOSE

Cálculo por precios de cierre/cierre

1

El propósito y la numeración de los búferes para aquellos indicadores que tienen más de un búfer se muestran en la siguiente tabla.

Indicadores

Constantes

Descripciones

Valor

ADX, ADXW

 

MAIN_LINE

Línea principal

0

 

PLUSDI_LINE

Línea +DI

1

 

MINUSDI_LINE

Línea -DI

2

iAlligator

 

GATORJAW_LINE

Línea de mandíbula

0

 

GATORTEETH_LINE

Línea de dientes

1

 

GATORLIPS_LINE

Línea de labios

2

iBands

 

BASE_LINE

Línea principal

0

 

UPPER_BAND

Banda superior

1

 

LOWER_BAND

Banda inferior

2

iEnvelopes, iFractals

 

UPPER_LINE

Línea superior

0

 

LOWER_LINE

Línea inferior

1

iGator

 

UPPER_HISTOGRAM

Histograma superior

0

 

LOWER_HISTOGRAM

Histograma inferior

2

iIchimoku

 

TENKANSEN_LINE

Línea Tenkan-sen

0

 

KIJUNSEN_LINE

Línea Kijun-sen

1

 

SENKOUSPANA_LINE

Línea Senkou Span A

2

 

SENKOUSPANB_LINE

Línea Senkou Span B

3

 

CHIKOUSPAN_LINE

Línea Chikou span

4

iMACD, iRVI, iStochastic

 

MAIN_LINE

Línea principal

0

 

SIGNAL_LINE

Línea de señalización

1

Las fórmulas para calcular todos los indicadores figuran en Documentación de MetaTrader 5 .

Encontrará información técnica completa sobre la llamada a funciones indicadoras, incluidos ejemplos de códigos fuente, en Documentación MQL5. Más adelante veremos algunos ejemplos en este libro.