Il nostro ultimo aggiornamento di Pine introduce due novità per la sezione degli input, con cui solitamente interagisce l’utente per cambiare i parametri dell’indicatore:
- Un nuovo parametro group che consente ai programmatori di creare una sezione che include un titolo e varie opzioni.
- Un nuovo parametro inline per permettere a più input di coesistere nella stessa riga.
Non sono tanto novità dal punto di vista funzionale, quanto da quello dell’esperienza utente, come illustrato dall’indicatore Auto Ritracciamenti Fib.

Implementare i nuovi parametri negli script è semplice! Dai un’occhiata a questo esempio di un indicatore VWAP con la particolarità di permettere agli utenti di specificare l’inizio e la fine del periodo analizzato e di controllare gli ancoraggi:
//@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)

L’argomento indicato dal parametro group è usato in due moalità: per definire il nome del gruppo e per indicare la sua appartenenza.
Quando si usa il parametro inline, tutti gli input() che hanno lo stesso argomento saranno raggruppati nella stessa riga. Il title di ogni input() determina la legenda da usare. Se quest’ultimo non viene indicato, allora nessuna legenda sarà applicata. Inoltre, se gli input che condividono lo stesso argomento inline non entrano in una riga, saranno posti a capo.
La descrizione dei nuovi parametri è presente nel Manuale di riferimento di Pine, alla voce input().
Per l’elenco di tutte le novità in ambito Pine, vi invitiamo a consultare le Note di rilascio.
Continuate ad inviarci suggerimenti per migliorare. TradingView è il frutto dei vostri desideri.