В Pine теперь есть возможность использовать массивы для создания пользовательских наборов данных. Массивы значительно расширяют возможности Pine, позволяя заполнять, производить вычисления и управлять одномерными структурами данных, содержащими элементы одного из следующих типов: float, int, bool или color.
Например, так можно создать массив под названием levels, содержащий три элемента типа float, инициализированных значением na:
level = array.new_float(size=3, initial_value=na)
Массивы поддерживают динамическое изменение размера. Специальные функции позволяют выполнять различные преобразования и операции над массивами, включая копирование, сортировку и создание среза, нахождение минимального и максимального значений в массиве, стандартного отклонения его элементов и другие: array.min(), array.max(), array.stdev(), array.avg(), array.median() и т. д.
В примере ниже сначала с помощью массива создается набор данных, содержащий ценовые уровни баров с возрастающим объемом, а затем отображается среднее арифметическое значение элементов этого набора. Массив здесь используется для реализации FIFO-очереди (first in, first out):
//@version=4
study("Price Avg Of Increasing Volume Bars", "", true)
i_levels = input(20, "Levels")
i_src = input(hlc3, "Source")
// Initialize array of user-selected size with `na` values.
var levels = array.new_float(i_levels)
if rising(volume, 1)
// Remove the oldest level from the beginning of the array.
array.shift(levels)
// Add the new level to the end of the array.
array.push(levels, i_src)
// Calculate the avg of levels in the array, excluding any `na` values.
level = array.avg(levels)
plot(na(volume) ? na : level, "Level", close > level ? color.lime : color.fuchsia)
Раздел документации, описывающий массивы, поможет вам начать работу с ними. Взгляните на примеры использования массивов в скриптах от разработчиков RicardoSantos и Duyck, которые помогли нам в тестировании, за что мы искренне их благодарим.
Graph style — 4th Dimension RSI

Function — Multi Dimension Indexer



Function — Polynomial Regression




Эти скрипты помогают понять, насколько массивы расширяют возможности Pine и упрощают для сообщества TradingView создание более сложных индикаторов и стратегий.
Мы надеемся, что массивы, о добавлении которых вы просили, окажутся максимально полезными. Продолжайте присылать нам ваши отзывы и предложения. Мы создаем TradingView для вас и рады услышать, что вы думаете об обновлениях нашей платформы.