/*[[ Name := % bollinger line Author := Nick Bilak Link := Separate Window := yes First Color := Fuchsia First Draw Type := line First Symbol := 108 Use Second Data := no Second Color := Aqua Second Draw Type := line Second Symbol := 108 ]]*/ Inputs: CountBars(500); Inputs: mprd(200),bprd(5),bdev(1),bdays(3),bhi(0.8),blo(0.2),rule4(0); var: i(0),buysig(false),sellsig(false),buyaddsig(true),selladdsig(true),exitlong(false),exitshort(false); var: firstTime(true),loopbegin(0),shift(0); var: pb(0); SetLoopCount(0); If firstTime then { loopbegin = CountBars; firstTime=False; }; loopbegin++; For shift = loopbegin downto 0 { //get %b //%b is defined as: %b= (Close - Lower Bollinger Band)/(Upper Bollinger Band - Lower Bollinger Band) pb=(C[shift]-iBandsEx(bprd,bdev,0,PRICE_CLOSE,MODE_LOW,shift))/(iBandsEx(bprd,bdev,0,PRICE_CLOSE,MODE_HIGH,shift)-iBandsEx(bprd,bdev,0,PRICE_CLOSE,MODE_LOW,shift)); SetIndexValue(shift,pb); loopbegin--; };