Измерение интервалов между тиками с точностью до 1 ms

 
Говорят на Западе новая мода. Ставятся счетчики тиков, измеряющие расстояния между тиками и торгуют на основании обработки такой информации.

Ниже приводится советник, выводящий интервалы между тиками на график в виде комментария. Для нормальной работы советника нужно разрешить импорт функций из внешней DLL. Возможно, кто-нибудь допишет его до состояния "Грааль".

© Херург
Файлы:
mipc.mq4  3 kb
 
А зачем использовать kernel.dll и GetLocalTime(), если в MQL есть функция GetTickCount() ?
Внешняя DLL не нужна.
 
Better писал (а):
А зачем использовать kernel.dll и GetLocalTime(), если в MQL есть функция GetTickCount() ?
Внешняя DLL не нужна.

Можно использовать и GetTickCount(). После переполнения что со счетчиком происходит? У меня на Сервере Советников некоторые советники по 2 месяца и более без перерыва работают.

© Херург
 
Счетчик cбрасывается и начинает считать с нуля, когда со времени включения компа проходит 49.7 дней ! Или наш советник рассчитан на работу на вечном сервере ? Тогда он будет давать одну ошибку за 50 дней из-за переполнения и 7 ошибок за этот же период в начале каждой рабочей недели.

А Вы на своем сервере разрешаете использовать DLL?
 
Better писал (а):
Счетчик cбрасывается и начинает считать с нуля, когда со времени включения компа проходит 49.7 дней ! Или наш советник рассчитан на работу на вечном сервере ? Тогда он будет давать одну ошибку за 50 дней из-за переполнения и 7 ошибок за этот же период в начале каждой рабочей недели.

А Вы на своем сервере разрешаете использовать DLL?

С функцией GetTickCount() все понятно. Можно использовать. Я или не обратил на нее внимание или ее не было в момент написания советника. Вообще же я часто использую файловые операции и, следовательно, библиотеку kernell.dll. Так что мне было проще использовать системные фунции Win32.

Однажды (в самом начале) сломали защиту сервера и регистрировали нескольких пользователей с правами администратора. Поэтому не рискую разрешать внешние DLL при отсутствии исходника. Вон, MetaQuotes на чемпионате, тоже не рискуют их разрешать. Если исходник предоставлен - то можно.

© Херург
 
< Если исходник предоставлен - то можно. >

Я понял организаторов так, что использовать длл в принципе нельзя, независимо от наличия либо отсутствия исходника. Выдрать мой эксперт из длл невозможно вообще никак, хоть раскатайся в блин. Может, я чего не догнал?
 
Better писал (а):
Счетчик cбрасывается и начинает считать с нуля, когда со времени включения компа проходит 49.7 дней ! Или наш советник рассчитан на работу на вечном сервере ? Тогда он будет давать одну ошибку за 50 дней из-за переполнения и 7 ошибок за этот же период в начале каждой рабочей недели.
...

Как будет вести себя советник, если все-таки произойдет переполнение счетчика? Например, что будет возвращать такая функция?
double FullRand(bool start=false)
{
   string AddG;
   double Seed;
   
   if (start)
   {
      AddG=StringGetChar(DoubleToStr(Ask,4),StringLen(DoubleToStr(Ask,4))-1);
      Seed=StrToInteger(AddG+DoubleToStr(GetTickCount(),0));
      MathSrand(Seed);
   }   
   return (MathRand());
}
И происходит ли обнуление счетчика автоматически?
 
Better писал (а):
Счетчик cбрасывается и начинает считать с нуля, когда со времени включения компа проходит 49.7 дней ! Или наш советник рассчитан на работу на вечном сервере ? Тогда он будет давать одну ошибку за 50 дней из-за переполнения и 7 ошибок за этот же период в начале каждой рабочей недели.

А Вы на своем сервере разрешаете использовать DLL?

Вопрос. Счетчик после переполнения обнуляется или имеет значение величины переполнения? Если второй вариант все проблемы решаются очень просто - простой арифметикой.

 
Integer писал (а):

Вопрос. Счетчик после переполнения обнуляется или имеет значение величины переполнения? Если второй вариант все проблемы решаются очень просто - простой арифметикой.


В том то и дело, что я не могу это проверить и соответственно решить эту проблему.
 
А нет ли у кого тиковых историй с точностью до миллисекунды хотя бы на протяжении пары недель? Я вот начал собирать, но это пара дней, для статистики недостаточно...
 
Есть с точностью до секунд за 7 лет.
http://ratedata.gaincapital.com/