Calcolo volatilità in ultime 10 candele

Forums ProRealTime forum Italiano Supporto ProBuilder Calcolo volatilità in ultime 10 candele

Viewing 7 posts - 1 through 7 (of 7 total)
  • #108142

    Buongiorno, devo eseguire uno script che per me è ancora troppo complesso.

     

    Praticamente si tratta di identificare nelle ultime 10 candele 2 “tipi” di TrueRange separati. Un TrueRange (chiamiamolo PlusTrueRange) si estrae solo se (close [n] > close [n-1]), altrimenti l’altro valore (MinusTrueRange) si estrae se (close [n] < close [n-1]).

    Il calcolo del TrueRange (Plus e Minus) è basato sempre sulla solita formula: max [(H-L), (H-(C-1)), ((C-1)-L)]

    Questo calcolo deve essere fatto a ritroso sulle ultime 10 candele, quindi si tratta di mettere a confronto ogni candela con la sua precedente per estrarre uno o l’altro valore.

    Alla fine, lo script deve restituirmi la somma di tutti i PlusTrueRange e la somma di tutti i MinusTrueRange identificati.

    Avevo pensato ad un ciclo di loop, ma è ancora troppo complicato per me che sono veramente ancora alle basi, quindi necessito di un aiuto.

     

    Grazie

     

     

    #108152

    Ho spostato il topic da ProOrder a ProBuilder perché non è una strategia.

    Si può fare, ma tieni presente che PlusTrueRange e MinusTrueRange non possono avere “vuoti” nel senso che quando calcoliamo PlusTrueRange, MinusTrueRange manterrà anche per quella candela.

    In un periodo di 10 candele avrai 20 valori, 10 per entrambe le variabili. Quando una delle due variabili non viene calcolata manterrà il valore della candela precedente, perché PRT non supporta vettori (array).

    Va bene? (se non ti va bene allora non si può fare ciò che chiedi)

    #108153

    Va bene, poi assemblerò io meglio i valori di output in un successivo codice. Anzi, eventualmente se puoi anche aggiungere il valore sommatorio come richiesto completeresti al meglio la mia richiesta.

    #108155

    Prova questo:

     

    #108158

    Grazie, adesso implemento tutto in un altro script e ti faccio sapere.

     

    PS

    Messa cosi era più facile di quanto immaginassi….senza loops 🙂

    #108159

    Una domanda, data la semplicità del codice a questo punto Plus/MinusTrueRange non poteva essere semplicemente sostituito dalla funzione “True Range” del sistema invece di eseguirla col calcolo max (…. ecc)?

    La domanda ha scopo didattico 🙂

    #108161

    Prova a sostituire i due IF…ENDIF con:

    Ovviamente puoi usare TR anche qui al posto della formula.

Viewing 7 posts - 1 through 7 (of 7 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login