Функции HighestAll и LowestAll в ThinkScript

Синтаксис функции HighestAll

HighestAll(IDataHolder data);

data — данные

Описание функции:

Функция HighestAll возвращает самое высокое значение из переданных в неё данных data. На этом сайте вы можете найти описание функции Highest, так вот в отличие от неё функция HighestAll находит самое высокое значение из всех переданных в неё данных. Мы не указываем период за который необходимо искать самое высокое значение, а ищем это значение абсолютно из всех данных.Напишем такой пример

В этом примере мы вызвали функцию HighestAll, передали в неё цены закрытия и функция вернула нам самую большую цену закрытия из всех возможных, то есть со всего графика.На первый взгляд с этой функцией всё просто, берем цены закрытия находим самую высокую цену закрытия со всего графика и выводим её в переменную h, но не будем торопиться. Любой индикатор выполняется слева направо, а значит давайте представим что индикатор выполняется на самом первом баре который имеется у нас на графике. Так как функция HighestAll берет все цены закрытия со всего графика, то значит на 1 баре у нас будет максимальная цена из всех цен закрытия которые в данный момент находятся на графике. Поэтому, данную функцию не стоит применять при тестировании индикаторов на истории так как в данном случае мы получим неправдоподобные данные, индикатор как-будто бы будет знать где цена будет находиться в будущем которое для истории ещё не наступило. Возможно это покажется непонятным но взгляните на рисунок ниже

HighestAll-LowestAll ThinkOrSwim

HighestAll LowestAll

При тестировании на истории бар на котором в данный момент выполняется расчёт является последним баром который существует, дальше идут бары которые находятся в будущем, отделены на рисунке пунктирной коричневой линией, в реальном времени эти бары ещё не появились но функция HighestAll вернёт максимальную цену закрытия учитывая все эти бары находящиеся за пунктирной линией. Тем самым получается что наш индикатор как-бы заглядывает в будущее. Зато применять данную функцию для торговли в реальном времени вполне возможно.


Противоположная данной функции имеется функция LowestAll.

Синтаксис функции LowestAll

LowestAll(IDataHolder data);

data — данные

Описание функции:

Функция LowestAll точно такая же как и предыдущая, но работает с точностью до наоборот. Она находит самое маленькое значение из всех которые были переданы в неё. Как и функция описанная выше, она берёт все цены доступные на графике. Также не рекомендуется использовать эту функцию в индикаторах которые необходимо протестировать на истории иначе мы получим недостоверную информацию.В переменную data мы можем передавать любые значения, предположим у нас имеется Скользящая средняя построенная по ценам закрытия и мы хотим найти самую минимальную цену из всех которые имеются в нашей скользящей средней.

В этом примере мы создали переменную avg, в которую поместили среднюю цену закрытия с периодом 120, в итоге получили набор этих средних значений и во второй строке решили найти самое маленькое из всех средних значений.

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

avatar

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

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