Hi Spirit:

I have tried to write a Variable Moving Average. This one too is not working.

What am I missing when it comes to series creation inside a function?

// NOT WORKING
///////////////////////////////////////////////////

///// Variable Moving Average /////

///////////////////////////////////////////////////

vars VariableMovingAverage (var* Input, int MAPeriod, int CMOPeriod)
{

int factor = (2/((MAPeriod)+1));

vars VI = series(abs((CMO(Input, CMOPeriod))/100) );

int m = max(MAPeriod, CMOPeriod);

vars v = series(0);

int i;

for (i=(NumBars-1); i>0; i--)
{
if (i>(NumBars-1-m))
v[i]= Input[i];
else
v[i] = (factor*VI[i]*Input[i]) + ((1-factor* VI[i])* v[i+1]);
} //end of loop

return v;
} //end of function


Thanks so much,

OptimusPrime