Зависание терминала при работе от 3-х инструментов с функцией отслеживания создания-удаления объектов

 

Уважаемые программисты, помогите разобраться с непонятной мне ситуацией.

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

CHARTEVENT_OBJECT_CREATE

CHARTEVENT_OBJECT_DELETE

https://docs.mql4.com/ru/constants/chartconstants/enum_chartevents


Всё сделано через класс


Так вот. 2 индикатора и 1 торговая панель. Все три продукта довольно объёмные.

Торговая панель + любой из этих двух индикаторов работают быстро без лагов.

Два индикатора сразу на графике работают также быстро и без багов.


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


Возможно есть какое-то решение данного вопроса, никогда с таким не сталкивался. Может даже баг терминала.

Что мне делать и как заставить работать все три продукта на одном графике?

Да, и дело не конкретно в этих продуктах. Тоже самое случится и с тремя другими продуктами с функцией отслеживания объектов (советник + 2 индюка).


Может можно как-то заставить продукты работать поочередно или асинхронно.

Просто всё выглядит так, что два продукта дружат, а три конфликтуют, т.к. одновременно бодаются за одно событие.

Работали бы по очереди, всё было бы норм.

 

Хотя бы код OnChartEvent приведите от каждого индикатора...

Ну а по описанию - чистый deadlock. 

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