Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Симпатично. А что с загрузкой процессора при открытии биржи, ну там на Si если стакан поставить?
Есть ли на стакане графическое отображение открытой позиции? Мне вот этого в стандартном стакане очень не хватает.
Процессор грузит хорошо, на предыдущей картинке видно открытую позицию, рамка вокруг цены цвета мадженты, там позиция в минусе, на картинке ниже позиция в плюсе
всё на одном Canvas
Процессор грузит хорошо, на предыдущей картинке видно открытую позицию, рамка вокруг цены цвета мадженты, там позиция в минусе, на картинке ниже позиция в плюсе
А если просто сделать ограничение по частоте обновления - не более 10 раз за секунду? Тормоза же приведут к фризам торговой панели - нет?
Про индикацию состояния позиции вижу - выглядит удобно!
А если просто сделать ограничение по частоте обновления - не более 10 раз за секунду? Тормоза же приведут к фризам торговой панели - нет?
...
Не знаю, как именно реализовано у Рафиля, но если ячейки перерисовывать отдельно от всего канваса, это решит проблему с нагрузкой.
Для этого:
1. Каждая ячейка должна быть самостоятельной прямоугольной меткой с текстом поверх, со своими координатами и размерами в массиве.
2. На событии изменения значения, перерисовывается сначала ее прямоугольник (фон), а потом текст. Площадь перерисовки в десятки раз меньше, чем площадь всего канваса и потому, нагрузка спадет на десятки процентов.
Не знаю, как именно реализовано у Рафиля, но если ячейки перерисовывать отдельно от всего канваса, это решит проблему с нагрузкой.
Для этого:
1. Каждая ячейка должна быть самостоятельной прямоугольной меткой с текстом поверх, со своими координатами и размерами в массиве.
2. На событии изменения значения, перерисовывается сначала ее прямоугольник (фон), а потом текст. Площадь перерисовки в десятки раз меньше, чем площадь всего канваса и потому, нагрузка спадет на десятки процентов.
Суть стакана такова, что при движении цены ео придется перерисовывать целиком, а вот левую часть визуализации - да, там могут быть варианты, но думаю там отдельно объект кластера(свечи?) нарисован и он перерисовывается только при поступлении новой информации.
Суть стакана такова, что при движении цены ео придется перерисовывать целиком, а вот левую часть визуализации - да, там могут быть варианты, но думаю там отдельно объект кластера(свечи?) нарисован и он перерисовывается только при поступлении новой информации.
Вовсе необязательно. Цены в стакане не меняются все разом и некоторые ячейки переодически простаивают. Нет смысла перерисовывать весь канвас.
Тоже самое касается левой части. Хотя, там и так нет серьезной нагрузки. Если только на прокрутке графика и на текущем баре. Но, это не много.
Вовсе необязательно. Цены в стакане не меняются все разом и некоторые ячейки переодически простаивают. Нет смысла перерисовывать весь канвас.
Необязательно, но цена двигается, а значит и значение в ячейках меняется - как иначе? Другое дело, если менять координаты прямоугольника с ценой, но думаю это так же отрисовка в рамках канваса.
Необязательно, но цена двигается, а значит и значение в ячейках меняется - как иначе? Другое дело, если менять координаты прямоугольника с ценой, но думаю это так же отрисовка в рамках канваса.
Цена двигается, стакан централизуется и требуется перерисовка. Никто не спорит. Речь о площади перерисовки.
Многие ячейки простаивают и не меняют значения на каждом событии стакана. Например - объемы лимитников иногда меняются только в нескольких ячейках, а цена и объемы в остальных - неизменны. В этом случае, перерисовка всего канваса - пустой расход ресурсов. Необходимо контроллировать изменения в ячейках и рисовать их по отдельности на событии прихода нового значения.
Этот простой подход позволит снизить нагрузку в разы.
Также, можно снижать частоту вывода значений в ячейки.
Цена двигается, стакан централизуется и требуется перерисовка. Никто не спорит. Речь о площади перерисовки.
Многие ячейки простаивают и не меняют значения на каждом событии стакана. Например - объемы лимитников иногда меняются только в нескольких ячейках, а цена и объемы в остальных - неизменны. В этом случае, перерисовка всего канваса - пустой расход ресурсов. Необходимо контроллировать изменения в ячейках и рисовать их по отдельности на событии прихода нового значения.
Этот простой подход позволит снизить нагрузку в разы.
Также, можно снижать частоту вывода значений в ячейки.
Да я понимаю Вашу идею, но информация об изменении цены и объема может часто (предположение) приходить синхронно на открытии рынка.
Помню, вы хотели делать свой стакан - есть результат?
Да я понимаю Вашу идею, но информация об изменении цены и объема может часто (предположение) приходить синхронно на открытии рынка.
Помню, вы хотели делать свой стакан - есть результат?
Вот, слепил вчера пример стакана, ячейки которого перерисовываются независимо от канваса всего окна: https://www.mql5.com/ru/forum/333652/page4
Показывается, что отдельная перерисовка ячеек держит нагрузку в пределах 20% (на видео больше из за записи видео), ДАЖЕ, если ячейки перерисовываются ВСЕ и на частоте 40 fps. Обычная динамика стакана при этом подходе будет грузить на 5-10% ориентировочно.
Нагрузка велика только в том случае, если перерисовка большой площади (~500*500 рх) на высокой частоте без пауз (~40+ fps). Любые задержки или уменьшение области перерисовки снижают нагрузку в разы.