Oscillatore atr% 0-100

Viewing 15 posts - 1 through 15 (of 23 total)
  • Author
    Posts
  • #61350 quote
    Jim8137
    Participant
    Junior

    Ciao a tutti,

    avrei bisogno di un semplice oscillatore atr% —  ((AverageTrueRange[n](Close) / (Close)) * 100) — che oscilli tra 0 e 100 un pò come fa un RSI.

    Se potete aiutarmi ve ne sarei grato.

    Jim

    #61361 quote
    maximus78
    Participant
    Senior

    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

    P=14
    N=14
    ATR=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 / mmRibasso
    
    mioATR = 100 - 100 / (1 + RS)
    
    RETURN mioATR AS "ATROSCILLATOR", 30, 70, 50, 100,0
    Nicolas thanked this post
    #61414 quote
    Jim8137
    Participant
    Junior

    Ti 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

    #61448 quote
    maximus78
    Participant
    Senior

    Ciao 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

    N=1000
    P=14
    
    a=averagetruerange[P](close)
    b=highest[N](a)
    c=(100/b)*a
    
    return c
    #61496 quote
    Jim8137
    Participant
    Junior

    Ottimo Max, questo va bene.

    ti ringrazio molto.

    #61510 quote
    maximus78
    Participant
    Senior

    Di niente!

    Max

    #63287 quote
    Jim8137
    Participant
    Junior

    Ciao 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.

    #63325 quote
    maximus78
    Participant
    Senior

    Ciao, 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

    Nicolas thanked this post
    #63358 quote
    Nicolas
    Keymaster
    Master

    Stai creando un oscillatore stocastico ma con ATR al posto del prezzo.

    p=21
    REM Computes the highest and lowest ATR on p bars
    atr = averagetruerange[p]
    
    hi = highest[p](atr)
    lo = lowest[p](atr)
    
    REM Let's build the oscillator
    
    oscillator = ((close - lo) / (hi - lo) * 100)
    
    RETURN oscillator
    

    L’unica differenza è che l’oscillatore non è levigato e non ha alcun segnale come lo stocastico originale.

    stochastic-of-ATR.png stochastic-of-ATR.png
    #63367 quote
    Jim8137
    Participant
    Junior

    Intanto 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

    #63369 quote
    Jim8137
    Participant
    Junior

    Ciao 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.

     

     

     

    #63371 quote
    Jim8137
    Participant
    Junior

    Forse 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 🙂

    #63373 quote
    maximus78
    Participant
    Senior

    Allora 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

        p=21
        N=21
        atr = averagetruerange[p](close)
    
        hi = highest[N](atr)
        lo = lowest[N](atr)
    
        oscillator = ((atr – lo) / (hi – lo) * 100)
    
        RETURN oscillator
    Nicolas thanked this post
    #63389 quote
    Nicolas
    Keymaster
    Master

    sì! scusa per l’errore nel mio codice, ho dimenticato di sostituire “Close” con una variabile atr …

    #63401 quote
    Jim8137
    Participant
    Junior

    Perfetto!

    Ottimo ragazzi vi ringrazio per la pazienza.Ben fatto Nicolas.

Viewing 15 posts - 1 through 15 (of 23 total)
  • You must be logged in to reply to this topic.

Oscillatore atr% 0-100


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
Jim8137 @jim8137 Participant
Summary

This topic contains 22 replies,
has 4 voices, and was last updated by Marcot18
7 years, 10 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 02/03/2018
Status: Active
Attachments: 2 files
Logo Logo
Loading...