Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В mql5 такой информации тоже нет. Но есть события Timer, которые могут быть использованы с точностью до миллисекунды, хотя я не знаю, будет ли эта возможность доступна в новом mql4.
Текущий эквивалент mql4 выглядит примерно так, как показано ниже:
Я протестировал GTC, и он, похоже, прыгает на 16 миллисекунд. Выяснилось, что это, вероятно, какое-то ограничение Computer_Science в устаревших системах. Если кто-нибудь захочет объяснить почему, несмотря на мои бредни, я буду рад. Хм, интересно, у mql5 есть такие же ограничения? Хорошо, еще один тест на подходе :)
Всегда стоит усилий выяснить, какую функцию Widows API инкапсулировали разработчики MQL.
В данном случае ответ прост - они использовали GetTickCount В ней говорится:
Разрешение функцииGetTickCount ограничено разрешением системного таймера, которое обычно находится в диапазоне от 10 миллисекунд до 16 миллисекунд.
Я уже гуглил, и хотя я не очень понимаю, похоже, что GetTickCount() - это функция непосредственно из ОС windows. Она не предназначена для точности и не должна использоваться для вещей, которые требуют точности до уровня миллисекунд (даже если она возвращает значения в миллисекундах).
Я проводил тесты с sleep и с get tick count и всегда есть ошибки, трудно сказать, вызваны ли они Sleep или GTC, но я думаю, что оба.
Всегда стоит усилий выяснить, какую функцию Widows API инкапсулировали разработчики MQL.
В данном случае ответ прост - они использовали GetTickCount В ней говорится:
Разрешение функцииGetTickCount ограничено разрешением системного таймера, которое обычно находится в диапазоне от 10 миллисекунд до 16 миллисекунд.
Текущий эквивалент mql4 выглядит примерно так:
Я протестировал GTC, и он, похоже, прыгает на 16 миллисекунд. Выяснилось, что это, вероятно, какое-то ограничение Computer_Science в устаревших системах. Если кто-нибудь захочет объяснить почему, несмотря на мои бредни, я буду рад. Хм, интересно, у mql5 есть такие же ограничения? Хорошо, еще один тест на подходе :)Ограничение в 16 миллисекунд связано с аппаратным ограничением, но есть и другие способы получить более точный таймер.
В mql5 есть такое же ограничение для GetTickCount(), но, как я пытался объяснить выше, есть и другие возможности, которые можно использовать (события таймера).
Всегда стоит усилий выяснить, какую функцию Widows API инкапсулировали разработчики MQL.
В данном случае ответ прост - они использовали GetTickCount В ней говорится:
Разрешение функцииGetTickCount ограничено разрешением системного таймера, которое обычно находится в диапазоне от 10 миллисекунд до 16 миллисекунд.
Да, так написано, но трудно понять, что это на самом деле означает. Если разрешение составляет 16 мс, я бы ожидал увидеть значения 0,16,32,48... и т.д.
Я никогда не вижу ничего между 0 и 16, но я вижу все значения около 16.
Ограничение в 16 миллисекунд связано с аппаратным ограничением, но есть и другие способы получить более точный таймер.
В mql5 есть такое же ограничение для GetTickCount(), но, как я пытался объяснить выше, есть и другие возможности, которые можно использовать (события таймера).
Попался :)
Таймеры, разрешение таймеров и разработка эффективного кода
Разрешение таймера Windows: мегаватты потрачены впустуюОбъем - это плохое название для того, что на самом деле является "количеством тиков" ... это не имеет никакого отношения к торгуемому объему/лотам ... причина, по которой он может измениться более чем на 1, заключается в том, что вы можете пропустить тики.
Спасибо за информацию. Удивительно, как я не заметил этого раньше. В данном случае, это кажется довольно бесполезной (или вводящей в заблуждение) информацией.
Мне действительно приходится искать реальные данные об объеме level2 у некоторых брокеров. К счастью, мой ECN-брокер предлагает торговые данные level2 с реальным объемом.