Questo è il codice, non stamperà il rettangolo sull’ultima barra perché la stampa va sulle barre future (BarIndex+2), quindi o lo lasci così, oppure togli il +2 ed ottieni un rettangolo che dalla barra corrente va indietro. Se togli anche -2 dalla barra di partenza otterrai un rettangolo uguale all’ombra e NON lo vedrai (se non perché è colorato diversamente dall’ombra, ma non sarà facile scorgerlo).
Se, all’inizio, indichi un numero alto di barre oppure non indichi il parametro CALCULATEONLASTBARS otterrai un grafico illeggibile pieno di linee orizzonatli. Eventualmente inserisci dei limiti di voilume molto alti. Io le prove le ho fatte sul DAX €1 a 15 minuti con volumi di 10.000 per entrambi i valori.
DEFPARAM CalculateOnLastBars = 2000
//DEFPARAM DrawOnLastBarOnly = true
//MioVolume = 0 non stampa niente
//MioVolume2 = 0 non stampa niente
Prezzo = 0
Massimo = 0
Minimo = 0
//ONCE MiaBarra = 0
ONCE MioVolume = max(0,min(MioVolume,999999)) //intervallo accettato 0 - 999999
ONCE MioVolume2 = max(0,min(MioVolume2,999999)) //intervallo accettato 0 - 999999
IF Volume >= MioVolume AND MioVolume > 0 THEN
//MiaBarra = BarIndex
IF close > open THEN
Prezzo = high
ELSE
Prezzo = low
ENDIF
ENDIF
IF Volume >= MioVolume2 AND MioVolume2 > 0 THEN
//MiaBarra = BarIndex
IF close > open THEN
Massimo = high
Minimo = close
ELSE
Massimo = close
Minimo = low
ENDIF
ENDIF
//DRAWSEGMENT(MiaBarra,Prezzo,BarIndex,Prezzo) COLOURED(138,43,226,255)
//DRAWLINE(MiaBarra,Prezzo,BarIndex,Prezzo) COLOURED(138,43,226,255)
DRAWHLINE(Prezzo) COLOURED(138,43,226,255) //(138,43,226,255)
DRAWRECTANGLE(BarIndex-2,Massimo,BarIndex+2,Minimo)coloured(255,10,10,255)
RETURN