Duvida: erro no calculo de indicador

 

Ola pessoal tudo bem??


Sou iniciante. Estou desenvolvendo um primeiro indicador para me familiarizar com a sintaxe da linguagem. O indicador inicialmente retorna 1 se a media movel tiver crescendo e -1 se tiver caindo.


//---

   CopyBuffer(iMA(_Symbol,_Period,periodo,0,MODE_EMA,PRICE_CLOSE),0,0,rates_total,ma);

  for(int i=0;i<rates_total-1;i++)

     {     

     if(ma[i]>ma[i+1])

        TendBuffer[i]=-1;

     else

        TendBuffer[i]=1;

     }

//--- return value of prev_calculated for next call

   return(rates_total);


Ta funcionando normalmente. Porem o ultimo valor tem 2!!!!! como isto pode acontecer?



Por favor , me digam que estou fazendo de errado.


Agradeço antecipadamente qualquer tipo de ajuda.


Grato,


Leonardo carneiro

+86 9.9950.0063