Скачать MetaTrader 5

Вопрос к профи ....

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Удобнее торговать с помощью смартфона? Мобильная версия MetaTrader 5 тебе подойдет!
Vladimir Pastushak
69106
Vladimir Pastushak 2015.07.18 12:22 

Если существует потребность работы с большим количеством графических объектов примерно 1000 -15000, как Вы это делаете ???

Я вижу два способа

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

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

Так вот вопрос что быстрее будет работать, удаление и создание или перемещение ?

За один проход может модифицироваться, создаваться или удаляться порядка 500-700 графических обьектов...

Vladimir Karputov
Модератор
46239
Vladimir Karputov 2015.07.18 12:27  
Vladimir Pastushak:

Если существует потребность работы с большим количеством графических объектов примерно 1000 -15000, как Вы это делаете ???

Я вижу два способа

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

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

Так вот вопрос что быстрее будет работать, удаление и создание или перемещение ?

За один проход может модифицироваться, создаваться или удаляться порядка 500-700 графических обьектов...

Лучше перемещать. Для этого, в цикле, переместите все объекты, а затем один раз выполните ChartRedraw().
Vladimir Pastushak
69106
Vladimir Pastushak 2015.07.18 12:33  
Karputov Vladimir:
Лучше перемещать. Для этого, в цикле, переместите все объекты, а затем один раз выполните ChartRedraw().
А как можно замерить время выполнения программы ?
Vladimir Karputov
Модератор
46239
Vladimir Karputov 2015.07.18 12:41  
Vladimir Pastushak:
А как можно замерить время выполнения программы ?
Вот хороший пример счётчика в миллисекундах: GetTickCount
Vladimir Pastushak
69106
Vladimir Pastushak 2015.07.18 12:44  
Karputov Vladimir:
Вот хороший пример счётчика в миллисекундах: GetTickCount
Да да да, именно его я и искал ....
Vladimir Pastushak
69106
Vladimir Pastushak 2015.07.18 13:04  

Результат впечатляющий конечно :

При перемещении 688 миллесекунд, а при создании и удалении 17031 что в 24 раза быстрее...

Может помните деррективу для ускорения ?
Vladimir Karputov
Модератор
46239
Vladimir Karputov 2015.07.18 13:11  
Vladimir Pastushak:

Результат впечатляющий конечно :

При перемещении 688 миллесекунд, а при создании и удалении 17031 что в 24 раза быстрее...

Может помните деррективу для ускорения ?
Не понял о чём речь.
Vladimir Pastushak
69106
Vladimir Pastushak 2015.07.18 13:18  
Karputov Vladimir:
Не понял о чём речь.

Вот при Optimize=1    https://www.mql5.com/ru/forum/58241

Igor Volodin
3798
Igor Volodin 2015.07.20 10:03  
Использовал раньше граф объекты в интерфейсах в больших количествах - более 500 уже заметно тормозят. Потом перешел на отрисовку своих примитивов на канве и проблем вообще нет.
George Merts
3611
George Merts 2015.07.20 11:04  

На мой взгляд, графические объекты необходимы для того, чтобы более удобно демонстрировать человеку те или иные моменты на графике цены.

Соответственно, создание одновременнно более сотни графических объектов мне кажется совершенно неразумным. А уж если речь идет о советнике - то ему графические объекты вобще не нужны.

Vladimir Pastushak
69106
Vladimir Pastushak 2015.07.20 11:36  
George Merts:

На мой взгляд, графические объекты необходимы для того, чтобы более удобно демонстрировать человеку те или иные моменты на графике цены.

Соответственно, создание одновременнно более сотни графических объектов мне кажется совершенно неразумным. А уж если речь идет о советнике - то ему графические объекты вобще не нужны.

Да ну что Вы говорите ....
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий