iMAOnArray это баг или моя ошибка?

 

Плиз хелп. Выкладываю код. Скажите почему разные значения выдают iMa и iMAOnArray. Перепробовал разные варианты ( те которые //). Ничего не помогает.


#property copyright "Copyright 2014,"

#property link      ""

#property version   "1.00"

#property strict

//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int OnInit()

  {

//---

   double p,t;

   double pp[];

   ArrayResize(pp,96);

   ArraySetAsSeries(pp,true);

   p=iMA(Symbol(),0,96,0,MODE_EMA,PRICE_CLOSE,0);

   ArrayCopy(pp,Close,0,0,96);

   //CopyClose(Symbol(),0,0,96,pp);

   //for(int i=0; i<96;i++){pp[i]=Close[i];}

   t=iMAOnArray(pp,0,96,0,MODE_EMA,0);

   Print(" iMa=",p," iMAON=",t);

//---

   return(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Expert deinitialization function                                 |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

//---

   

  }

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

void OnTick()

  {

//---

   

  }

//+------------------------------------------------------------------+

 
#property strict

int OnInit()
  {
   double p,t;
   double pp[];

   ArrayResize(pp,96);
   ArraySetAsSeries(pp,true);

   p=iMA(Symbol(),0,96,0,MODE_EMA,PRICE_CLOSE,0);
   ArrayCopy(pp,Close,0,0,96);

   //CopyClose(Symbol(),0,0,96,pp);
   //for(int i=0; i<96;i++){pp[i]=Close[i];}

   t=iMAOnArray(pp,0,96,0,MODE_EMA,0);
   Print(" iMa=",p," iMAON=",t);

   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
  }

 
кнопка SRC на панели при написании коментария для вставки кода
Вот ваш код так хоть прочитать можно.
 
ALXIMIKS:
кнопка SRC на панели при написании коментария для вставки кода
Вот ваш код так хоть прочитать можно.
 
Прошу прощения, не знал.
Ну а что касается самой темы, что не так?
 
Интересно, а зачем же OnTick, если весь код и так в OnInit прекрасно помещается )))
 
Нету ни какой ошибки все работает верно как и должно.
Ема требует разгона для получения значений.
При расчете iMA - разгон берется от Bars - 1 и рассчитываются в кеш значения для всех баров. Потом возвращается значение только для нужного из кеша.
При расчете iMAOnArray - разгон берется от размера массива. Так как разгон короче, то и получается разногласие в результатах.
И чем ближе к началу разгона - тем больше разногласие.
Для того что бы выровнять результаты в данном случае попробуйте увеличить размер массива для  расчета iMAOnArray  в 2.05 раза.
 
Спасибо разобрался сам, действительно все дело в разгоне.
Причина обращения: