А ты ищешь на первом.
Я тоже не понял...
В индикаторе 8 входящих параметров, а у тебя только 4.
В индикаторе входящих параметров, относящихся к MACD, всего 3:
extern int fastEMA = 12;
extern int slowEMA = 26;
extern int signalSMA = 9;
А я еще ЗАЧЕМ-ТО добавил еще 4-й: applied_price – 0.
Теперь я вижу, что неправильно.
И нужно добавить 3 оставшихся:
extern bool drawIndicatorTrendLines = true;
extern bool drawPriceTrendLines = true;
extern bool displayAlert = true;
А еще 2 входящих:
extern string separator1 = "*** MACD Settings ***";
extern string separator2 = "*** Indicator Settings ***";
их, наверно, включать не надо. Они описательные.
Теперь это выглядит так:
double up_sig = iCustom(Symbol(), 0, "FX5 MACD_Divergence V1.1", fastEMA, slowEMA, signalSMA, drawIndicatorTrendLines, drawPriceTrendLines, displayAlert, 0, 1);
double dn_sig = iCustom(Symbol(), 0, "FX5 MACD_Divergence V1.1", fastEMA, slowEMA, signalSMA, drawIndicatorTrendLines, drawPriceTrendLines, displayAlert, 1, 1);
Но ситуация абсолютно не изменилась. Все также в журнале (с помощью команды Print) выводятся сообщения: Стрелка вверх 2147483647, Стрелка вниз 2147483647.
Теперь о барах. Почему вы считаете, что я ищу на первом? Ведь 1 – последний параметр кода – означает предпоследний бар. У первого, текущего, бара индекс равен 0. Разве не так?