Доброго времени суток
Столкнулся с необходимостью выполнить перебор часовых баров прошлой недели (с понедельника по пятницу) для дальнейшей работы с результатом.
Делаю таким образом:
Все бы ничего, но ведь кол-во часов до начала прошлой недели и кол-во часовых баров две разные вещи!
К примеру субботы и воскресенья баров нет, так же могут быть пропуски в барах истории...
А бары перебираются отступом с конца как я понимаю... Как это еще можно реализовать нормально?
Столкнулся с необходимостью выполнить перебор часовых баров прошлой недели (с понедельника по пятницу) для дальнейшей работы с результатом.
Делаю таким образом:
Код:
OldWeek = iTime(Symbol(), 10080, 1); // время начала прошлой недели
OldHour = NormalizeDouble(((TimeCurrent() - OldWeek) / 3600), 0); // кол-во часов до начала прошлой недели
if (TSWeekLV == 0 || TSWeekLV != TimeDayOfYear(OldWeek)) {
for (int x = OldHour; x > OldHour - 120 - 1; x --) { // перебор баров прошлой недели начиная сначала
HBarsWeek = iHigh(Symbol(), 60, x);
LBarsWeek = iLow(Symbol(), 60, x);
SizeBarsWeek = HBarsWeek - LBarsWeek;
TotalSizeBarsWeek += SizeBarsDay;
TSHistoryWeekLV = NormalizeDouble(TotalSizeBarsWeek * PointDay * 10 / 120, 0); // запоминаем среднее значение бара за неделю
TSWeekLV = TimeDayOfYear(OldWeek); // запоминаем начало прошлой недели
}
}
Все бы ничего, но ведь кол-во часов до начала прошлой недели и кол-во часовых баров две разные вещи!
К примеру субботы и воскресенья баров нет, так же могут быть пропуски в барах истории...
А бары перебираются отступом с конца как я понимаю... Как это еще можно реализовать нормально?