Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 2650: Фоновая загрузка графиков и улучшения в профилировщике MQL5-кода
fxsaber, 2020.11.04 16:50
К сожалению, не добавили функции сворачивания окон чартов, Терминала, Обзора рынка и т.д. Ранее были приведены доказательства, что сворачивание этих окон снижает CPU-нагрузку.И прекратить вывод данных в окно Обзор рынка и другие, когда окно Терминала не видно. Например, когда текущее приложение (например, браузер) находится в состоянии активного и maximized.
Бородатая нужда - определение, какой чарт сейчас выбран. Люди вынуждены использовать костыльные WinAPI-решения.
Да, на MetaTrader VPS на порядки меньше задержки(выбросы задержек) и в разы больше всех ресурсов по сравнению с обычными VPS от хостинг провайдеров.
Многократно объясняли, почему.
Гарантированных нулевых задержек у потоков выполнения не может быть в рамках текущих (всех) процессорных архитектур. Рассказы про "операционки системы реального времени" остаются мифами, можно их не упоминать.
С одиночными выбросами понятно, спасибо за подробные объяснения. В данный момент все же обсуждаем не SymbolInfoTick, а лаги другого характера, которые сыпятся почти на каждом тике.
Другие вопросы можно рассматривать только при четко и полно описанном сценарии в одном комменте, без "на самом деле имел в виду другие комментарии" и без скатывания в замер одиночных команд.
Другие вопросы можно рассматривать только при четко и полно описанном сценарии в одном комменте, без "на самом деле имел в виду другие комментарии" и без скатывания в замер одиночных команд.
Здесь по ссылкам подробности, включая комментарии в исходном коде.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
MT5 и скорость в боевом исполнении
fxsaber, 2020.11.05 07:42
Кто использует VPS от MQ, просьба поделиться результатом работы там следующих программ.
есть такая платформа deltix (не в рекламу сказано). Когда я общался с разрабами (хотел подключить для арбитража когда-то), то они точно так же объясняли про одиночные задержки, что это нормально и нужно смотреть в среднем
это так, к слову, без камней ни в чей огород
Раз неизбежно возникают одиночные выбросы, то логично иметь штатные функции, которые возвращают массив всего Обзора рынка и массив всех текущих позиций/ордеров. По аналогии MarketBookGet.
Сейчас циклами приходится бегать. Это ОЧЕНЬ дорого.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
MT5 и скорость в боевом исполнении
fxsaber, 2020.10.07 12:41
Практическая нужда заставляет так писать.
ЗЫ TimeCurrentMsc почему-то не вводится в MQL5, несмотря на неоднократные просьбы.
Не будет никакого ускорения. Представьте Ваши выкладки, хотя бы в приблизительных цифрах, доказывющие многократное ускорение.
Гонки за ресурсы? Бесконтрольное создание новых потоков? Конфликты на ровном месте?
Хотите необъяснимых тормозов?
В событийной модели все события всегда ходили строем, по очереди. Жёвано - пережёвано.
Ускорение обработки пользовательских програм, а конкретнее их обработчиков. Об этом речь.
Я понимаю что вы стараетесь минимизировать использование потоков. Но как один из вариантов, каждый обработчик запускать в отдельном потоке.
Не какого бесконтрольного создания потоков. В пользовательской программе всего несколько обработчиков, их и запускать каждый в своём потоке при старте программы.
А мютексами или чем там вы синхронизируете, уже синхронизировать события между обработчиками.
Но если для вас потоки это боль, то как вы упомянули есть событийная модель, которая позволяет работать в одном потоке. Обработка событий, в цикле событий с запуском задач.
Цикл событий хоть и крутится последовательно, но задачи этого цикла обрабатываются паралельно!
Об этом и речь, все обработчики в программе выполнять в этом цикле событий, тогда все события будут асинхронны и поступать одновременно в реалтайме.
То есть одинаковые события в OnTrade и OnBook будут соответствовать.
Ну поинтересуйтесь уже как работает event loop в других языках.
Если event loop уже есть в терминале, то просто примените его к обработчикам в программах. Вот и всё.
каждый обработчик запускать в отдельном потоке.
Нафиг такое. MQL-программы станут сложнее на порядок, если из разных потоков будет read\write доступ к внутренним переменным, например.
Нафиг такое. MQL-программы станут сложнее на порядок, если из разных потоков будет read\write доступ к внутренним переменным, например.
MQL-программы сложнее не станут, это просто головняк синхронизации для разработчиков. Который естественно нет желания решать.
Или тупиковая начальная архитектура проекта, не рассчитанная под данную модель.
А переписывать проект под новую модель, естественно не кто не будет.
Событийная модель event loop, для обработчиков лучше подходит. Это и пытаюсь донести.
И эта модель скорее всего давно уже есть в терминале, просто не применена к обработчикам.
MQL-программы сложнее не станут...
Предлагаю на этом закончить теоретизирование, которое никогда не будет пересекаться здесь с практикой.