Les fonctions pour le travail avec les indicateurs techniques

Toutes les fonctions du type iMA, iAC, iMACD, iIchimoku etc., créent une copie de l'indicateur technique correspondant dans la cache globale du  terminal de client. Si la copie de l'indicateur avec ces paramètres existe déjà, une nouvelle copie n'est pas créée, mais augmente le compteur des liens à la copie donnée.

Ces fonctions rendent le handle de la copie correspondante de l'indicateur. En utilisant ce handle on peut recevoir par la suite les données calculées par l'indicateur correspondant. On peut copier les données du tampon correspondant (les indicateurs techniques contiennent les données calculées dans les tampons intérieurs, que, en fonction de l'indicateur, peut être de 1 jusqu'à 5) au programme mql5 à l'aide de la fonction CopyBuffer().

On ne peut pas s'adresser aux données de l'indicateur à la fois après sa création, puisque on demande un certain temps sur le calcul des valeurs de l'indicateur, et c'est pour cela c'est mieux de créer les handles des indicateurs à OnInit(). La fonction iCustom() crée l'indicateur correspondant d'utilisateur et à la création réussie rend son handle. Les indicateurs d'utilisateur peuvent contenir jusqu'à 512 des tampons d'indicateur, dont le contenu peut être reçu à l'aide de la fonction CopyBuffer(), en utilisant le handle reçu.

Il y a une méthode universelle de la création de n'importe quel indicateur technique avec l'aide de la fonction IndicatorCreate(). Cette fonction reçoit à titre des paramètres d'entrée:

  • le nom du symbole;
  • le temps trame;
  • le type de l'indicateur créé;
  • le nombre de paramètres d'entrée de l'indicateur;
  • le tableau du type MqlParam, contenant tous les paramètres nécessaires d'entrée.

La mémoire informatique peut être libérée d'un indicateur qui n'est plus utilisé, en utilisant la fonction IndicatorRelease(), à laquelle le handle d'indicateur est transmise.

Note. L'appel multiple à la fonction de l'indicateur avec les mêmes paramètres dans la limite d'un programme mql5 n'amène pas à l'augmentation multiple du compteur des liens, le compteur sera augmenté seulement une fois sur 1. Il est recommandé de recevoir cependant les handles des indicateurs en fonction OnInit() ou dans le constructeur de la classe, avec l'utilisation ultérieure des handles reçus dans les autres fonctions. Les compteurs des liens diminue à la déinitialisation du programme mql5.

Toutes les fonctions d'indicateur ont au minimum 2 paramètres - le symbole et la période. La valeur du symbole NULL signifie l'instrument courant, la valeur de la période 0 signifie le temps trame courant.

Fonction

Rend le handle de l'indicateur:

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

l'indicateur d'utilisateur

iDEMA

Double Exponential Moving Average

iDeMarker

DeMarker

iEnvelopes

Envelopes

iForce

Force Index

iFractals

Fractals

iFrAMA

Fractal Adaptive Moving Average

iGatore

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