Programmazione Prorealtime Algoritmo EMA in Pro Real Time (1 Viewer)

Ciao a tutti,

avrei bisogno di un chiarimento su come Pro Real Time calcola la media mobile esponenziale.

Ho scritto il seguente programma in ProBuilder, in cui confronto una media mobile esponenziale a 20 periodi calcolata secondo l'algoritmo e la EMA calcolata con la funzione predefinita ExponentialAverage[n](close).



val=20
sMedia=Average[val]
alpha=2/(val+1)

FOR I=val-1 DOWNTO 0 DO
num=I
sMedia=close[num]*alpha + sMedia*(1-alpha)
NEXT
EMA=sMedia
ENDIF

EMA2=ExponentialAverage[val](close)

return EMA, EMA2 coloured (255, 0, 0)



Le curve che si ottengono sono molto simili ma non perfettamente sovrapponibili, evidentemente la funzione predefinita usa un algoritmo leggermente diverso. Sapreste darmi qualche suggerimento?

Grazie
 

autotrader

Forumer attivo
Ciao a tutti,

avrei bisogno di un chiarimento su come Pro Real Time calcola la media mobile esponenziale.

Ho scritto il seguente programma in ProBuilder, in cui confronto una media mobile esponenziale a 20 periodi calcolata secondo l'algoritmo e la EMA calcolata con la funzione predefinita ExponentialAverage[n](close).



val=20
sMedia=Average[val]
alpha=2/(val+1)

FOR I=val-1 DOWNTO 0 DO
num=I
sMedia=close[num]*alpha + sMedia*(1-alpha)
NEXT
EMA=sMedia
ENDIF

EMA2=ExponentialAverage[val](close)

return EMA, EMA2 coloured (255, 0, 0)



Le curve che si ottengono sono molto simili ma non perfettamente sovrapponibili, evidentemente la funzione predefinita usa un algoritmo leggermente diverso. Sapreste darmi qualche suggerimento?

Grazie

di solito le differenze sono da ricercare nei valori di inizializzazione, un pò generico ma vedi tu, io mi son trovato a dover riprodurre indicatori di vari piattaforme ed il problema spesso era là.
 

Users who are viewing this thread

Alto