Следующий скрипт считает, что переменные равны, хотя на самом деле они отличаются одним тиком:
в datetime нету миллисекунд, потому и равны
https://docs.mql4.com/ru/basis/types/datetime
в datetime нету миллисекунд, потому и равны
https://docs.mql4.com/ru/basis/types/datetime
Да это всем известно !
Я имел ввиду, что компиляция прошла успешно, а тики не воспринимаются. Как сделать так, чтобы до них добраться или как ВЫ решаете эту проблему ?!
Да это всем известно !
Я имел ввиду, что компиляция прошла успешно, а тики не воспринимаются.
Компиляция всегда проходит успешно если в коде не обнаружено синтаксических ошибок, т.е. независимо от тиков и тараканов в голове кодера.
Вам же ответили, что в переменной datetime миллисекунды не учитываются, а соответственно попытки выявить разницу в менее, чем 1 секунда = 1000 миллисекунд невозможно.
Название топика вводит в заблуждение. Нужно было написать: как добраться до миллисекунд?
Компиляция всегда проходит успешно если в коде не обнаружено синтаксических ошибок, т.е. независимо от тиков и тараканов в голове кодера.
Вам же ответили, что в переменной datetime миллисекунды не учитываются, а соответственно попытки выявить разницу в менее, чем 1 секунда = 1000 миллисекунд невозможно.
Название топика вводит в заблуждение. Нужно было написать: как добраться до миллисекунд?
Понятно. Спасибо, что поправили ...
дык тик это и есть изменение цены - нет изменения нет тиков, миллисекунды ничего не решают, посмотрите сборщик тиков komposter
https://www.mql5.com/ru/code/7777,если не ошибаюсь, то там и реализована запись тика после изменения цены, средствами mql миллисекунды можно получить лишь GetTickCount( ), но и то лишь относительно старта системы
Вопрос был о миллисекундах, к тикам он никакого отношения не имеет. Топикстартер был введен в заблуждение функцией GetTickCount().
IgorM: средствами mql миллисекунды можно получить лишь GetTickCount( ), но и то лишь относительно старта системы
Когда угодно можно. Я этим часто пользуюсь для измерения производительности.
//+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start(){ int start_ms = GetTickCount(); while(!IsStopped()) Comment((GetTickCount() - start_ms)%1000," ms"); return(0); }
Sleep в цикле забыли !
А то такой скрипт терминал вешает ...

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Следующий скрипт считает, что переменные равны, хотя на самом деле они отличаются одним тиком: