Новая версия платформы MetaTrader 5 build 3081: Улучшения в MQL5-сервисах и обновленный дизайн - страница 20

 

b3063


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


 

Есть ещё одна загадка. Есть индикатор и советник. Обе панели в закрытом коде (не канвас). Если оба на графике, то при удалении любого из них, его объекты не стираются. Панель висит, а её уже на графике нет.

Кто кому мешает при удалении -  не понятно. Вместе работают, по отдельности на разных графиках спокойно удаляются.


И ещё один момент. Канвас панель с кнопкой "свернуть". Если "кнопка свернуть" над прямоугольником, принадлежащим другому индикатору, то действие не срабатывает. Что может быть?

 

Если вы действительно хотите, чтобы вам помогли, то постарайтесь написать так, чтобы вас поняли.

Код, скриншоты, логи и так далее.

 
Rashid Umarov #:

Если вы действительно хотите, чтобы вам помогли, то постарайтесь написать так, чтобы вас поняли.

Код, скриншоты, логи и так далее.

Эти ошибки воспроизводятся через раз видимо. Подумаю над последовательностью и зависимостью, поищу из кодобазы коды, чтобы поймать баги с другими продуктами. Как разберусь с точным воспроизведением, напишу снова.

С объектами канваса тоже через раз. Стоит переклацнуть дэшборд и вот уже кнопки над чужими объектами не пашут. Там правда всего один объект панели, остальное методом запроса местоположения.

 
Vitaliy Kuznetsov #:

Есть ещё одна загадка. Есть индикатор и советник. Обе панели в закрытом коде (не канвас). Если оба на графике, то при удалении любого из них, его объекты не стираются. Панель висит, а её уже на графике нет.

Кто кому мешает при удалении -  не понятно. Вместе работают, по отдельности на разных графиках спокойно удаляются.


И ещё один момент. Канвас панель с кнопкой "свернуть". Если "кнопка свернуть" над прямоугольником, принадлежащим другому индикатору, то действие не срабатывает. Что может быть?

Если на индикаторе есть кнопки переключения тф, то замечал такие же баги и давно писал об этом, что переключение на тф на индикаторе вызывает глюки у панели эксперта, воспроизводится с любыми панелями. В том числе и не удаляются объекты... и зависание . .  
 
Vitaliy Kuznetsov #:

b3063

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

Если индикатор присутствует в шаблоне, то так и будет пока не перепишете шаблон.

 

Почему весь терминал, трясется от этого кода ? перегружаются все индикаторы на графике, на каждом тике, процессор уходит на 100%  перезагружаются индикаторы, которые абсолютно не имеют отношения к индикатору, где работает этот код.


 if(!::SeriesInfoInteger(SYMBOL, PERIOD, SERIES_SYNCHRONIZED))
Когда условие верно, начинаются проблемы в терминале.
 
Vitaliy Kuznetsov #:

С объектами канваса тоже через раз. Стоит переклацнуть дэшборд и вот уже кнопки над чужими объектами не пашут. Там правда всего один объект панели, остальное методом запроса местоположения.

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

И кликнув по дэшборду, переключив график происходит ситуация, что клик по дэшборду приводит к первому клику по объекту сзади него и значит запрос координат мыши не происходит и функция не работает.

Убрал проверку клика по нужному объекту. Теперь каждый клик запрашивает координаты, независимо от того на какой объект кликнули.

Таким образом обошёл баг с тем, что видим глазами и как на самом деле стоят слои.

Объекты создавались с такой последовательностью:

1. Создан дэшборд

2. Создан прямоугольник на background другим индикатором

Видим прямоугольники сзади, но приоритет очереди у него выше.

Судя по списку объектов, что в самом низу, то и кликается в первую очередь. Если панель на строку выше, то кликается прямоугольник, хоть на экране он сзади.

 
Vitaliy Kuznetsov #:

Судя по списку объектов, что в самом низу, то и кликается в первую очередь. Если панель на строку выше, то кликается прямоугольник, хоть на экране он сзади.

Вы можете думать, что кликаете один объект, а кликается другой, например:

Если допустим красную V-линию подвести мышью справа достаточно близко к синей и затем "перехватить" синию (отпустить мышь продолжить движение влево и нажать мышь уже над синей), то вопреки ожиданию продолжится движение влево красной линии, а не синей


 

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

Вылечилось только перезагрузкой Терминала b3067. На VPS, откуда идет торговля на b2958, все в полном порядке с обновлением баров.