Ciao Black Swan

.
Allora, ho provato a buttar giu' un esempio ma non sono sicuro se e' questo che volevi ...
Prendo un grafico, nell'esempio il dax indice, tf 1-minuto, 15809 barre. Voglio plottare la distribuzione delle frequenze dell'rsi.
Prima limitazione: plottero' la distrubuzione nelle ultime 101 barre del grafico, le frequenze quindi le calcolo "solo" per le prime 15708 barre. Probabilmente si puo' calcolare anche per le ultime usando proprio quel codice di traslazione di cui si parlava stamattina ma adesso non ho voglia di complicare le cose.
Nell'ultima finestra c'e' l'indicatore (chiamiamolo cosi')
return barindex
che mi conta le barre.
Per calcolare le frequenze avevo pensato ad un semplice for ... next e invece mi da errore di ciclo infinito, ormai sta diventando la mia bestia nera sto errore
Prendo allora una strada piu' lunga. Definisco un indicatore di supporto che chiamo rsi freq
Codice:
if round(RSI[14](close)) = n then
ind = ind+1
endif
return ind
Contiene la variabile intera n>=0
Fatto questo ecco il codice della distribuzione delle frequenze
Codice:
if barindex < numbarre - 100 then
ind = undefined
else
ind = CALL "rsi freq"[numbarre - barindex]
endif
return ind
Contiene la variabile numbarre, a cui bisogna assegnare il valore 15809, cioe' l'ultimo valore di barindex (per quello ce l'avevo plottato sul grafico).
Attenzione che ci mette un po' per fare i calcoli, sembra quasi piantarsi ma poi ce la fa.
Ora cancello il grafico del prezzo e del barindex ed ecco il risultato
Sotto ho anche aggiunto un contatore che mi indica i valori da 0 a 100.
Codice:
if barindex < numbarre - 100 then
ind = undefined
else
ind = -numbarre + barindex +100
endif
return ind
solita variabile numbarre.
Cosi' se voglio sapere qual e' la frequenza di un certo valore, ci vado sopra col mirino ed e' fatta.
Fammi sapere se era questo che volevi, altrimenti ne riparliamo con calma.