ATR/Bollinger composite bands v2.0```l0 {ATR/Bollinger composite bands v2.0 Copyright 2004-2009 Jose Silva. For personal use only. All code remains the property of Jose Silva. http://www.metastocktools.com } {Inputs} type:=Input("Type: [1]ATR, [2]BB, [3]Composite1, [4]Comp2",1,4,1); pds:=Input("BB/ATR periods",1,252,21); dv:=Input("BB/ATR deviations",0,10,2); {Bollinger bands} BBup:=BBandTop(C,pds,S,dv); BBdw:=BBandBot(C,pds,S,dv); {ATR bands - MetaStockTools.com version} pds:=pds/2; ATup:=Mov(C,pds,TRI)+Mov(ATR(1),pds,TRI)*dv; ATdw:=Mov(C,pds,TRI)-Mov(ATR(1),pds,TRI)*dv; {Composite bands 1: ATR/BB bands closest to price bars} HiUp:=Max(ATup,BBup); LoUp:=Min(ATup,BBup); HiDw:=Max(ATdw,BBdw); LoDw:=Min(ATdw,BBdw); CompUp1:=LoUp; CompDw1:=HiDw; {Composite bands 2: ATR/BB bands closest to price bars, and not touching price bars where possible} CompUp2:=If(LoUpL,LoDw,HiDw); {Final bands} up:=If(type=1,ATup,If(type=2,BBup, If(type=3,CompUp1,CompUp2))); dw:=If(type=1,ATdw,If(type=2,BBdw, If(type=3,CompDw1,CompDw2))); {Plot bands on price chart} up;dwow$cr$`cr`$erQbw `crͫcr0%w LmwQmw$p'#lwmwer_$wAQmwmwcr `mwd w_t wwh`p `crr&wrww `% @:w% `s$Hw8$sg6Ors$Hw8$UFu$VFuGYTuggUFuprHu\VFuHcrsDZcrD*crgowgDcrg#cr##pbw #crͫcr0%w mwQmwH$p'#lwmw"p4$wAQmwmwcr #mwH40A"H$wAmwH wwd wl "JwATR/Bollinger composite bands v2.0omposite bands v2.0emains the property of Jose Silva. http://www.metastocktools.com } {Inputs} type:=Input("Type: [1]ATR, [2]BB, [3]Composite1, [4]Comp2",1,4,1); pds:=Input("BB/ATR periods",1,252,21); dv:=InputF1N?@|CA A@@@TYPEPDSDVBBUPBBDWATUPATDWHIUPLOUPHIDWLODWCOMPUP1COMPDW1COMPUP2COMPDW2UPDW0Type: [1]ATR, [2]BB, [3]Composite1, [4]Comp2BB/ATR periodsBB/ATR deviations??@|C A?A@CSCS'CXI'X('CXI'X(> # #YH[LZZZZZZd2composite bands v2.0xw0ATR/Bollinger composite bands