Новые функции в Pine Script™, request.security_lower_tf() и request.economic(), а также улучшения функции request.security() позволяют вашим скриптам получить доступ к большему объёму данных.
request.security_lower_tf()
Новая функция request.security_lower_tf() позволяет запросить данные с временного интервала ниже, чем тот, который открыт на графике в данный момент.
Раньше, чтобы получить доступ ко всем барам минутного интервала с часового графика, нужно было писать сложные функции с использованием request.security(). Новая встроенная функция request.security_lower_tf() упрощает этот процесс: она возвращает массив элементов со значениями за каждый внутренний бар, который входит в одну свечу главного интервала. Значения соответствуют выражению, переданному в параметр expression. Следует отметить, что в двух барах главного интервала может быть разное число внутренних баров (например, если главный и второстепенный интервалы не кратны друг другу, или если включена расширенная сессия).
Приведённый ниже индикатор следит за направлением баров минутного интервала, входящих в каждую свечу главного интервала. Если направление большинства внутренних баров отличается от направления бара с графика, индикатор окрашивает данный бар оранжевым цветом.
//@version=5 indicator("Polarity Divergences", overlay = true) // Получаем массив, содержащий значения (+1/0/-1) для каждого 1-минутного внутреннего бара. array<float> directionsArray = request.security_lower_tf(syminfo.tickerid, "1", math.sign(close - open)) // Задаём оранжевый цвет для бара, если основное количество внутренних баров не соответствует направлению бара главного чарта. barcolor(math.sign(array.sum(directionsArray)) != math.sign(close - open) ? color.orange : na) // Выводим число внутренних баров в индикатор и в окно данных. plotchar(array.size(directionsArray), "Intrabars", "", location.top)
request.economic()
Функция request.economic() позволяет получить экономические показатели страны или региона. Экономические показатели включают в себя такую информацию как состояние экономики страны (ВВП, уровень инфляции и т.д.) или определённой отрасли (сталелитейная продукция, производство газа и т.д.):
//@version=5 indicator("ВВП России") plot(request.economic("RU", "GDP"))
В этой статье вы найдёте список всех стран/регионов и доступных показателей. Для каждого показателя также есть дополнительная статья с описанием и со списком стран и регионов, для которых он доступен: например, в этой статье мы рассказываем о ВВП.
Улучшения функции request.security()
Функция request.security() теперь может принимать и возвращать массивы, строки, булевы типы, цвета и наборы элементов с данными типами:
//@version=5 indicator("") // Создаём массив, содержащий значения OHLC. array<float> ohlc = array.from(open, high, low, close) // Запрашиваем кортеж с элементами с символа "NASDAQ:TSLA" с текущим чартовым таймфреймом. // Кортеж содержит: // - Массив с OHLC-значениями. // - Строковое представление OHLC-значений с использованием округления до минтика. // - Строковое представление валюты символа. [ohlcArray, ohlcString, curString] = request.security("NASDAQ:TSLA", timeframe.period, [ohlc, str.tostring(ohlc, format.mintick), syminfo.currency]) if barstate.islastconfirmedhistory label.new(bar_index, high, "OHLC values: " + str.tostring(ohlcArray) + "\nFormatted OHLC values: " + ohlcString + "\nCurrency: " + curString)
Если вы хотите узнавать об обновлениях Pine, следите за разделом Release notes. Учётная запись PineCoders также транслирует новости об обновлениях в своем Telegram-канале Squawk Box и в публичном чате Pine Script™ Q&A на TradingView.
Мы надеемся, вы найдёте новые функции полезными. Продолжайте делиться с нами своими отзывами — именно они помогают нам делать TradingView лучше.