Ti servono DUE indicatori, il primo per vedere la media dall’inizio fino a 25 candele fa (o il numero che sarà), il secondo per vedere l’ultimo tratto, da 25 candele fa a quella corrente.
Devi metterli entrambi sul grafico dei prezzi, come una normale media.
Come puoi vedere dalle foto, a differenza della media standard NON puoi vedere il valore quando passi col cursore su quella candela. NESSUNO può conoscere quel valore, è solo un effetto visivo, l’unica soluzione sarebbe stampare un testo in corrispondenza dell’ultima candela.
Ti ho messo, come parametri variabili tramite le proprietà:
- p (periodi della media)
- t (tipo della media, vedi https://www.prorealcode.com/documentation/average/)
- Piatta per vedere, nelle ultime P/2 candele SEMPRE l’ultimo valore, oppure una proiezione futura basandosi sulla differenza tre gli ultimi 2 valori, che ad ogni candela viene aggiunta alla precedente (vedi le due diverse foto).
// Media arretrata 1
//
DEFPARAM DrawOnLastBarOnly = False
//
//p = 50
//t = 0
p = max(1,min(999,p))
t = max(0,min(8,t))
q = max(1,round((p / 2) - 0.5)) //50% arrotondato all'unità inferiore
src = CustomClose
//
Avg = average[p,t](src)
IF BarIndex >= p THEN
DrawSegment(BarIndex[q],Avg,BarIndex[q+1],Avg[1]) coloured(0,0,255,255) style(Line,3)
ENDIF
RETURN
// Media arretrata2
//
DEFPARAM DrawOnLastBarOnly = True
//
//p = 50
//t = 0
p = max(1,min(999,p))
t = max(0,min(8,t))
q = max(1,round((p / 2) - 0.5)) //50% arrotondato all'unità inferiore
r = p - q //differenza tra i Periodi totali ed il 50% arrotondato
src = CustomClose
//
Avg = average[p,t](src)
IF BarIndex >= p THEN
Diff = Avg - Avg[1]
x = Avg
BarraInizio = BarIndex[q]
FOR i = 1 TO r
IF Piatta THEN
DrawSegment(BarraInizio,x,BarraInizio+1,x) coloured(0,0,255,255) style(Line,3)
ELSE
DrawSegment(BarraInizio,x,BarraInizio+1,x+Diff) coloured(0,0,255,255) style(Line,3)
x = x + Diff
ENDIF
BarraInizio = BarraInizio + 1
NEXT
ENDIF
RETURN