Продвинутое использование торговой платформы MetaTrader 5. Создание индикаторов и торговых роботов на MQL5 и Python. Издание 3-е, исправленное и дополненное
Для вызова того индикатора воспользуемся функцией iCustom.
В функции OnInit() индикатора MACD изменим код, где для получения хэндлов вместо стандартной функции, используем функцию iCustom.
После компиляции индикатора мы увидим, что его отображение никак не изменилось.
Еще один способ получить хэндл пользовательского индикатора, это использовать функцию IndicatorCreate.
В функции OnInit() индикатора MACD изменим код, где для получения хэндлов используем функцию IndicatorCreate.
После компиляции индикатора мы опять увидим, что его отображение никак не изменилось.
После получения хэндла индикатора, если он используется в коде один раз, для экономии памяти неплохо использовать функцию IndicatorRelease.
Которая удаляет хэндл индикатора и освобождает расчетную часть индикатора.
Хорошо, хэндл индикатора мы получили. Как же теперь извлечь его данные?
Делается это в функции OnCalculate с помощью функции CopyBuffer.
При этом функция CopyBuffer() распределяет размер принимающего массива под размер копируемых данных.