Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
11 février 2008 1 11 /02 /février /2008 20:32

IIR Filter et FIR Filter by J. Ehlers.

 

Dans le numéro de S&C de janvier 2002, J. Ehlers présente 2 filtres dans un article "Zero-lag Data Smoothers" : Infinite Impulse Response (IIR) Filter et Finite Impulse Response (FIR) Filter.  Voici une vue de l'ES avec les différentes courbes, le zero-lag FIR (en blanc), le mini-lag FIR (en jaune), l'adjustable-lag FIR (en rouge avec lag=2.5) et le zero-lag IIR (en noir avec n=11) :

 

hk33.gif

 

Voici le code pour Prorealtime, il faut introduire le lag (lag) et la période (n) en variable :

 

rem zerolag fir filter by J. Ehlers
rem entrer le lag compris entre 0 et 2.5
rem entrer la periode 11 ou 9 recommandé (n)
////////////////  Zero-lag F I R  FILTER
pr=close
fir=(pr+2*pr[1]+3*pr[2]+3*pr[3]+2*pr[4]+pr[5])/12
///////////////  Mini-lag F I R  FILTER
mini=(pr+3.5*pr[1]+4.5*pr[2]+3*pr[3]+0.5*pr[4]-0.5*pr[5]-1.5*pr[6])/10.5
////////////// Adjustable-lag F I R  FILTER
firvar=(pr+(2+lag)*pr[1]+(3+lag)*pr[2]+3*pr[3]+(2-lag)*pr[4]+(1-lag)*pr[5]+(0-lag)*pr[6])/(12-lag)
////////////////  Zero-lag I I R  FILTER
k=2/(n+1)
x=(n-1)/2
x=round(x)
if barindex > 50 then
    ema=k*(2*pr-pr[x])+(1-k)*ema[1]
endif

return fir, mini,firvar,ema

Partager cet article

Repost 0
Published by hk_lisse - dans Indicateurs
commenter cet article

commentaires