Refresh

Обновляет все необходимые данные.

virtual bool  Refresh()

Возвращаемое значение

true, если нужна дальнейшая обработка тика, иначе - false.

Примечание

Определяет необходимость и возможность обработки. Если обработка тика не нужна (или невозможна), возвращает false. Если обработка нужна, обновляет котировки и данные всех индикаторов и таймсерий и возвращает true.

Реализация

//+------------------------------------------------------------------+
//| Refreshing data for processing                                   |
//| INPUT:  no.                                                      |
//| OUTPUT: true-if successful, false otherwise.                     |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CExpert::Refresh()
  {
   MqlDateTime time;
//--- refresh rates
   if(!m_symbol.RefreshRates()) return(false);
//--- check need processing
   TimeToStruct(m_symbol.Time(),time);
   if(m_period_flags!=WRONG_VALUE && m_period_flags!=0)
      if((m_period_flags & TimeframesFlags(time))==0) return(false);
   m_last_tick_time=time;
//--- refresh indicators
   m_indicators.Refresh();
//--- ok
   return(true);
  }