Обращение к другим периодам (Тайм Фреймам) в ThinkScript

Часто нам приходится получать данные с графиков повышенного ТФ. В thinkScript это называется периоды. Обратите особое внимание, что обратиться можно только к периодам выше, чем открытый. Для примера, если вы открыли график 15мин и добавили на него индикатор, в этом случае можно получить данные с 30мин, Часового и выше ТФ. Вы не можете обращаться к периодам ниже, то есть к 10мин, 5мин и остальным ниже.

Имеется список доступных периодов, к которым мы можем получить доступ:

AggregationPeriod.MIN – 1мин Тайм Фрейм

AggregationPeriod.TWO_MIN – 2мин Тайм Фрейм

AggregationPeriod.THREE_MIN – 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 – Дневной Тайм Фрейм

AggregationPeriod.TWO_DAYS – 2дня Тайм Фрейм

AggregationPeriod.THREE_DAYS — 3дня Тайм Фрейм

AggregationPeriod.FOUR_DAYS – 4дня Тайм Фрейм

AggregationPeriod.WEEK – Недельный Тайм Фрейм

AggregationPeriod.MONTH – 1месяц Тайм Фрейм

AggregationPeriod.OPT_EXP – Период равен истечению опциона (2,678,400,000 миллисекунды)

Период можно указать при вызове основных функций OPEN, HIGH, LOW, CLOSE, VOLUME. В этой главе разберем полностью эти функции, что они могут принимать и что возвращают.

Так как все они идентичны, то разбираться будем только с одной, а все остальные применяются аналогично. Разбираться будем на примере с функцией CLOSE.

Подробное описание синтаксиса функций можно найти в главе «Функции»

Синтаксис функции CLOSE:

close(String symbol, Any period, String priceType);

Значения по умолчанию:

symbol: getSymbol() – Текущий инструмент на которой добавлен индикатор

period: «<current period>» – Текущий выбранный Тайм Фрейм

priceType: «<current type>» – Текущая цена по которой построен график

Описание параметров:

Symbol – Название инструмента с которого нужно получить данные.

Period – Период или Тайм Фрейм

priceType – Тип цены (ASK, BID, LAST, MARK)

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

Начнем с параметра symbol. Можно указать любой другой инструмент и получить с него данные.

В этом примере мы получим цену закрытия инструмента AAPL (акции компании Apple). Совершенно не важно на какой график у нас добавлен индикатор. Предположим мы открыли инструмент GOOG (акции компании Google), в переменную price будут переданы цены закрытия AAPL, если мы выведем переменную price на график, то получится что график AAPL будет отображаться сверху на графике GOOG.

Таким образом на одном графике мы можем следить за ценами с других инструментов. Вот такой вам пример:

Мы получили в разные переменные цены закрытия с разных инструментов. Добавьте теперь любые условия, которые вам нужны и выводите на график информацию. Если на каком-то инструменте цена подойдет к указанной вами в условиях вы узнаете об этом, даже если эти инструменты у вас не загружены на экран. Только обратите внимание, индикаторы пересчитываются каждый тик, то есть, как только приходит новая цена в терминал, наш код пересчитывает данные. Это означает что, если вы хотите следить за всеми инструментами в реальном времени вам нужно открыть самый ликвидный инструмент. Ну представьте, что вы выбрали очень неликвидный инструмент, на котором сделки совершаются раз в час, а в индикаторе обращаетесь к ликвидным инструментам. В итоге получится что ваш индикатор произведет расчет, когда вы его добавили и на этом все, будет целый час ждать пока не пройдет новая сделка. Цена на других инструментах может за час уйти в небеса, а вы об этом не узнаете, так что выбирайте ликвидные инструменты.

Следующий параметр period. Чтобы передать этот параметр можно написать так.

Так как в эту функцию мы передали только 1 параметр, то остальные приняли значение по умолчанию. В текущем примере мы обратились к текущему инструменту к ценам закрытия дневного ТФ. Думаю, с этим все понятно, но будьте очень внимательны при тестировании индикаторов в этом случае. На исторических данных уже известна цена закрытия дневной свечки, а в реальной торговле нет. Этим иногда пользуются продавцы «прибыльных» индикаторов, когда на истории вы видите очень много прибыльных сигналов, но когда приобретаете его и начинаете торговать, то в итоге сигналы появляются и исчезают много раз за день.

Дело тут вот в чем. Представьте, что сейчас 11:00, знаете ли вы цену закрытия сегодняшнего дня? – Нет, не знаете. Если вы обратитесь через AggregationPeriod.DAY, то получите цену закрытия дневной свечки ту же самую, как и текущая цена закрытия на любом ТФ. Но когда индикатор на истории, допустим три дня назад, рассчитывает и обращается через AggregationPeriod.DAY. то он получает цену закрытия дневной свечки, которая уже закрылась и известна эта цена и не изменится. Это тоже самое что, если бы вы сегодня утром знали по какой цене закроется рынок вечером, но только не знали, как именно цена будет двигаться. Если сейчас цена 50, а вы точно знаете, что вечером на момент закрытия дня, цена будет 60, что бы вы сделали? – Конечно же купили, пусть бы цена упала хоть до 30, в конце дня вы знаете что цена будет 60 и вы продадите. Именно так и работают эти индикаторы которые на истории просто безубыточные, а на реале постоянно перерисовывают сигналы.

history ThinkScript ThinkOrSwim

history ThinkScript ThinkOrSwim

Посмотрите на рисунок. Черный свечки – это часовой ТФ, а одна синяя свечка – это дневная свечка. Когда на истории сигнал в виде зеленой стрелки вверх появляется, то цена закрытия дневной свечки уже известна. НЕ ЗАБЫВАЙТЕ ОБ ЭТОМ, когда пишите индикатор.

Остался последний параметр priceType, который принимает ASK, BID, LAST, MARK. Тут объяснять нечего и так все думаю понимают, что это за цены, Лучшая цена покупателей, продавцов и цена последней сделки.

На этом всё по периодам — Тайм Фреймам. Функции OPEN, HIGH, LOW, VOLUME применяются аналогично функции CLOSE.

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

Я думаю вы поняли, что тут переменная price примет цену закрытия прошлого дня.

Постоянная ссылка на это сообщение: https://k-pavel.ru/obrashhenie-k-drugim-periodam-tajm-frejmam-v-thinkscript/

avatar

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

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