Новая версия платформы MetaTrader 5 build 1870: Добавление символов в Обзор рынка по ISIN - страница 11
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Его и использую. На чарте только один объект - BITMAP_LABEL. Вот он и не удаляется.
Не вериться. Покажите простейший пример, пожалуйста.
У меня все удаляется.Rosh, у меня попутный вопрос: А что делать, если на графике нужен "Таймер отсчёта времени до закрытия свечи", это нужно каждую секунду вызывать ChartRedraw? Так это действие убивает быстродействие индикатора.
Почему в мт4 нет с этим проблем, а в мт5 с графикой совсем всё сложно?
Утверждение весьма неоднозначное.
По моим наблюдениям реальное время выполнения ChartRedraw() это около 3 миллисекунд.
Т.е. если производить перерисовку раз в секунду, то сама перерисовка будет длиться только 1/333 этой самой секунды, т.е. быстродействие индикатора реально может снизиться на 0,333%.
Является ли это убивающим фактором?
Тем более наверняка это происходит в разных потоках.
Не вериться. Покажите простейший пример, пожалуйста.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 1870: Добавление символов в Обзор рынка по ISIN
fxsaber, 2018.07.06 16:39
Как наглядный пример ситуации, можно запустить этот индикатор с таким OnDeinit
а можно полный код, я же не знаю что за объект и как он создавался.
Возможно Вы смешиваете понятия: удаление и отображение.
Другими словами для воспроизведения факта удаления объекта, как правильно заметил Рашид, необходимо делать перерисовку чарта.
И это абсолютно логично и разумно разделать удаление и отображение для экономии ресурсов.
а можно полный код, я же не знаю что за объект и как он создавался.
https://www.mql5.com/ru/code/19388
Возможно Вы смешиваете понятия: удаление и отображение.
Другими словами для воспроизведения факта удаления объекта, как правильно заметил Рашид, необходимо делать перерисовку чарта.
И это абсолютно логично и разумно разделать удаление и отображение для экономии ресурсов.
Не происходит именно удаления. С отображением изначально все понятно.
Решение этой проблемы очень простое.
Вместо множества объектов использовать только один - Canvas.
Вообще не вижу смысла использовать любые объекты, кроме одного холста.
С канвасом гораздо муторнее работать, чем с простой графикой. То, что можно кинуть на чарт и забыть, на канвасе нужно самому двигать при прокрутке графика. И это только первая проблема, что пришла в голову.
С канвасом гораздо муторнее работать, чем с простой графикой.
https://www.mql5.com/ru/code/19388
Не происходит именно удаления. С отображением изначально все понятно.
Да, подтверждаю. Проблемка существует. Раньше вроде этого не было.
После удаления объектов, их имена остаются в списке объектов. Со временем они иногда исчезают, иногда нет, но при смене ТФ они удаляются.
Причем, похоже, что просто ObjectDelete не хватает времени на отработку. Потому как если OnDeinit чем нибудь утяжелить ( Comment или ChartXYToTimePrice например):
тогда объекты удаляются и без ChartRedraw.
Я и понять поэтому не мог, почему у меня удаляется, а у Вас нет. А у меня стоял как раз Comment.
Я даже для проверки добавил в Ваш код экземпляр класса CCanvas и просто копировал в его ресурс данные из вашего ресурса, создавая вторые дублирующие часы на экране(код прилагаю), но проблема сохранялась.
Но это, действительно, не проблема, а проблемка, т.к. она легко решается простой перерисовкой. (ChartRedraw или Comment - не важно, т.к. Comment тоже выполняет ChartRedraw)
Я даже для проверки добавил в Ваш код экземпляр класса CCanvas и просто копировал в его ресурс данные из вашего ресурса, создавая вторые дублирующие часы на экране(код прилагаю), но проблема сохранялась.
Но это, действительно, не проблема, а проблемка, т.к. она легко решается простой перерисовкой. (ChartRedraw или Comment - не важно, т.к. Comment тоже выполняет ChartRedraw)
Поэтому и написал, что баг.
Поэтому и написал, что баг.