Funciones para trabajar con indicadores técnicos

Todas las funciones del tipo iMA, iAC, iMACD, iIchimoku etc. crean una copia del indicador técnico correspondiente en la caché global del terminal de cliente. Si la copia del indicador con estos parámetros ya existe, una copia nueva no se crea, sólo el contador de referencias a esta copia existente se aumenta.

Estas funciones devuelven el manejador (handle) de la copia del indicador correspondiente. En el futuro, si usamos este manejador, se puede recibir los datos calculados por el indicador correspondiente. Los datos del buffer correspondiente (los indicadores técnicos contienen los datos calculados en sus buffers internos el número de los cuales puede ser de 1 a 5, dependiendo de cada indicador) pueden ser copiados en un programa mql5 usando la función CopyBuffer().

No se puede acudir a los datos del indicador justo después de su creación porque el cálculo de valores de indicador requiere un tiempo, por eso es mejor crear los manejadores de indicadores en OnInit(). La función iCustom() crea el indicador personalizado correspondiente y devuelve su manejador en caso de crearlo con éxito. Los indicadores personalizados pueden contener de hasta 512 buffers de indicador, el contenido de los cuales también se puede obtener mediante la función CopyBuffer(), usando el manejador obtenido.

Existe un método universal para crear cualquier indicador técnico con la función IndicatorCreate(). Esta función acepta los siguientes parámetros de entrada:

  • nombre del símbolo;
  • período de tiempo;
  • tipo del indicador que se crea;
  • número de parámetros de entrada del indicador;
  • array del tipo MqlParam que contiene todos los parámetros de entrada necesarios.

Para liberar la memoria del ordenador de un indicador que ya no se usa existe la función IndicatorRelease() a la que se pasa el manejador de este indicador.

Nota. Llamada repetida a la función del indicador con los mismos parámetros dentro de un programa mql5 no llevará al aumento repetido del contador de referencias; el contador será aumentado sólo una vez a 1. Sin embargo, se recomienda obtener los manejadores de indicadores en la función OnInit() o en el constructor de clase, con su posterior uso en las demás funciones. El contador de referencias se disminuye cuando un programa mql5 se deinicializa.

Todas las funciones de indicador disponen como mínimo de 2 parámetros: símbolo y período. El valor del símbolo NULL significa el instrumento actual, el valor del período 0 significa el período de tiempo corriente.

Función

Devuelve el manejador del indicador:

iAC

Accelerator Oscillator

iAD

Accumulation/Distribution

iADX

Average Directional Index

iADXWilder

Average Directional Index by Welles Wilder

iAlligator

Alligator

iAMA

Adaptive Moving Average

iAO

Awesome Oscillator

iATR

Average True Range

iBearsPower

Bears Power

iBands

Bollinger Bands®

iBullsPower

Bulls Power

iCCI

Commodity Channel Index

iChaikin

Chaikin Oscillator

iCustom

indicador personalizado

iDEMA

Double Exponential Moving Average

iDeMarker

DeMarker

iEnvelopes

Envelopes

iForce

Force Index

iFractals

Fractals

iFrAMA

Fractal Adaptive Moving Average

iGator

Gator Oscillator

iIchimoku

Ichimoku Kinko Hyo

iBWMFI

Market Facilitation Index by Bill Williams

iMomentum

Momentum

iMFI

Money Flow Index

iMA

Moving Average

iOsMA

Moving Average of Oscillator (MACD histogram)

iMACD

Moving Averages Convergence-Divergence

iOBV

On Balance Volume

iSAR

Parabolic Stop And Reverse System

iRSI

Relative Strength Index

iRVI

Relative Vigor Index

iStdDev

Standard Deviation

iStochastic

Stochastic Oscillator

iTEMA

Triple Exponential Moving Average

iTriX

Triple Exponential Moving Averages Oscillator

iWPR

Williams' Percent Range

iVIDyA

Variable Index Dynamic Average

iVolumes

Volumes