Fellas, look this over for your CCI equations....Runs faster than the others.
Too much calculation in an inherently slow system to not economize on the amount of calculation.....
This is pretty new, and I haven't checked it thoroughly, but it runs in QP+V2...If you find errors, let me know. It should be close....
------------------ input = [your choice of list] output = "CCITEST1.lst" exchange nasdaq,nyse,amex integer i, N float CCIT, CCIY, DAT, DAY, AT, AY N:=13 // Number of periods in CCI calculation //Calculate simple MA of typical price for N periods //for Today and Yesterday. AT/AY are running averages. AT := 0 for i=1 to N-1 AT := AT+close(-i)+high(-i)+low(-i) next i AY:=(close(-N)+high(-N)+low(-N)+AT)/(3*N) AT:=(close(0)+high(0)+low(0)+AT)/(3*N) //println "AT":4,AT:8:2,"AY":4, AY:8:2 //Calculate simple MA of absolute value of difference between //current typical price and above AT/AY over N periods DAT:=0 DAY:=0 for i=0 to N-1 DAT:= DAT+abs((close(-i)+high(-i)+low(-i))/3-AT) DAY:= DAY+abs((close(-i-1)+high(-i-1)+low(-i-1))/3-AY) next i if DAT=0 then DAT:=0.0001 else DAT:=DAT/N endif if DAY=0 then DAY:=0.0001 else DAY:=DAY/N endif //Println "DAT":4,DAT:8:2,"DAY":4,DAY:8:2 //Calculate CCI for today CCIT and yesterday CCIY CCIT:= ((close(0)+high(0)+low(0))/3 - AT)/(0.015*DAT) CCIY:= ((close(0)+high(0)+low(0))/3 - AY)/(0.015*DAY) //println symbol:8, "Tod CCI":9, CCIT:8:1,"Yes CCI":9, CCIY:12:1 //Now look for crossover with -150 if CCIT>-150 and CCIY<-150 then println symbol:8, "CCI Today":11,CCIT:6:0,"CCI Yesterday":15,CCIY:6:0 endif |