/*[[ Name := XOINDATR Author := RickD Link := Notes := Separate Window := yes First Color := DodgerBlue First Draw Type := histogram First Symbol := 217 Use Second Data := yes Second Color := red Second Draw Type := histogram Second Symbol := 218 ]]*/ Inputs: P_ATR(14); vars: FTime(true), MyBars(0), j(0), shift(0), valuel(0), valueh(0), KirPer(0); vars: Kir(0), Hi(0), Lo(0), KirUp(0), KirDn(0), mode(0), cur(0), kr(0), no(0), kk(0), kn(0); SetLoopCount(0); if FTime then { MyBars = P_ATR; FTime = false; } If MyBars < Bars Then { for j = MyBars+1 To Bars begin shift = Bars-j; KirPer = iATR(P_ATR, shift)/point; if Kir < 1 then { Hi = O[shift]; Lo = O[shift]; Kir = 1; }; cur = O[shift]; if cur > (Hi+KirPER*point) then { kk = ceil((cur - (Hi+KirPER*point))/(KirPER*point)); //if kk<=1 then kk=1; Kir = Kir+1; Hi = cur; Lo = cur-KirPER*point; KirUp = 1; KirDn = 0; kr = kr+kk; no = 0; }; if cur < (Lo-KirPER*point) Then { kn=ceil (((Lo-KirPER*point)-cur)/(KirPER*point)); //if kn<=1 then kn=1; Lo = cur; Hi = cur+KirPER*point; KirUp = 0; KirDn = 1; Kir = Kir+1; no = no+kn; kr = 0; }; valuel = 0-no; valueh = kr; SetIndexValue(shift, valueh); SetIndexValue2(shift, valuel); end; MyBars = Bars; };