{
BandPass Filter
© 2013 John F. Ehlers
}
Inputs:
Period(20),
Bandwidth(.3);
Vars:
alpha2(0),
HP(0),
gamma1(0),
alpha1(0),
beta1(0),
BP(0),
alpha2 = (Cosine(.25*Bandwidth*360 / Period) + Sine (.25*Bandwidth*360 / Period) - 1) / Cosine(.25*Bandwidth*360 / Period);
HP = (1 + alpha2 / 2)*(Close - Close[1]) + (1- alpha2)*HP[1];
beta1 = Cosine(360 / Period);
gamma1 = 1 / Cosine(360*Bandwidth / Period);
alpha1 = gamma1 - SquareRoot(gamma1*gamma1 - 1);
BP = .5*(1 - alpha1)*(HP - HP[2]) + beta1*(1 + alpha1)*BP[1] - alpha1*BP[2];