Синтаксис функции RegularTradingEnd:
RegularTradingEnd(int yyyyMmDd);
yyyyMmDd – Дата окончания.
Описание функции RegularTradingEnd:
Функция возвращает конец торгов указанного дня в параметре yyyyMmDd. Это значение является количеством миллисекунд начиная от 1 января 1970 года.
Обратите внимание что число просто огромное.
Синтаксис функции RegularTradingStart:
RegularTradingStart (int yyyyMmDd);
yyyyMmDd – Дата окончания.
Описание функции RegularTradingStart:
Функция возвращает начало торгов указанного дня в параметре yyyyMmDd. Это значение является количеством миллисекунд начиная от 1 января 1970 года.
Обратите внимание что число просто огромное.
Пример:
def rth = (RegularTradingEnd(GetYYYYMMDD()) - RegularTradingStart(GetYYYYMMDD())) / AggregationPeriod.HOUR; AddChartBubble(yes, high, "Торговая сессия в часах: " + rth);
Этот пример выводит над каждой свечкой длительность дневной торговой сессии в часах.
После этого примера должно быть более понятно, что именно возвращают эти 2 функции, но так как я сам долго не мог понять их суть постараюсь еще подробнее рассказать о них и надеюсь, что у меня получится объяснить.
Посмотрите на рисунок ниже.
Вся линия от 1.01.1970 это все время, которое прошло. Далее, в функциях RegularTradingEnd и RegularTradingStart мы передаем какой-то конкретный день, на рисунке это 21.07.2016. Так вот, день 21.07.2016 начинается в 0:00, а вот торги начинаются, на акциях, в 9:30, в итоге функция RegularTradingStart возвращает количество прошедших миллисекунд от 1.01.1970 0:00 до 21.07.2016 9:30. День 21.07.2016 заканчивается в 23:59, а торги на акциях заканчиваются в 16:00, а значит функция RegularTradingEnd возвращает количество прошедших миллисекунд от 01.01.1970 0:00 до 21.07.2016 16:00. Далее, в примере выше, мы выполнили действие, конец торгов минус начало торгов и получили количество миллисекунд торговой сессии за 21.07.2016 (зеленая зона на рисунке), а что бы получить в часах, разделили на часовой период.
Теперь я надеюсь вы разобрались как работать с этими функциями.