EasyAndFastMod/TimeCounter.mqh
2026-01-15 07:23:17 -05:00

64 lines
5.1 KiB
MQL5

//+------------------------------------------------------------------+
//| 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);
}
//+------------------------------------------------------------------+