Привет ребята! Как подсчитать количество тиков в секунду? Кто может помочь с примером? Спасибо.
Aibek Mugiynov:
Привет ребята! Как подсчитать количество тиков в секунду? Кто может помочь с примером? Спасибо.
Привет ребята! Как подсчитать количество тиков в секунду? Кто может помочь с примером? Спасибо.
= число тиков / секунды
o_O:
= число тиков / секунды
//--------------------------------------------------------------------
int Tick;
//--------------------------------------------------------------------
int start()
{
Tick++;
int schet = Tick/Seconds();
Print("Тиков в секунду ",schet);
return;
}
//--------------------------------------------------------------------
Вот так?
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;
}
//--------------------------------------------------------------------
Вот так?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();
}
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 , наш тик будет дальше расти , главное новое минусуем предыдущим значением и получаем изменения в секундах! Помогите реализовать это) спасибо
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь