Блог им. FaAnDi

Как задать диапазон времени в Pine Script с помощью timestamp и time?

В этой статье расскажу как с помощью функции timestamp, а также переменной time и time_close можно задать диапазон времени от какой-либо заданной даты до текущей даты и как задать диапазон времени между двумя заданными датами.

Используемые в коде встроенные функции и переменные

time  — встроенная переменная, содержащая время текущего бара в UNIX формате. Это количество миллисекунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года.

time_close  — время закрытия текущего бара в UNIX формате. Это количество миллисекунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года. На графиках, основанных на цене, значение этой переменной равно na.

timestamp() - встроенная функция, возвращает UNIX-время для указанной даты и времени.

Диапазон времени от одной заданной точки времени до другой

Диапазон времени, код (часть 1)

В этой части кода задаем точки времени point of time через timestamp(), указав год, месяц, день, час и минуты для каждой из них.

Диапазон времени, код (часть 2)

В строке кода 24  — задаем переменной time_ значение встроенной переменной time.

25  — задаем переменной range_1_2 условие диапазона, когда time_ лежит внутри диапазона (больше первой точки времени и меньше второй точки времени) она равна true, когда вне диапазона равна false.

31  — задаем переменной x_month_1 разницу между «всем временем» и временем первой точки и делим на количество секунд в одном месяце. Получаем значение количества месяцев от первой точки времени до текущего времени.

32  — задаем переменной x_month_2 разницу между «всем временем» и временем второй точки и делим на количество секунд в одном месяце. Получаем значение количества месяцев от второй точки времени до текущего времени.

33  — находим разницу между полученными значениями количества месяцев.

Визуализация

38  — задаем лейбл со значением количества месяцев в диапазоне x_month

39  — удаляем предыдущие значения серии данного лейбла, заложенного в переменную х.

42  — заливаем фоном место на графике, где находятся свечи первой и второй точек времени.

43  — заливаем фоном диапазон между первой и второй точками времени.

Диапазон времени на графике Sber

Видно по значению в лейбле, что выбранный диапазон равен ровно 1 месяц. И видно сам диапазон (оранжевый фон).

Диапазон времени от заданной точки времени по текущее время

Если закомментировать строки 21 и 38, и раскомментировать строки 22 и 37, то получим следующий визуальный результат.

По текущее время на графике Sber

22  — строка содержит встроенную переменную текущего времени закрытия бара. Как вариант, вместо 22 строки можно было в 21 строке указать текущую дату и время.

37  — аналогична 38, только показывает значение другой переменной, расчет которой ведется в строке 28.

Спасибо всем, кто дочитал статью до конца. Буду рад, если данная информация поможет читателям.

Если у вас есть вопросы по коду — пишите в комментариях.

★8
5 комментариев
Читателям поможет простой индюк типа — умная средняя, которая сама меняет свой период в зависимости от формы графика — тренд или боковик. 
avatar
Добрый день. А можно ли в стратегии задать ограничение по времени торговли на каждый день. Допустим торгуй(тестируй) только диапазон с 8-00 по 16-00 каждый день
avatar
Александр, да, конечно

avatar
Trading Community, а какой переменной, подскажите!
avatar
Александр, не понял вопроса. Что именно подсказать, какой переменной где? в каком индикаторе/скрипте? Напишите, пожалуйста, в телеграм. Там удобней
avatar

теги блога Trading Community

....все тэги



UPDONW
Новый дизайн