Jag försöker beräkna CCI (Commodity Channel Index), då jag inte hittade denna indikator i NAT.
CCI kan lätt ligga mellan -150,+150, men när jag räknar ut det så är det runt 0.01, och jag undrar vad som kan tänkas vara fel. Är det någon som kan hitta felet i min kod nedan (alternativt göra uträkningen i egen kod)?
Här finns definitionen av CCI:
http://www.stockcharts.com/school/do...nnel_index_cci
CCI kan lätt ligga mellan -150,+150, men när jag räknar ut det så är det runt 0.01, och jag undrar vad som kan tänkas vara fel. Är det någon som kan hitta felet i min kod nedan (alternativt göra uträkningen i egen kod)?

Här finns definitionen av CCI:
http://www.stockcharts.com/school/do...nnel_index_cci
Kod:
i5(
{Beräkna typical price}
mTypicalPrice1=ADD(ADD(H,L),C) {High + low+Close}
mTypicalPrice2=DIV(mTypicalPrice1,3) {Div by three}
{Beräkna CCI}
{CCI = (TP - SMA20 of TP) / (0.015 x Mean deviation)}
mCalculation1=MOV(mTypicalPrice2,20,S) {SMA20 of the TP}
mCalculation2=SUB(mTypicalPrice2,mCalculation1) {Calculate difference between TP and SMA20}
mCalculation3=ABS(mCalculation2) {Calculate absolute value}
mCalculation4=SUM(mCalculation3,20) {add the 20 latest absolute values}
mCalculation5=DIV(mCalculation4,20) {Divide by 20 to get average}
mCalculation6=DIV(mCalculation2,mCalculation5) {divide the TP-difference with the mean deviation}
mCalculation7=DIV(mCalculation6,0.015) {Divide by a constant factor of 0.015}
draw(mTypicalPrice2,1,kab)
draw(mCalculation7,2,raa)
draw(GE(mCalculation7,0.05),3,gadF) {<--- Borde kunna vara > 150 utan vidare, fel?}
draw(0,5,kpa)
)

Comment