Ответить
14.07.2016, 14:24
Аватар для Malvin86
Malvin86 Malvin86 вне форума Новичок форума
Регистрация: 07.12.2009 / Сообщений: 102
Поблагодарили 7 раз(а) / Репутация: 6

По умолчанию Перебор баров истории

Доброго времени суток
Столкнулся с необходимостью выполнить перебор часовых баров прошлой недели (с понедельника по пятницу) для дальнейшей работы с результатом.
Делаю таким образом:


Код:
  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); // запоминаем начало прошлой недели
      }
    }
Все бы ничего, но ведь кол-во часов до начала прошлой недели и кол-во часовых баров две разные вещи!
К примеру субботы и воскресенья баров нет, так же могут быть пропуски в барах истории...
А бары перебираются отступом с конца как я понимаю... Как это еще можно реализовать нормально?
14.07.2016, 14:43
Аватар для Malvin86
Malvin86 Malvin86 вне форума Новичок форума
Регистрация: 07.12.2009 / Сообщений: 102
Поблагодарили 7 раз(а) / Репутация: 6
В общем разобрался, сделал через функцию iBarShift.
14.07.2016, 19:44
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,607
Поблагодарили 3,744 раз(а) / Репутация: 3737
Ещё полезная функция -https://docs.mql4.com/ru/series/barsfunction
int Bars(
string symbol_name, // имя символа
ENUM_TIMEFRAMES timeframe, // период
datetime start_time, // с какой даты
datetime stop_time // по какую дату
);
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 22:38. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO