ima problem, wrong value ?

 
Hello, i am writing a ima routine to study the original ima, but i get different value. My routine is based on standard ima calculation.

Original iMA = 1.39742423
my ima = 1.39726915

and this give different value to my ea.
Any idea on why this different value ?
I use timeframe 1H
Thank you !


int Periodo = 10;
double iMA1 = iMA(NULL, 0, Periodo, 0, MODE_EMA, PRICE_HIGH, 0);

double Result[200];
double pr=2.0/(Periodo+1);

for(int i=Periodo-1; i>=0; i--)
{
if(i==Periodo-1)
Result[i+1]=High[i+1];
Result[i]=High[i]*pr+Result[i+1]*(1-pr);
}
double iMA2 = Result[0];

com = "iMA1 :"+iMA1+"\n"+"iMA2 :"+iMA2+"\n";
 
no one know it ?