//+------------------------------------------------------------------+ //| TimeCounter.mqh | //| Copyright 2016, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Счётчик времени | //+------------------------------------------------------------------+ class CTimeCounter { private: //--- Шаг счётчика uint m_step; //--- Временной интервал uint m_pause; //--- Счётчик времени uint m_time_counter; //--- public: CTimeCounter(void); ~CTimeCounter(void); //--- Установка шага и временного интервала void SetParameters(const uint step, const uint pause); //--- Проверяет прохождение указанного временного интервала bool CheckTimeCounter(void); //--- Обнуление счётчика void ZeroTimeCounter(void) { m_time_counter = 0; } }; //+------------------------------------------------------------------+ //| Constructor | //+------------------------------------------------------------------+ CTimeCounter::CTimeCounter(void) : m_step(16), m_pause(1000), m_time_counter(0) { } //+------------------------------------------------------------------+ //| Destructor | //+------------------------------------------------------------------+ CTimeCounter::~CTimeCounter(void) { } //+------------------------------------------------------------------+ //| Установка шага и временного интервала | //+------------------------------------------------------------------+ void CTimeCounter::SetParameters(const uint step, const uint pause) { m_step = step; m_pause = pause; } //+------------------------------------------------------------------+ //| Проверяет прохождение указанного временного интервала | //+------------------------------------------------------------------+ bool CTimeCounter::CheckTimeCounter(void) { //--- Увеличим счётчик, если не прошли указанный временной интервал if(m_time_counter < m_pause) { m_time_counter += m_step; return(false); } //--- Обнулить счётчик m_time_counter = 0; return(true); } //+------------------------------------------------------------------+