Это особенность работы GetTickCount.
Используйте QueryPerformanceFrequency/QueryPerformanceCounter или инструкцию rdtsc (для однопроцессорных систем). В обоих случаях, наверное, понадобится писать dll.
узнать бы что из себя всё это представляет и как эт использовать
Когда дело доходит до миллисекунд, видно сразу - дело "серьезное"
миллисекунды же нужны
Sorento
не оч понял твой код.
что возвращает GetSystemTime() и зачем сдвигать биты?
while(!IsStopped()) { if(ExtHandle!=TimeLocal()%60) // смена секунды { gSystemTime(b); ObjectSetText("ServerTime", StringConcatenate(TimeToStr(TimeLocal(),TIME_SECONDS),":")+b[6]); WindowRedraw(); ExtHandle=TimeLocal()%60; } }
почему-то b[6] не всегда == 0
Файлы:
time.ms.mq4
2 kb
Про GetSystemTime читайте в MSDN. Там значения хранятся в структрах из двухбайтовых слов, поэтому в MQL их естественно надо преообразовывать к 32 битам. А системный таймер конечно же нельзя использовать для точных расчётов, т.к. он даёт погрешность 16-20 мс.
Meat:
я гуглил, так и не понял что возвращает функция, написано тоьлко что системное время, если в нём содержатся и дата и время до миллисекунд, то непонятно как их вывести
Про GetSystemTime читайте в MSDN.
eddy:
я гуглил, так и не понял что возвращает функция, написано тоьлко что системное время, если в нём содержатся и дата и время до миллисекунд, то непонятно как их вывести
Так вам же Sorento показал, как их вывести.
я гуглил, так и не понял что возвращает функция, написано тоьлко что системное время, если в нём содержатся и дата и время до миллисекунд, то непонятно как их вывести
он показал как вывести миллисекунды, часы:минуты выводились через другую функцию
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
скрипт показывает обновляющееся каждую секунду время прошедшее с его старта, с миллисекундами.
то, что миллисекунды (мс) уменьшаются - естесственно, в связи с затратой времени на операции, но раз в несколько секунд они увеличиваются на 20.
непонятно с чем связано такое поведение счётчика системы, встаёт задача найти его аналог, софт какой-нибудь, и наладить с ним связь в МТ.