- Направление индексации в массивах и таймсериях
- Организация доступа к данным
- SeriesInfoInteger
- Bars
- BarsCalculated
- IndicatorCreate
- IndicatorParameters
- IndicatorRelease
- CopyBuffer
- CopyRates
- CopySeries
- CopyTime
- CopyOpen
- CopyHigh
- CopyLow
- CopyClose
- CopyTickVolume
- CopyRealVolume
- CopySpread
- CopyTicks
- CopyTicksRange
- iBars
- iBarShift
- iClose
- iHigh
- iHighest
- iLow
- iLowest
- iOpen
- iTime
- iTickVolume
- iRealVolume
- iVolume
- iSpread
IndicatorCreate
Возвращает хэндл указанного технического индикатора, созданного на основе массива параметров типа MqlParam.
int IndicatorCreate(
|
Параметры
symbol
[in] Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
period
[in] Значение периода может быть одним из значений перечисления ENUM_TIMEFRAMES, 0 означает текущий таймфрейм.
indicator_type
[in] Тип индикатора, может принимать одно из значений перечисления ENUM_INDICATOR.
parameters_cnt
[in] Количество параметров, передаваемых в массиве parameters_array[]. Элементы массива имеют специальный тип структуры MqlParam. По умолчанию нулевое значение - параметры не передаются. Если указано ненулевое количество параметров, то параметр parameters_array является обязательным. Можно передавать не более 64 параметров.
parameters_array[]=NULL
[in] Массив типа MqlParam, элементы которого содержат тип и значение каждого входного параметра технического индикатора.
Возвращаемое значение
Возвращает хэндл указанного технического индикатора, в случае неудачи возвращает INVALID_HANDLE.
Примечание
Если создается хэндл индикатора типа IND_CUSTOM, то поле type первого элемента массива входных параметров parameters_array обязательно должен иметь значение TYPE_STRING из перечисления ENUM_DATATYPE, а поле string_value первого элемента должно содержать имя пользовательского индикатора. Пользовательский индикатор должен быть скомпилирован (файл с расширением EX5) и находиться в директории MQL5/Indicators клиентского терминала или вложенной поддиректории.
Необходимые для тестирования индикаторы определяются автоматически из вызова функций iCustom(), если соответствующий параметр задан константной строкой. Для остальных случаев (использование функции IndicatorCreate() или использование неконстантной строки в параметре, задающем имя индикатора) необходимо указать свойство #property tester_indicator:
#property tester_indicator "indicator_name.ex5" |
Если в пользовательском индикаторе используется первая форма вызова, то при передаче входных параметров последним параметром можно дополнительно указать на каких данных он будет рассчитываться. Если параметр "Apply to" не указан явно, то по умолчанию расчет производится по значениям PRICE_CLOSE.
Пример:
void OnStart()
|