Ребята помогите с мувингами

 

Привет, всем!!!

Программирую не первый день на MQL но столкнулся с проблемой 

Сделал свой индикатор в котором рассчитывается мувинг с сдвигом в прошлое, но проблема в том что он не отрисовывается, но если закрыть МТ или обновить данные в индикаторе, то линия отрисовывается.

for(int i=limit;i>=0;i--)
{
GreenBuffer[i] = iMA(NULL,0,80,-10,MODE_EMA,PRICE_CLOSE,i);
}
 

 
int start()
{
   int counted_bars=IndicatorCounted(),limit;
   if(counted_bars>0)counted_bars--;
   limit=Bars-counted_bars;
   if(limit>barsToProcess) limit=barsToProcess;
  
   for(int i=0;i<limit;i++)  
   { 
         GreenBuffer[i]=iMA(NULL,0,80,-10,MODE_EMA,PRICE_CLOSE,i);
   }
   return(0);
}
 
Richie:



int start()
{
int counted_bars=IndicatorCounted();

if (counted_bars>0)
counted_bars--;

int limit;
limit=Bars-counted_bars;

if (limit>BarsPaint)
limit = BarsPaint;

for(int i=limit;i>=0;i--)
{
   GreenBuffer[i] = iMA(NULL,0,80,-10,MODE_EMA,PRICE_CLOSE,i);

}

return(0);
}

 

Вроде так же но запоздалый мувинг на графике не отрисовывается(((( 

 

for(int i=limit;i>=0;i--)

Файлы:
ma.mq4  1 kb
 
Richie:

for(int i=limit;i>=0;i--)


Дружище не отрисовывается(((
 
factor_admin:
  

i = limit

если i  >=0 тогда

i-1

Это у вас так, Richie правильно вроде пример привел

 for(int i=0;i<limit;i++)

 

Бары исчисляются в обратном порядке: 0, 1, 2, 3 ........

for(int i=0;i<limit;i++) - от нуля, пока i<limit

0 - последний, т.е текущий.

 
factor_admin:
Дружище не отрисовывается(((

Пример в индикаторе МА сдвинута на 26 бар
Файлы: