У вас не стоит Flash Player
Настройки
#86894 - Thu Mar 11 2021 07:08 PM Кубик "IntervalsBetweenDates"
AleksandrGanov Offline
member

Registered: Fri Jun 02 2017
Записи: 180
Loc: Kamchatka
Кубик "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 (43 downloads)
СвойстваКубика.jpg (43 downloads)
IntervalsBetweenDates.cs (70 downloads)
gaaCommon_ServiceLib.zip (60 downloads)
gaaDifferent_IntervalsBetweenDates.zip (75 downloads)


Наверх
#86897 - Mon Mar 15 2021 08:48 AM Re: Кубик "IntervalsBetweenDates" [Re: AleksandrGanov]
Stan Offline
veteran

Registered: Wed Oct 02 2013
Записи: 1357
Спасибо большое. Вещь нужная!!!

Наверх
#87175 - Sat Dec 18 2021 10:36 AM Re: Кубик "IntervalsBetweenDates" [Re: Stan]
AleksandrGanov Offline
member

Registered: Fri Jun 02 2017
Записи: 180
Loc: Kamchatka
Обновление кубика:
  • перекомпилирован под под Net 6.0 для возможности использования в ТСЛаб 2.2.


Attachments
gaaCommon_ServiceLib.zip (29 downloads)
IntervalsBetweenDates.cs (41 downloads)
gaaDateTime_IntervalsBetweenDates.zip (28 downloads)



Отредактировано AleksandrGanov (Sat Dec 18 2021 10:58 AM)

Наверх


Moderator:  ViL, sar