Включаемый файл JMAonArrayMT4.mqh с классом для расчета скользящей средней JMA по данным индикаторного буфера. Кроме буфера с исходными данным требуется еще два буфера для промежуточных расчетов и один для результатов расчета.
Применение:
1. Скопировать файл JMAonArrayMT4.mqh в папку MQL4/Include папки данных терминала.
2. Подключить файл к индикатору.
#include <JMAonArrayMT4.mqh>
3. Создать объект класса CJMAOnArray. При создании передать в конструктор класса параметры JMA:
CJMAOnArray jm(Length,Phase);
4. В функции OnCalculate() индикатора вызывать метод Calculate():
int Calculate(const int rates_total, const int prev_calculated, const datetime & time[], double & data[], double & buf1[], double & buf2[], double & result[] )
Параметры вызова:
rates_total – параметр rates_total функции OnCalculate(),
prev_calculated – параметр prev_calculated функции OnCalculate(),
time[] – буфер с временем баров из параметров функции OnCalculate(),
data[] – индикаторный буфер с исходными данными,
buf1[], buf2[] – вспомогательные индикаторные буферы для промежуточных расчетов.
result[] – индикаторный буфер для результатов расчета.
Значение возвращаемое методом Calculate() необходимо проверять, если возвращен 0, выполнение функции OnCalculate() необходимо прервать и вернуть из нее 0, что бы на следующем тике произошел полный пересчет индикатора.
Пример применения библиотеки в индикаторе RSIJMA
Скачать: JMAonArrayMT4