Сколько тиков в секунду

 
Привет ребята! Как подсчитать количество тиков в секунду? Кто может помочь с примером? Спасибо.
 
Aibek Mugiynov:
Привет ребята! Как подсчитать количество тиков в секунду? Кто может помочь с примером? Спасибо.

= число тиков / секунды

 
o_O:

= число тиков / секунды

//--------------------------------------------------------------------
int Tick;                            
//--------------------------------------------------------------------
int start()                          
  {
   Tick++;  
  int schet = Tick/Seconds();                          
  Print("Тиков в секунду ",schet);  
   return;                            
  }
//--------------------------------------------------------------------
Вот так?
 
Aibek Mugiynov:
//--------------------------------------------------------------------
int Tick;                            
//--------------------------------------------------------------------
int start()                          
  {
   Tick++;  
  int schet = Tick/Seconds();                          
  Print("Тиков в секунду ",schet);  
   return;                            
  }
//--------------------------------------------------------------------
Вот так?

Нет. Либо считайте заданное количество тиков, потом делите на время, за которое эти тики были собраны, либо считайте тики за определённое количество секунд. Секунды считать лучше в таймере, но можно просто вычесть начальное время из конечного.

У вас сейчас деление постоянно растущего количества тиков на  количество секунд, прошедших с начала текущей минуты, то есть скорость будет расти и расти. Счётчики надо обнулять после принта.

 
Пример скиньте пожалуйста, что-то башка не варит))
 
Aibek Mugiynov:
Пример скиньте пожалуйста, что-то башка не варит))

Как-то так:

int tick=0;
double schet = 0;
uint last=GetMicrosecondCount();                          

void OnTick()                          
{
  double seconds=(GetMicrosecondCount()-last)/(1e+6);
  if(seconds==0) return;
     tick++;  
     schet = tick/seconds;
     Comment("Тиков в секунду ",DoubleToString(schet,3));  
     tick=0;
     last=GetMicrosecondCount();
}
 
Ну и получили среднее количество тиков в секунду за все время работы советника. 
 
Dmitry Fedoseev:
Ну и получили среднее количество тиков в секунду за все время работы советника. 

получили сферичного коня в вакууме :-)

Seconds() раз в минуту обнуляется, а GetMicrosecondsCount() плевать на состояние связи

 

Можно просто: объем на М1 на первом (сформированном баре) поделить на 60

iVolume(NULL,1,1)/60


 

 
Dmitry Fedoseev:
Ну и получили среднее количество тиков в секунду за все время работы советника. 
А если подумать?
 
Можно ли сделать так, например через OnTimer получать секунды , а через OnStart тики.. 
Пример: 1 секунда - 0 тик, 2 секунда - 1ый тик, 3 секунда 3ий тик, и так далее тик растет.. со 2ой секунды по 3ей число тиков увеличилось в 2 тика, зная новое значение т.е 3 секунды это 3 тика минус 2 секунды 1 тик, получается изменился на 2 тика! Далее если значение равны типа 2ая секунда 3 тика и 3ая секунда 3, то тут просто будет 0. Вот как узнать предыдущее значение? То есть во 2ой секунде сколько было тиков.. вроде простоя задача, но я как то не силен в алгоритмии mql4 , наш тик будет дальше расти , главное новое минусуем предыдущим значением и получаем изменения в секундах! Помогите реализовать это) спасибо
Причина обращения: