Корректное сравнение дат - страница 2

 
Vladislav Boyko #:
Цены незакрытого бара пляшут потому, что он не закрыт.

Это понятно.

Vladislav Boyko #:

Если искомый вами бар находится на нулевом индексе, то у вас 2 варианта:

  • либо игнорировать его (ждать пока откроется новый бар)
  • либо обновлять цены ваших прямоугольников с каждым тиком (тестирование по ценам открытия здесь не подходит, само-собой)

Так я вот и думаю, как проигнорировать бар на 0-ом индексе.

Vladislav Boyko #:
А вы точно учли, что вы печатаете rates[i].time, но функция вернет (i - 1), а не i?

Если условие выполнится, то будет не так:

if (rates[i].time < dayStartDt) {
      return firstBarUnclosed;
    }

Здесь firstBarUnclosed это define интовый.

Aleksandr Slavskii #:
У вас в цикле сравнение идёт с  нулевым индексом 

Это я экспериментировал. Но, сейчас понимаю, что условие не такое должно быть чутка. Но, суть в том, что нам то нужен проверить, именно, 0-ой бар..

 
Aleksandr Slavskii #:
Зы. а какая задача у этого кода? Что вы хотите получить на выходе?

Задача кода - найти индекс бара с определённым индексом. Т.е. берёт конкретный сегодняшний день и находить бар, например, с индексом 0, 1, 2.. 10 и тд.

Нужно найти бар, который находится на заданном в параметре функции firstBarOfDayCheck() индексе. Я для упрощения взял индекс 0 т.е. ищу 1-ый бар дня, но это не обязательное условие.