Buongiorno Roberto. Mi sembra di capire che non esiste una funzione percentile. Vorrei sapere come scrivere un codice che mi permetta di farlo. Esempio: ho un indicatore che mi mostra la media mobile a 20 periodi dei volumi. Su questo indicatore (quindi sul valore della MM20) vorrei calcolare dei valori percentile a mio piacimento in base a due parametri: durata e valore del percentile, per esempio il 20esimo o 75esimo percentile su gli ultimi 50, 100, 200 dati e così via. Grazie in anticipo
No, non esiste.
Cercherò di fartelo appena possibile.
Ciao. Avevo un calcolo di percentile rank che ho adattato alla tua richiesta.
// --------------------------------------------
// 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"
Si funziona. Grazie mille