![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот, слепил вчера пример стакана, ячейки которого перерисовываются независимо от канваса всего окна: https://www.mql5.com/ru/forum/333652/page4
Показывается, что отдельная перерисовка ячеек держит нагрузку в пределах 20% (на видео больше из за записи видео), ДАЖЕ, если ячейки перерисовываются ВСЕ и на частоте 40 fps. Обычная динамика стакана при этом подходе будет грузить на 5-10% ориентировочно.
Нагрузка велика только в том случае, если перерисовка большой площади (~500*500 рх) на высокой частоте без пауз (~40+ fps). Любые задержки или уменьшение области перерисовки снижают нагрузку в разы.
В Вашем примере стакан весьма усечен конечно, в том числе по глубине. Смешно, но видимо отрисовку стакана нужно считать на всех ядрах с OpenCL, к тому же раз расчет разбит на отдельные ячейки, но тут я теоретик.
В Вашем примере стакан весьма усечен конечно, в том числе по глубине. Смешно, но видимо отрисовку стакана нужно считать на всех ядрах с OpenCL, к тому же раз расчет разбит на отдельные ячейки, но тут я теоретик.
Ладно, сделаю стакан с большим количеством ячеек и проверю еще раз.
Ладно, сделаю стакан с большим количеством ячеек и проверю еще раз.
только не делай статичным, а динамичным
Процессор грузит хорошо, на предыдущей картинке видно открытую позицию, рамка вокруг цены цвета мадженты, там позиция в минусе, на картинке ниже позиция в плюсе
только не делай статичным, а динамичным
Что имеешь ввиду под "динамичным"? Чтобы не все ячейки одновременно меняли значения? Не понял.
По моим ощущениям такое изображение должно формироваться не более 1-3 миллисекунд. Если дольше, то где-то какой-то косяк.
Вот ты мне планку поднял для совершенства... Может опустишь до 6-8 миллисекунд?
Что имеешь ввиду под "динамичным"? Чтобы не все ячейки одновременно меняли значения? Не понял.
чтобы текущая цена двигалась по ячейкам, а не была по середине как в стакане мт5
чтобы текущая цена двигалась по ячейкам, а не была по середине как в стакане мт5
То есть, без централизации. Ну, для фьючерсных инструментов действительно именно такой стакан нужен. Ок. (это просто макет для проверки нагрузки).
Вот ты мне планку поднял для совершенства... Может опустишь до 6-8 миллисекунд?
Ок, смастерил стакан в редакторе. Ушло 2 часа. Много возни. Можно ускорить процесс в четыре раза добавив инструменты.
Проверил.
Результат: менее 20% нагрузки при постоянном изменении всех ячеек аск и бид, и одной ячейки цены, на частоте 40 кадров в секунду. (при включенной записи нагрузка поднимается на 5-7 процентов).
Повторю свое мнение - в реальных условиях нагрузка будет 5 - 10 процентов в зависимости от активности рынка.