Oscillatore atr% 0-100
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Oscillatore atr% 0-100
- This topic has 22 replies, 4 voices, and was last updated 6 years ago by Marcot18.
-
-
02/03/2018 at 5:24 PM #6135002/03/2018 at 6:13 PM #61361
Ciao Jim, prova questo….in pratica è l’RSI a cui ho sostituito al prezzo close e close[1], il valore dell’ATR e ATR[1]
P è il periodo della media mobile di Wilder per il calcolo dell’oscillatore mentre N è il periodo dell’ATR.
Maxx
123456789101112131415P=14N=14ATR=AverageTrueRange[N](Close)rialzo = MAX(0, ATR - ATR[1])ribasso = MAX(0, ATR[1] - ATR)mmRialzo = WILDERAVERAGE[p](rialzo)mmRibasso = WILDERAVERAGE[p](ribasso)RS = mmRialzo / mmRibassomioATR = 100 - 100 / (1 + RS)RETURN mioATR AS "ATROSCILLATOR", 30, 70, 50, 100,01 user thanked author for this post.
02/04/2018 at 12:42 PM #61414Ti ringrazio Maximus, sempre gentile come sempre. Ottimo il sistema proposto e ti ringrazio ma ero più interessato ad una formula di questo tipo:
[(valorore attuale dell’atr – minimo a n barre dell’atr)/range dell’atr]*100
Io non riesco proprio a metterla giù correttamente, riusciresti a farmi una mano per favore?
Jim
02/04/2018 at 5:33 PM #61448Ciao Jim, non ho capito bene cosa intendi comunque prova con questo codice.
Mette in rapporto l’ATR[p](close) corrente con il massimo valore registrato di ATR[p](close) di N periodi, puoi mettere 100 o 1000 per esempio.
Penso sia quello che vuoi tu.
Max
12345678N=1000P=14a=averagetruerange[P](close)b=highest[N](a)c=(100/b)*areturn c02/04/2018 at 10:25 PM #6149602/05/2018 at 7:19 AM #6151002/20/2018 at 12:36 PM #63287Ciao Max, ho ripreso in mano questo codice e volevo fare una cosa del genere:
- per esempio se io ho un valore attuale al close di oggi dell’atr a 21giorni = 300 quindi a=300
- minimo dell’atr a 21 giorni = 220 quindi b= 220
- massimo dell’atr a 21 giorni = 350 quindi c = 350
e faccio la formula [(a-b)/(c-b)]*100 = 61,53
Io ci ho provato utilizzando i codici ma non mi torna qualcosa, mi puoi aiutare?
Ti ringrazio molto.
02/20/2018 at 10:33 PM #63325Ciao, cosa intendi con i periodi a “21 giorni”, in a,b e c?:
nella variabile a intendi averagetruerange[21](close), quindi è il periodo dell’ATR nella barra corrente?
nella variabile b e c intendi il valore più alto e più basso raggiunto da averagetruerange[21](close) negli ultimi 21 giorni, oppure il valore più alto e più basso dell’averagetruerange[21](close) raggiunto in giornata in un timeframe intraday?
E’ importante definire bene queste variabili.
Max
1 user thanked author for this post.
02/21/2018 at 10:04 AM #63358Stai creando un oscillatore stocastico ma con ATR al posto del prezzo.
123456789101112p=21REM Computes the highest and lowest ATR on p barsatr = averagetruerange[p]hi = highest[p](atr)lo = lowest[p](atr)REM Let's build the oscillatoroscillator = ((close - lo) / (hi - lo) * 100)RETURN oscillatorL’unica differenza è che l’oscillatore non è levigato e non ha alcun segnale come lo stocastico originale.
02/21/2018 at 11:00 AM #63367Intanto grazie Nicolas,
due cose, non capisco come mai inserendo il codice da te espresso non oscilli tra 0 e 100 ma mi va anche a sopra i 200.
Seconda cosa al posto del close nella formula finale vorrei inserire il close dell’atr e non il close del valore del prezzo.
Ti ringrazio per la pazienza
02/21/2018 at 11:10 AM #63369Ciao Max. Intendevo questo:
nella variabile a intendo averagetruerange[21](close), quindi è il periodo dell’ATR nella barra corrente.
nella variabile b e c intendo il valore più alto e più basso raggiunto da averagetruerange[21](close) negli ultimi 21 giorni.
E quindi [(a-b)/(c-b)]*100
e in teoria dovrei avere un indicatore che mi oscilli tra 0-100.
02/21/2018 at 11:19 AM #63371Forse sono arrivato al dunque:
p=21
atr = averagetruerange[p]
hi = highest[p](atr)
lo = lowest[p](atr)
atrx =averagetruerange[21](close)oscillator = ((atrx – lo) / (hi – lo) * 100)
RETURN oscillator
Dovrebbe essere questo, ovviamente ci sono arrivato grazie a voi 🙂
02/21/2018 at 11:30 AM #63373Allora era come lo intendevo io, esatto…puoi semplificare così,
in questo modo P=periodo ATR(close), N=numero giorni per considerare il massimo e il minimo dell’ATR, nel tuo caso entrambi i valori sono 21
12345678910p=21N=21atr = averagetruerange[p](close)hi = highest[N](atr)lo = lowest[N](atr)oscillator = ((atr – lo) / (hi – lo) * 100)RETURN oscillator1 user thanked author for this post.
02/21/2018 at 1:41 PM #6338902/21/2018 at 3:03 PM #63401 -
AuthorPosts
Find exclusive trading pro-tools on