Новая версия платформы MetaTrader 5 build 1870: Добавление символов в Обзор рынка по ISIN - страница 10

 
Rashid Umarov:

Если вы посмотрите Примечание к https://www.mql5.com/ru/docs/objects/objectfind, то увидите

В моем последнем посте нет претензий к разработчикам. Я понимаю, что поиск - затратная операция, тем более, если объектов много. Просто... я считаю, в некоторых случаях можно придумать аналог этой функции который будет работать быстрее.

 
Rashid Umarov:

Тоже указано в Примечании https://www.mql5.com/ru/docs/objects/objectdelete

Так почему после ObjectDelete объект живет сколь угодно долго?

 
fxsaber:

Так почему после ObjectDelete объект живет сколь угодно долго?

Вопрос, конечно, не мне, но я думаю - экономия ресурсов. Перерисовка графика - затратная операция.

 
Alexey Kozitsyn:

Вопрос, конечно, не мне, но я думаю - экономия ресурсов. Перерисовка графика - затратная операция.

Речь не про визуальное обновление графика, а о жизни объекта после программного удаления - его свойства можно менять средствами GUI.

 
fxsaber:

Речь не про визуальное обновление графика, а о жизни объекта после программного удаления - его свойства можно менять средствами GUI.

Вызывайте ChartRedraw и занимайтесь нужными вам вещами. Какие проблемы?

 
Rashid Umarov:

Вызывайте ChartRedraw и занимайтесь нужными вам вещами. Какие проблемы?

Rosh, у меня попутный вопрос: А что делать, если на графике нужен "Таймер отсчёта времени до закрытия свечи", это нужно каждую секунду вызывать ChartRedraw? Так это действие убивает быстродействие индикатора. 

Почему в мт4 нет с этим проблем, а в мт5 с графикой совсем всё сложно?

 
Rashid Umarov:

Вызывайте ChartRedraw и занимайтесь нужными вам вещами. Какие проблемы?

Проблемы у Терминала. После удаления допускается визуальное присутствие объекта, но не полноценное. Это баг, не фича.

 
Vitaly Muzichenko:

Rosh, у меня попутный вопрос: А что делать, если на графике нужен "Таймер отсчёта времени до закрытия свечи", это нужно каждую секунду вызывать ChartRedraw? Так это действие убивает быстродействие индикатора. 

Почему в мт4 нет с этим проблем, а в мт5 с графикой совсем всё сложно?

Да, такая проблема есть, очень сильно грузит процессор, если редрайв на каждом тике и на графике много других объектов. Примером может служить этот индикатор-таймер, но за счет моих правок он на порядок стал меньше потреблять ресурсов, при этом его потребительские свойства не сильно изменились.

 
Alexey Kozitsyn:

В моем последнем посте нет претензий к разработчикам. Я понимаю, что поиск - затратная операция, тем более, если объектов много. Просто... я считаю, в некоторых случаях можно придумать аналог этой функции который будет работать быстрее.

fxsaber:

Так почему после ObjectDelete объект живет сколь угодно долго?

Решение этой проблемы очень простое.

Вместо множества объектов использовать только один - Canvas.

Вообще не вижу смысла использовать любые объекты, кроме одного холста. 

 
Nikolai Semko:

Решение этой проблемы очень простое.

Вместо множества объектов использовать только один - Canvas.

Его и использую. На чарте только один объект - BITMAP_LABEL. Вот он и не удаляется.

Причина обращения: