Напишем функцию, которая будет возвращать необходимые значения. Как обычно:
UP - бычий тренд;
DN - медвежий тренд;
NO - тренд не определен;
- Код: выделить все
string f_MACDTre(int tf, int pefa, int pesl, int pesi, int maap, int shi)
{
/*
22.05.2018 г.
Ф-ия определяет тренд на основе гистограммы MACD
возвращает "UP" если тренд бычий
возвращает "DN" если тренд медвежий
возвращает "NO" если тренд не определен
Параметры:
tf - таймфрейм (0 - текущий ТФ)
pefa - период быстрой МАшки
pesl - период медленной МАшки
pesi - период сигнальной МАшки
maap - тип используемой цены
shi - количество баров назад
*/
// значение гистограммы MACD shi баров назад:
double dblMACD = iMACD(NULL, tf, pefa, pesl, pesi, maap, MODE_MAIN, shi);
if(dblMACD > 0) return("UP");
if(dblMACD < 0) return("DN");
return("NO");
}
В качестве параметров в данную функцию передаются:
tf - таймфрейм (0 - текущий ТФ)
pefa - период быстрой МАшки
pesl - период медленной МАшки
pesi - период сигнальной МАшки
maap - тип используемой цены
shi - количество баров назад
Параметры скользящей средней, имеются в виду, те, на которых рассчитывается МАCD. Параметр shi позволяет определить тренд не только на прошлом баре, но и на любом заданном.