Сколько тиков в секунду
Привет ребята! Как подсчитать количество тиков в секунду? Кто может помочь с примером? Спасибо.
= число тиков / секунды
= число тиков / секунды
int Tick;
//--------------------------------------------------------------------
int start()
{
Tick++;
int schet = Tick/Seconds();
Print("Тиков в секунду ",schet);
return;
}
//--------------------------------------------------------------------
int Tick;
//--------------------------------------------------------------------
int start()
{
Tick++;
int schet = Tick/Seconds();
Print("Тиков в секунду ",schet);
return;
}
//--------------------------------------------------------------------
Нет. Либо считайте заданное количество тиков, потом делите на время, за которое эти тики были собраны, либо считайте тики за определённое количество секунд. Секунды считать лучше в таймере, но можно просто вычесть начальное время из конечного.
У вас сейчас деление постоянно растущего количества тиков на количество секунд, прошедших с начала текущей минуты, то есть скорость будет расти и расти. Счётчики надо обнулять после принта.
Пример скиньте пожалуйста, что-то башка не варит))
Как-то так:
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();
}
Ну и получили среднее количество тиков в секунду за все время работы советника.
получили сферичного коня в вакууме :-)
Seconds() раз в минуту обнуляется, а GetMicrosecondsCount() плевать на состояние связи
Можно просто: объем на М1 на первом (сформированном баре) поделить на 60
Ну и получили среднее количество тиков в секунду за все время работы советника.