Особенности языка mql5, тонкости и приёмы работы - страница 88
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2016.07.19 12:41
На примере ORDER_TICKET должна быть понятна идея
Forum on trading, automated trading systems and testing trading strategies
OrderCloseTime () in MQL5?
fxsaber, 2018.07.18 03:51
Таким образом можно проверить, содержится ли в текущей исторической таблице, сформированной ранее через HistorySelect-функции, нужная нам запись. Это же касается и DEAL_TICKET.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Сохранить уровень цены позиции через клиринг (можно?)
fxsaber, 2018.07.17 20:45
Возможно не все знают, что функция GetMicrosecondCount, в отличие от GetTickCount, привязана к локальному времени компьютера. Т.е. при изменении этого времени (например в результате синхронизации с интернет-временем) значения GetMicrosecondCount тоже изменятся на соответствующую величину. Это надо иметь ввиду, если данная функция используется для замеров интервалов времени. По сути, применять её для этих целей не следует. А вот GetTickCount лишена этих проблем.
В качестве демонстрации можно запустить такой код и в процессе выполнения поменять время компьютера.
Возможно не все знают, что функция GetMicrosecondCount, в отличие от GetTickCount, привязана к локальному времени компьютера.
Не знал, спасибо!
Вариант функции GetTickCount, исключающий переполнение (при условии, что интервал между вызовами функции не превышает 50 дней)
Возможно не все знают, что функция GetMicrosecondCount, в отличие от GetTickCount, привязана к локальному времени компьютера. Т.е. при изменении этого времени (например в результате синхронизации с интернет-временем) значения GetMicrosecondCount тоже изменятся на соответствующую величину. Это надо иметь ввиду, если данная функция используется для замеров интервалов времени. По сути, применять её для этих целей не следует. А вот GetTickCount лишена этих проблем.
В качестве демонстрации можно запустить такой код и в процессе выполнения поменять время компьютера.
Ну тогда это баг, который разработчикам неплохо бы исправить. Т.к. тогда функция не соответствует описанию:
Функция GetMicrosecondCount() возвращает количество микросекунд, прошедших с момента начала работы MQL5-программы.
Ценность этой функции в сравнении с GetTickCount - это микросекунды, а не миллисекунды(точность в 1000 раз выше). А также непереполняемость.Поэтому о ее заменяемости говорить не совсем корректно.
Возможно не все знают, что функция GetMicrosecondCount, в отличие от GetTickCount, привязана к локальному времени компьютера. Т.е. при изменении этого времени (например в результате синхронизации с интернет-временем) значения GetMicrosecondCount тоже изменятся на соответствующую величину. Это надо иметь ввиду, если данная функция используется для замеров интервалов времени. По сути, применять её для этих целей не следует. А вот GetTickCount лишена этих проблем.
В качестве демонстрации можно запустить такой код и в процессе выполнения поменять время компьютера.
И еще одно важное наблюдение, из которого следует что использовать функцию GetTickCount вместо GetMicrosecondCount совсем неуместно.
Думаю, для многих это будет сюрпризом.
Исследуя работу простого скрипта:
Результат работы:
можно сделать следующие выводы:
Ну тогда это баг, который разработчикам неплохо бы исправить. Т.к. тогда функция не соответствует описанию:
Ценность этой функции в сравнении с GetTickCount - это микросекунды, а не миллисекунды(точность в 1000 раз выше). А также непереполняемость.Поэтому о ее заменяемости говорить не совсем корректно.
Я вот пока не увидел для себя какой-либо практической пользы от микросекунд. Если замерять время выполнения каких-то участков программы, то колебания производительности системы нивелируют всю эту точность, и погрешность там идёт на миллисекунды, а то и на десятки миллисекунд. Если же замерять очень малые отрезки длительностью менее 1 миллисекунды, то какой в этом смысл. Доля погрешности измерений будет очень высока.
Я вот пока не увидел для себя какой-либо практической пользы от микросекунд. Если замерять время выполнения каких-то участков программы, то колебания производительности системы нивелируют всю эту точность, и погрешность там идёт на миллисекунды, а то и на десятки миллисекунд. Если же замерять очень малые отрезки длительностью менее 1 миллисекунды, то какой в этом смысл. Доля погрешности измерений будет очень высока.
И еще одно важное наблюдение, из которого следует что использовать функцию GetTickCount вместо GetMicrosecondCount совсем неуместно.
Думаю, для многих это будет сюрпризом.
Исследуя работу простого скрипта:
можно сделать следующие выводы:
Существенный аргумент