Buonasera a tutti.
Avrei bisogno se possibile creare un piccolo indicatore stile pivot point basato su atr.
Avrei bisogno che mi venga indicato sul grafico due linee così calcolate:
25% dell’ATR a 5 giorni, da aggiungere e togliere al prezzo di apertura di oggi, in modo da avere 2 prezzi “trigger” su cui capire se la giornata tendenzialmente sarà long o short. Faccio un esempio per farmi capire meglio.
Atr 5 gg:100
25% Atr 5 gg: 25
prezzo di apertura : 10000
Livelli trigger : 10025 e 9975.
Mi servirebbe inoltre che questi due livelli di prezzo si possano vedere anche su grafici intraday un po come i pivot poi che sono calcolati su ange giornaliero ma li si vede anche su time frame inferiori.
Ringrazio chiunque riuscirà a codificarmi questo codice.
se possibile lasciare che i parametri siano modificabili.
grazie anticipatamente a tutti
Ciao Aletrader, ti allego il file dell’indicatore da importare, fammi sapere se è giusto…..ho inserito le variabili che puoi modificare:
P=periodo ATR (5 valore di default)
perc=% dell’ATR da utilizzare nel calcolo (25% di default)
Essendo un indicatore sul prezzo, devi inserirlo dal pannello in alto e a sinistra del grafico (la chiave inglese).
buona serata
Max
Ciao, non mi sembra corretto, l’atr a 5 periodi (a ieri ovviamente) sul dax è 174 punti circa il suo 25% è 43.5 il prezzo di apertura di oggi sul dax era 13040.5
quindi i due livelli trigger dovevano essere: 13040.5+43.5=13084
13040.5-43.5= 12997
Questo tipo di indicatore dovrebbe essere utile? Daily ATR range for intraday chart
È possibile modificare il periodo per adattarlo a 5 giorni. Non ho capito bene la tua richiesta circa il 25%, forse Massimo può adattare questo codice per te?
Si Nicolas, ci stavo proprio lavorando….il problema del primo codice che ho scritto era che l’ATR veniva calcolato intraday e non daily, facendo così il valore continuava a cambiare.
Ale il prezzo di apertura del DAX di ieri era 13026 e non 13040, ho controllato ed il calcolo su daily era esatto!
defparam drawonlastbaronly=true
perc=25
ATRperiod = 5
dTR = 0
for i = 0 to ATRperiod
dTR=dTR+max(abs(Dhigh(i)-Dlow(i)),max(abs(Dhigh(i)-Dclose(i+1)),abs(Dlow(i)-Dclose(i+1))))
next
ATR = dTR/ATRperiod
ATRperc=ATR*(perc/100)
pivotup=dopen(0) + ATRperc
pivotdown=dopen(0) - ATRperc
distanza=averagetruerange[10](close)
DRAWLINE(barindex-5,pivotup,barindex,pivotup) coloured(0,0,255)
DRAWLINE(barindex-5,pivotdown,barindex,pivotdown) coloured(255,0,0)
drawtext ( "#pivotup#",barindex,pivotup+distanza,SansSerif,Bold,12 ) coloured(0,0,255)
drawtext ("#pivotdown#",barindex,pivotdown-distanza,SansSerif,Bold,12)coloured(255,0,0)
return
Nicolas, il problema è che su timeframe bassi come 1 minuto, 5 minuti non vede le linee pivot mentre su più alti timeframe come 30 minuti, 1 ora le vede!
Qual’è il problema?
Allego screenshot
mi sa che abbiamo due grafici diversi
Penso che sia perché non hai abbastanza barre caricate / visualizzate sul grafico affinché il calcolo sia eseguito correttamente.
Avete entrambi ragione:
io stavo guardando DAX index perf, mentre tu Ale il DAX future. Sono prezzi diversi. Comunque il primo indicatore su daily che ti ho scritto sembra che calcoli giusto. Ti allego screenshot.
Il secondo indicatore (che però calcola l’ATR con una media normale invece della Williams average), non avevo caricato barre a sufficienza negli intraday a basso timeframe, ora funziona).
Ricapitolando l’indicatore è questo allegato, tieni presente Ale il fatto che l’ATR non è calcolato con la media di Williams. Per farlo giusto mi servirebbe il codice di questa.
Nicolas hai il codice della Williams average?
Allego screenshot DAX future con valori ed indicatore modificato
Max
io usando il 100 ticks non riesco vederlo, se si riuscisse a risolvere questo problema e magari che me lo facesse vede anche come i livelli vengono modificati giorno per giorno sarebbe il top, ma se non si riesce va bene anche così, ci mancherebbe. vi ringrazio tanto
Sarebbe possibile far funzionare l’indicatore in 100 tick, ma ciò significherebbe ottenere un numero sufficiente di 100 battute per avere i 5 giorni (o qualsiasi altro periodo desiderato) caricati.