Смотрите сюда:
"while(i>=0) // Цикл по непосчитанным барам
{
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame1,"Moving Averages",PeriodMA1,0,0,0,i);
Line_0[i]= MA;
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame2,"Moving Averages",PeriodMA2,0,0,0,i);
Line_1[i]= MA;
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame3,"Moving Averages",PeriodMA3,0,0,0,i);
Line_2[i]= MA;
//--------------------------------------------------------
i--; // Расчёт индекса следующего бара
//--------------------------------------------------------
}
"
Упростим немного - работа не изменится, немного нагляднее:
"
while(i>=0) // Цикл по непосчитанным барам
{
//--------------------------------------------------------
Line_0[i]=iCustom(NULL,
TimeFrame1,"Moving Averages",PeriodMA1,0,0,0,
i);
//--------------------------------------------------------
Line_1[i]=iCustom(NULL,
TimeFrame2,"Moving Averages",PeriodMA2,0,0,0,
i);
//--------------------------------------------------------
Line_2[i]=iCustom(NULL,
TimeFrame3,"Moving Averages",PeriodMA3,0,0,0,
i);
//--------------------------------------------------------
i--; // Расчёт индекса следующего бара
//--------------------------------------------------------
}
"
Красным выделено, как три массива забиваются в одном цикле данными с разных ТФ,
но нужно помнить, что видеть-то мы их будем на одном - вот и
причина разбегания масштаба времени для них,
а вы ищете причину расхождения значений, ошибочно предполагая, что моменты времени расчета значений для этих баров совпадали...
Смотрите сюда:
"while(i>=0) // Цикл по непосчитанным барам
{
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame1,"Moving Averages",PeriodMA1,0,0,0,i);
Line_0[i]= MA;
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame2,"Moving Averages",PeriodMA2,0,0,0,i);
Line_1[i]= MA;
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame3,"Moving Averages",PeriodMA3,0,0,0,i);
Line_2[i]= MA;
//--------------------------------------------------------
i--; // Расчёт индекса следующего бара
//--------------------------------------------------------
}
"
Упростим немного - работа не изменится, немного нагляднее:
"[color=#FF0000]while(i>=0)[/color] // Цикл по непосчитанным барам
{
//--------------------------------------------------------
[color=#FF0000]Line_0[i][/color]=iCustom(NULL,[color=#FF0000]TimeFrame1[/color],"Moving Averages",PeriodMA1,0,0,0,[color=#FF0000]i[/color]);
//--------------------------------------------------------
[color=#FF0000]Line_1[i][/color]=iCustom(NULL,[color=#FF0000]TimeFrame2[/color],"Moving Averages",PeriodMA2,0,0,0,[color=#FF0000]i[/color]);
//--------------------------------------------------------
[color=#FF0000]Line_2[i][/color]=iCustom(NULL,[color=#FF0000]TimeFrame3[/color],"Moving Averages",PeriodMA3,0,0,0,[color=#FF0000]i[/color]);
//--------------------------------------------------------
[color=#FF0000]i--[/color]; // Расчёт индекса следующего бара
//--------------------------------------------------------
}
"
Красным выделено, как три массива забиваются в одном цикле данными с разных ТФ,
но нужно помнить, что видеть-то мы их будем на одном - вот и [b][color=#FF0000]причина разбегания масштаба времени[/color][/b] для них,
а вы ищете причину расхождения значений, ошибочно предполагая, что моменты времени расчета значений для этих баров совпадали...