Не хочет читать бид и аск тики, только ласт

 

Есть код, написан не мной, почему то читает только ласт тики а на бид и аск тики реагировать не хочет.

Кто увидит в чем проблема подскажите.

//+------------------------------------------------------------------+
enum ENUM_TYPE_TICK
  {
   ask_tick,
   bid_tick,
   last_tick
  };

 затем 

input ENUM_TYPE_TICK type_tick=last_tick;
input int tick_analys=10;
input int      ticks=10;  // количество запрашиваемых тиков

MqlTick tick_array[];
double tick[];
string comments=NULL;
string modes;
string signal;
ENUM_ORDER_TYPE Signal=WRONG_VALUE;
int total_buy=0;
int total_sell=0;
double Volume;

 и

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   ArrayResize(tick,tick_analys+1);
   trade.SetExpertMagicNumber(Magic);
//---
   return(INIT_SUCCEEDED);
  }


 еще 

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   comments=NULL;
//--- запросим тики
   int copied=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL,0,ticks);

//--- если тики получены, то выведем на график значения Bid и Ask  
   if(copied>0)
     {
      ArraySetAsSeries(tick_array,true);
      //--- сформируем содержимое комментария
      int n=0;
      //string tick_string;
      for(int i=0;i<copied && n<tick_analys+1;i++)
        {

         if(type_tick==ask_tick)
           {
            if(tick_array[i].flags>6)continue;
            tick[n]=tick_array[i].ask;
            n++;
            //modes="MODE: ASK\r\n";
            //StringConcatenate(tick_string,IntegerToString(n,2,'0'),"  ",
            //                  StringFormat("%s.%03d ",TimeToString(tick_array[i].time,TIME_MINUTES|TIME_SECONDS),tick_array[i].time_msc%1000),"  ",
            //                  DoubleToString(tick_array[i].ask,Digits()),"  ",
            //                  "\r\n"
            //                  );
            //comments+=tick_string;
           }
         if(type_tick==bid_tick)
           {
            if(tick_array[i].flags>6)continue;
            tick[n]=tick_array[i].bid;
            n++;
            //modes="MODE: BID\r\n";
            //StringConcatenate(tick_string,IntegerToString(n,2,'0'),"  ",
            //                  StringFormat("%s.%03d ",TimeToString(tick_array[i].time,TIME_MINUTES|TIME_SECONDS),tick_array[i].time_msc%1000),"  ",
            //                  DoubleToString(tick_array[i].bid,Digits()),"  ",
            //                  "\r\n"
            //                  );
            //comments+=tick_string;
           }
         if(type_tick==last_tick)
           {
            if(tick_array[i].flags<8)continue;
            tick[n]=tick_array[i].last;
            n++;
            //modes="MODE: LAST\r\n";
            //StringConcatenate(tick_string,IntegerToString(n,2,'0'),"  ",
            //                  StringFormat("%s.%03d ",TimeToString(tick_array[i].time,TIME_MINUTES|TIME_SECONDS),tick_array[i].time_msc%1000),"  ",
            //                  DoubleToString(tick_array[i].last,Digits()),"  ",
            //                  "\r\n"
            //                  );
            //comments+=tick_string;
           }

        }


  работает только по ласт тику..... 

Причина обращения: