Константа AggregationPeriod в ThinkScript

Aggregation period — в переводе на русский язык можно сказать, что это просто таймфрейм. На этом и остановимся.

В ThinkOrSwim период определяется в виде специальных значений, которые называются Константа, то есть значение которое остается неизменным. Для начала перечислим все возможные константы которые можно использовать в ThinkOrSwim.

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

AggregationPeriod.MIN — 1 минута

AggregationPeriod.TWO_MIN — 2 минуты

AggregationPeriod.THREE_MI — 3 минуты

AggregationPeriod.FOUR_MIN — 4 минуты

AggregationPeriod.FIVE_MIN — 5 минут

AggregationPeriod.TEN_MIN — 10 минут

AggregationPeriod.FIFTEEN_MIN — 15 минут

AggregationPeriod.TWENTY_MIN — 20 минут

AggregationPeriod.THIRTY_MIN — 30 минут

AggregationPeriod.HOUR — 1 час

AggregationPeriod.TWO_HOURS — 2 часа

AggregationPeriod.FOUR_HOURS — 4 часа

AggregationPeriod.DAY — 1 день

AggregationPeriod.TWO_DAYS — 2 дня

AggregationPeriod.THREE_DAYS — 3 дня

AggregationPeriod.FOUR_DAYS — 4 дня

AggregationPeriod.WEEK — Неделя

AggregationPeriod.MONTH — месяц

AggregationPeriod.OPT_EXP — срок действия опциона

Если присмотреться, то можно заметить, что здесь просто используются английские слова. Поэтому просто переводим с английского на русский и получаем необходимый нам таймфрейм.

При работе с таймфреймами нужно помнить, что наш текущий график, на котором располагается наша индикатор, никаким образом не изменяется. Таймфрейм для нашего графика мы изменяем в настройках и именно этот таймфрейм будет действовать на нашем графике. Если нам необходимо получить данные с другого таймфрейма, мы можем использовать константы перечисленные выше в тех функциях, которые принимают в входных параметрах таймфрейм (Aggregation Period). В этом случае функция как бы получает данные совершенно с другого графика который построен по указанному нами таймфрейму, но текущий график не трогает.

Важно помнить что обращение должно осуществляться лишь только к повышенному таймфрейму. Не допускается обращаться к таймфреймам ниже чем установлен в данный момент на графике. Предположим, если мы на графике установили часовой таймфрейм, то мы можем обратиться к дневному графику либо к двух часовому графику, но не имеем возможности обратиться к 10 минутному либо 30 минутному таймфрейму, так как эти таймфреймы располагаются ниже чем установленный текущей.

К примеру функции Open High Low Close Volume принимают во входящих параметрах таймфрейм.

В данном примере в переменную priceDay будут записаны цены закрытия дневного графика текущего инструмента.

Следующее, что мы рассмотрим, это как получить текущий установленный таймфрейм. К примеру пользователь установил на своем графике таймфрейм 1 минута, но мы хотим чтобы наш индикатор работал только на 5 минутном графике, а на всех остальных таймфреймах ничего не отображал. Для этого нам необходимо определить какой именно таймфрейм выбрал пользователь. Чтобы это узнать существует функция GetAggregationPeriod(). Данная функция не принимает никаких параметров, она лишь только возвращает текущий установленный таймфрейм. Логически наш код будет построен следующим образом. Если пользователь установил таймфрейм 5 минут, тогда показать линию нашего индикатора, иначе линию индикатора не показывать.

Как видно из примера выше мы используем логическое сравнение если — то — иначе. Значит мы должны сравнить что-то с чем-то. Первая часть имеется, это то что вернет нам функция, а вот с чем сравнить может оказаться непонятным.

Для начала я приведу простой пример

Этого примера вполне достаточно для применения в своих индикаторах, хотя запись выглядит не очень понятно. Работает всё просто, если установленный таймфрейм равен дневному тогда переменная D принимает значение 1 иначе 0. Либо можно написать так:

В этом случае если период выбран меньше дневного, тогда переменная D равна 1 иначе 0.

Но чтобы более детально разобраться что здесь с чем сравнивается нам необходимо углубиться. Для начала выясним что возвращает функция GetAggregationPeriod(), для этого напишем такой код

Теперь мы видим что функция возвращает нам некое число и это число зависит от выбранного таймфрейма. Выбираем на графике таймфрейм 1 минута и получаем число 60 000. Из этого можно сделать вывод, что функция возвращает количество миллисекунд. А теперь напишем следующий код

Тут мы видим число 86 400 000 — это количество миллисекунд за 1 день.

Теперь стало ясно что с чем сравнивалось в коде написанном выше, мы сравнили одно число с другим числом.

Постоянная ссылка на это сообщение: https://k-pavel.ru/konstanta-aggregationperiod-v-thinkscript/

avatar

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
Подписаться на