====================== Weekly Bollinger Bands ====================== A prerequisite for this indicator is Jose Silva's "Calendar Week counter". "Weekly Bollinger Bands" plots weekly Bollinger Band signals on any daily chart. ---8<--------------------------- {Weekly Bollinger Bands} {© 2004 Roy Larsen, rlarsen@man.quik.co.nz} {for use on daily charts with Jose Silva's "Calendar Week counter"} N:=Input("Weekly Bollinger Band Periods",1,30,20); D:=Input("Standard Deviations",0,9,2); Ma:=Input("Base Average, 0=SMA 1=EMA",0,1,0); F:=Input("End of Week, 5=Friday 6=Saturday 7=Sunday",5,7,5); Q:=Input("Display Mode, 0=Static 1=Dynamic 2=Test",0,2,2); {0=Display, update on Friday when possible} {1=Display, update on each new bar} {2=Backtest, update on first bar of new week} G:=LastValue(Highest(Sum(DayOfWeek()=F,5))=5); I:=Fml("Calendar Week counter"); I:=Abs(I-ValueWhen(2-G,1,I)); M:=G OR I>0; F:=G OR (DayOfWeek()=F AND I=0); A:=LastValue(Cum(1)-1)=Cum(1); B:=LastValue(Cum(1))=Cum(1); J:=If(F,1,If(Alert(F,2)=0 AND M,2,0)); J:=If(A+LastValue(J)>2 OR B+(Q=1)=2,1,J); J:=If(G,1,If(Q=2 OR Cum(J)<=1,M*2,J)); K:=ValueWhen(1,J,If(J=1,C,ValueWhen(2-G,1,C))); K:=ValueWhen(1,K>0,K); Y:=2/(N+1); M:=(Cum(If(J,K,0))-ValueWhen(N+1,J,Cum(If(J,K,0))))/N; Me:=If(Cum(J>0)=1,K,ValueWhen(1,J,PREV)*(1-Y)+K*Y); N1:=LastValue((N>10)*10); N2:=LastValue((N>20)*20); X:=Power(M-ValueWhen(1,J,K),2)+ (N>1)*Power(M-ValueWhen(2,J,K),2)+ (N>2)*Power(M-ValueWhen(3,J,K),2)+ (N>3)*Power(M-ValueWhen(4,J,K),2)+ (N>4)*Power(M-ValueWhen(5,J,K),2)+ (N>5)*Power(M-ValueWhen(6,J,K),2)+ (N>6)*Power(M-ValueWhen(7,J,K),2)+ (N>7)*Power(M-ValueWhen(8,J,K),2)+ (N>8)*Power(M-ValueWhen(9,J,K),2)+ (N>9)*Power(M-ValueWhen(10,J,K),2)+ (N>10)*Power(M-ValueWhen(N1+1,J,K),2)+ (N>11)*Power(M-ValueWhen(N1+2,J,K),2)+ (N>12)*Power(M-ValueWhen(N1+3,J,K),2)+ (N>13)*Power(M-ValueWhen(N1+4,J,K),2)+ (N>14)*Power(M-ValueWhen(N1+5,J,K),2)+ (N>15)*Power(M-ValueWhen(N1+6,J,K),2)+ (N>16)*Power(M-ValueWhen(N1+7,J,K),2)+ (N>17)*Power(M-ValueWhen(N1+8,J,K),2)+ (N>18)*Power(M-ValueWhen(N1+9,J,K),2)+ (N>19)*Power(M-ValueWhen(N1+10,J,K),2)+ (N>20)*Power(M-ValueWhen(N2+1,J,K),2)+ (N>21)*Power(M-ValueWhen(N2+2,J,K),2)+ (N>22)*Power(M-ValueWhen(N2+3,J,K),2)+ (N>23)*Power(M-ValueWhen(N2+4,J,K),2)+ (N>24)*Power(M-ValueWhen(N2+5,J,K),2)+ (N>25)*Power(M-ValueWhen(N2+6,J,K),2)+ (N>26)*Power(M-ValueWhen(N2+7,J,K),2)+ (N>27)*Power(M-ValueWhen(N2+8,J,K),2)+ (N>28)*Power(M-ValueWhen(N2+9,J,K),2)+ (N>29)*Power(M-ValueWhen(N2+10,J,K),2); Ma:=If(Ma,Me,M); Sd:=D*Sqrt(X/N); Ma; {moving average} Ma+Sd; {Bollinger Band Top} Ma-Sd; {Bollinger Band Bottom} ---8<--------------------------- http://www.metastocktips.co.nz/