- ChartApplyTemplate
- ChartSaveTemplate
- ChartWindowFind
- ChartTimePriceToXY
- ChartXYToTimePrice
- ChartOpen
- ChartFirst
- ChartNext
- ChartClose
- ChartSymbol
- ChartPeriod
- ChartRedraw
- ChartSetDouble
- ChartSetInteger
- ChartSetString
- ChartGetDouble
- ChartGetInteger
- ChartGetString
- ChartNavigate
- ChartID
- ChartIndicatorAdd
- ChartIndicatorDelete
- ChartIndicatorGet
- ChartIndicatorName
- ChartIndicatorsTotal
- ChartWindowOnDropped
- ChartPriceOnDropped
- ChartTimeOnDropped
- ChartXOnDropped
- ChartYOnDropped
- ChartSetSymbolPeriod
- ChartScreenShot
ChartIndicatorGet
Возвращает хэндл индикатора с указанным коротким именем на указанном окне графика.
int ChartIndicatorGet(
|
Параметры
chart_id
[in] Идентификатор графика. 0 означает текущий график.
sub_window
[in] Номер подокна графика. 0 означает главное окно графика.
const indicator_shortname
[in] Короткое имя индикатора, которое задается в свойстве INDICATOR_SHORTNAME функцией IndicatorSetString(). Получить короткое имя индикатора можно функцией ChartIndicatorName().
Возвращаемое значение
Возвращает хэндл индикатора в случае успешного выполнения, иначе INVALID_HANDLE. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Примечание
Полученный с помощью функции ChartIndicatorGet() хендл индикатора увеличивает внутренний счетчик использования данного индикатора. Исполняющая система терминала держит загруженными все индикаторы, чей счетчик больше нуля. Поэтому ненужный больше хендл индикатора необходимо сразу и явно освобождать с помощью IndicatorRelease() в той же программе, которая его получила, как это показано в примере ниже. В противном случае найти "брошенный" хендл и освободить его корректно из другой программы не получится.
Необходимо правильно формировать короткое имя индикатора при его создании, которое с помощью функции IndicatorSetString() записывается в свойство INDICATOR_SHORTNAME. Рекомендуется, чтобы короткое имя содержало значения входных параметров индикатора, так как идентификация индикатора в функции ChartIndicatorGet() производится именно по короткому имени.
Другой способ идентификации индикатора – получить список его параметров по заданному хэндлу с помощью функции IndicatorParameters() и затем провести анализ полученных значений.
Пример:
//+------------------------------------------------------------------+
|
Смотри также
ChartIndicatorAdd(), ChartIndicatorName(), ChartIndicatorsTotal(), IndicatorParameters()