Кубик "IntervalsBetweenDates"

Периодически встает задача подсчитать конкретное кол-во дней между двумя датами. В ТСЛаб нет способа сделать это быстро, особенно учитывая формат времени ТСЛАБ в видео ГГММДД, то есть ГОД, Месяц, ДЕНЬ. Данный кубик автоматически рассчитывает необходимое кол-во интервалов между двумя датами, для чего необходимо на вход №1 подать дату начала интервала, на вход №2 - дату окончания интервала. В кубике имеется выбор необходимо интервала для расчета: дней, часов, минут. В зависимости от настройки будет выдаваться необходимо значение.

Кубик не потоковый, что говорит о том, что кубик рассчитывается в торговом цикле и оперирует конкретными значениями, а не списками значений, однако это не мешает вывести данные значения на график и обратиться к предыдущим данным через индекс, например, [i-1] или [-1], ТСЛаб достаточно умен, чтобы обыграть этот момент автоматически созданием и заполнением списка необходимых данные, которые будут рассчитаны и добавлены в данный список на каждом баре.

Входные параметры проверяются по следующим критериям:

Дата начала и дата окончания не должны быть равны нулю
Дата начала и дата окончания не могут быть менее 10101, то есть 01.01.2001 года
Дата начала не может быть больше даты окончания
Дата начала и дата окончания не могут иметь дробные части, несмотря не то, что имеют тип Double
Длина числа не может быть менее 5-ти символов
Во всех вышеуказанных случаях кубик будет выдавать ноль.

Общая информация по доп.кубикам:
================================
-- Для корректной работы кубика необходимо в папку Handlers также поместить общую библиотеку для кубиков. Библиотека содержит методы логирования, расчета и т.д., которые применяются в разных кубиках, поэтому весь этот функционал вынесен в отдельную dll, чтобы не повторяться и всегда иметь "свежие" версии кода
-- побарный (не потоковый) кубик: https://docs.tslab.pro/pages/viewpage.action?pageId=38961293
-- папка Handlers и создание индикаторов на API: https://docs.tslab.pro/pages/viewpage.action?pageId=20185716


Attachments
РедакторКубиков.jpg (45 downloads)
СвойстваКубика.jpg (45 downloads)
IntervalsBetweenDates.cs (72 downloads)
gaaCommon_ServiceLib.zip (62 downloads)
gaaDifferent_IntervalsBetweenDates.zip (79 downloads)