// --------------------------------------------
// Parametri personalizzabili
// --------------------------------------------
windowSize = 100 // Numero di barre da considerare (es. 50, 100, 200)
percentile = 75 // Percentile desiderato (es. 20, 75, ecc.)
mmPeriod = 20 // Periodo della media mobile
// --------------------------------------------
// Calcolo della media mobile sul volume
// --------------------------------------------
mmVolume = average[mmPeriod](volume)
// --------------------------------------------
// Costruzione dell'array dei valori MM
// --------------------------------------------
FOR i = 0 TO windowSize - 1 DO
$serie[i] = mmVolume[i]
NEXT
// Ordina l'array in ordine crescente
ArraySort($serie, ASCEND)
// Calcola la posizione del percentile
indice = round((percentile / 100) * (windowSize - 1))
indice = min(indice, LastSet($serie)) // Protezione da overflow
// Valore percentile
valorePercentile = $serie[indice]
// --------------------------------------------
// Visualizzazione
// --------------------------------------------
return mmVolume coloured("gray") style(histogram,1) as "MM Volumi",valorePercentile coloured("orange") style(dottedline,2) as "Percentile"