- iAC
- iAD
- iADX
- iADXWilder
- iAlligator
- iAMA
- iAO
- iATR
- iBearsPower
- iBands
- iBullsPower
- iCCI
- iChaikin
- iCustom
- iDEMA
- iDeMarker
- iEnvelopes
- iForce
- iFractals
- iFrAMA
- iGator
- iIchimoku
- iBWMFI
- iMomentum
- iMFI
- iMA
- iOsMA
- iMACD
- iOBV
- iSAR
- iRSI
- iRVI
- iStdDev
- iStochastic
- iTEMA
- iTriX
- iWPR
- iVIDyA
- iVolumes
Функции для работы с техническими индикаторами
Все функции типа iMA, iAC, iMACD, iIchimoku и т.п., создают в глобальном кеше клиентского терминала копию соответствующего технического индикатора. Если копия индикатора с этими параметрами уже существует, то новая копия не создается, а увеличивается счетчик ссылок на данную копию.
Эти функции возвращают хэндл соответствующей копии индикатора. Используя этот хэндл в дальнейшем можно получать данные, рассчитанные соответствующим индикатором. Данные соответствующего буфера (технические индикаторы содержат рассчитанные данные в своих внутренних буферах, которых, в зависимости от индикатора, может быть от 1 до 5) можно копировать в mql5-программу при помощи функции CopyBuffer().
Нельзя обратиться к данным индикатора сразу после его создания, так как на расчет значений индикатора требуется некоторое время, и поэтому создавать хэндлы индикаторов лучше всего в OnInit(). Функция iCustom() создает соответствующий пользовательский индикатор и при успешном создании возвращает его хэндл. Пользовательские индикаторы могут содержать до 512 индикаторных буферов, содержимое которых также можно получать при помощи функции CopyBuffer(), используя полученный хэндл.
Существует универсальный метод создания любого технического индикатора с помощью функции IndicatorCreate(). Эта функция получает в качестве входных параметров:
- имя символа;
- таймфрейм;
- тип создаваемого индикатора;
- количество входных параметров индикатора;
- массив типа MqlParam, содержащий все необходимые входные параметры.
Для освобождения памяти компьютера от неиспользуемого больше индикатора служит функция IndicatorRelease(), которой передается хэндл этого индикатора.
Примечание. Многократное обращение к функции индикатора с одними и теми же параметрами в пределах одной mql5-программы не приводит к многократному увеличению счетчика ссылок, счетчик будет увеличен всего один раз на 1. Однако рекомендуется получать хэндлы индикаторов в функции OnInit() или в конструкторе класса, с последующим использованием полученных хэндлов в остальных функциях. Счетчик ссылок уменьшается при деинициализации mql5-программы.
Все индикаторные функции имеют как минимум 2 параметра - символ и период. Значение символа NULL означает текущий инструмент, значение периода 0 означает текущий таймфрейм.
Функция |
Возвращает хэндл индикатора: |
---|---|
Accelerator Oscillator |
|
Accumulation/Distribution |
|
Average Directional Index |
|
Average Directional Index by Welles Wilder |
|
Alligator |
|
Adaptive Moving Average |
|
Awesome Oscillator |
|
Average True Range |
|
Bears Power |
|
Bollinger Bands® |
|
Bulls Power |
|
Commodity Channel Index |
|
Chaikin Oscillator |
|
пользовательский индикатор |
|
Double Exponential Moving Average |
|
DeMarker |
|
Envelopes |
|
Force Index |
|
Fractals |
|
Fractal Adaptive Moving Average |
|
Gator Oscillator |
|
Ichimoku Kinko Hyo |
|
Market Facilitation Index by Bill Williams |
|
Momentum |
|
Money Flow Index |
|
Moving Average |
|
Moving Average of Oscillator (MACD histogram) |
|
Moving Averages Convergence-Divergence |
|
On Balance Volume |
|
Parabolic Stop And Reverse System |
|
Relative Strength Index |
|
Relative Vigor Index |
|
Standard Deviation |
|
Stochastic Oscillator |
|
Triple Exponential Moving Average |
|
Triple Exponential Moving Averages Oscillator |
|
Williams' Percent Range |
|
Variable Index Dynamic Average |
|
Volumes |