Особенность, можно сказать, из серии "Филосифия mql4" (не проверял на mt5). Если кто-то в алгоритме планирует обработку CHARTEVENT_OBJECT_DELETE и в коде будет программное переименование графических объектов, то следует учитывать этот нюанс...
Вот код индикатора, в котором отлавливается событие CHARTEVENT_OBJECT_DELETE:
Вот простой скрипт, который просто устанавливает новое имя для трендовых линий:
Если переименовывать руками, то событие CHARTEVENT_OBJECT_DELETE не генерируется терминалом. А вот если программно, то генерируется. Мечта дня - чтобы это убрали)
Есть ли какая-то возможность узнать кто изменил графический объект: это были чьи-то руки или это был алгоритм? Это так же пригодится для отсечения лишних дополнительных циклов при наличии обработки CHARTEVENT_OBJECT_CHANGE (когда что-то меняется алгоритмом, то это событие, как я понял, так же генерируется... и нужно флаги всякие добавлять)
Когда-то давно, было в документации написано, что при переименовании объекта происходит удаление и новое построение объекта с новым именем. Сейчас при беглом просмотре документации я этого не нашёл. Возможно на форуме кто-то их разработчиков это объяснял.
А по хорошему при удалении объекта надо проверять его имя, а не просто печатать его. Событие работает не просто так. Удалили какой либо объект, сработало событие, проверили имя, и при совпадении имени с заданным выполнили тот или иной код. Тогда не будет никакой непредвиденной реакции.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Особенность, можно сказать, из серии "Филосифия mql4" (не проверял на mt5). Если кто-то в алгоритме планирует обработку CHARTEVENT_OBJECT_DELETE и в коде будет программное переименование графических объектов, то следует учитывать этот нюанс...
Вот код индикатора, в котором отлавливается событие CHARTEVENT_OBJECT_DELETE:
Вот простой скрипт, который просто устанавливает новое имя для трендовых линий:
Если переименовывать руками, то событие CHARTEVENT_OBJECT_DELETE не генерируется терминалом. А вот если программно, то генерируется. Мечта дня - чтобы это убрали)
Есть ли какая-то возможность узнать кто изменил графический объект: это были чьи-то руки или это был алгоритм? Это так же пригодится для отсечения лишних дополнительных циклов при наличии обработки CHARTEVENT_OBJECT_CHANGE (когда что-то меняется алгоритмом, то это событие, как я понял, так же генерируется... и нужно флаги всякие добавлять)