Теперь вы можете объединять входные параметры в группы и строки, делая интерфейс ваших скриптов более функциональным и удобным для отображения.
Используя новые возможности, можно упорядочить входные параметры более аккуратно, как это сделано для встроенного индикатора Auto Fib Retracement.

Для этого в Pine были добавлены два параметра: group и inline. Интегрировать эти параметры в код ваших скриптов очень просто! Посмотрите на этот пример индикатора VWAP с возможностью указать период расчета и включить отображение якорей:
//@version=4
study(title = "Custom Period VWAP", shorttitle = "CPVWAP", overlay = true)
src = input(hlc3, "Source", input.source)
enableHighlight = input(true, "Highlight", input.bool, inline = "Highlight")
highlightType = input("Anchors", "", input.string, options = ["Anchors", "Background"], inline = "Highlight")
highlightColor = input(color.red, "", input.color, inline = "Highlight")
useStartPeriodTime = input(true, "Start", input.bool, group = "Date Range", inline = "Start Period")
startPeriodTime = input(timestamp("20 Jan 2021"), "", input.time, group = "Date Range", inline = "Start Period")
useEndPeriodTime = input(true, "End", input.bool, group = "Date Range", inline = "End Period")
endPeriodTime = input(timestamp("20 Feb 2021"), "", input.time, group = "Date Range", inline = "End Period")
start = useStartPeriodTime ? startPeriodTime >= time : false
end = useEndPeriodTime ? endPeriodTime <= time : false
calcPeriod = not start and not end
var srcVolArray = array.new_float(na)
var volArray = array.new_float(na)
var line startAnchor = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width = 2)
var line endAnchor = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width = 2)
useBgcolor = false
if calcPeriod
array.push(srcVolArray, src*volume)
array.push(volArray, volume)
else
array.clear(srcVolArray), array.clear(volArray)
customVwap = array.sum(srcVolArray) / array.sum(volArray)
if enableHighlight
if highlightType == "Anchors"
if useStartPeriodTime
line.set_xy1(startAnchor, startPeriodTime, low)
line.set_xy2(startAnchor, startPeriodTime, high)
if useEndPeriodTime
line.set_xy1(endAnchor, not na(customVwap) ? time : line.get_x1(endAnchor), low)
line.set_xy2(endAnchor, not na(customVwap) ? time : line.get_x1(endAnchor), high)
if highlightType == "Background"
useBgcolor := true
bgcolor(useBgcolor and calcPeriod ? highlightColor : na, editable = false)
plot(customVwap, title="CPVWAP", color = color.blue, linewidth = 2)

Строка, используемая в качестве аргумента group, объединит все входные параметры с таким же значением аргумента под одним заголовком, которым и будет переданная строка.
Все входные параметры, у которых совпадает значение аргумента inline в пределах текущей group, будут объединены в одну строку. Также можно передать пустую строку в title входных параметров, объединенных при помощи inline, если нет необходимости, чтобы в одной строке отображался заголовок каждого их них.
Если входные параметры, объединенные при помощи inline, не поместятся в одну строку, то часть из них будет перенесена на следующую, учтите это при проектировании.
Принцип работы новых параметров описан в Справочнике по языку Pine в разделе функции input() — вы всегда можете получить быструю подсказку, если захотите сделать вкладку входных параметров более удобной.
Обо всех обновлениях Pine читайте в разделе Release Notes в нашем руководстве пользователя.
Мы надеемся, что новая функция окажется для вас полезной. Продолжайте присылать нам отзывы и предложения — мы создаем TradingView для вас и рады узнать, что вы думаете об обновлениях нашей платформы.