/*[[ Name := XOINDATR Author := SHARIPOV AINUR Link := AINURHAL@mail.ru Notes := POINT FIGURES INDICATOR Separate Window := YES First Color := red First Draw Type := histogram First Symbol := 217 Use Second Data := Yes Second Color := blue Second Draw Type := histogram Second Symbol := 218 ]]*/ Vars : cb(0),valuel(0),valueh(0),CurrentBar(0),KirPer(0); vars: KIR(0) ,Hi(0), Lo(0), KirUp(0), KirDn(0),mode(0),cnt(0),cnt1(0),cur(0),kr(0),no(0),kk(0),kn(0); SetLoopCount(0); For CB = 0 To bars begin CurrentBar=bars-CB; KirPer=(iATR(14,currentbar))/point; if Kir<1 then {; Hi=c[CurrentBar]; Lo=c[CurrentBar]; Kir=1; }; cur=(c[CurrentBar]); 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(CurrentBar, valueh); setIndexValue2(CurrentBar, valuel); end;