Проблема с номером окна индикатора

 

Уважаемые разработчики, я вот столкнулся с такой недоработкой. Если индикатор перетащен в подокно другого индикатора, то нет возможности гарантированно узнать номер этого подокна. Функция WindowFind(...) ищет только среди первичных индикаторов в каждом подокне, поэтому для нашего наброшенного индикатора она выдаёт -1. А функция WindowOnDropped() выдаёт фиксированный индекс окна на тот момент времени, когда индикатор был наброшен. Но ведь реальные номера подокон меняются динамически. Если мы удалим какое-то из предыдущих подокон, то у всех последующих индексы уменьшаются на единицу. А WindowOnDropped() так и будет по прежнему выдавать старое значение подокна.

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

Можно ли надеяться что данная проблема будет исправлена? Надо доработать какую-то из этих двух функций.

И возможно ли каким-то другим путём (средствами MQL) получить требуемый индекс?

 
Я задавал уже этот вопрос. Ответ был, что так задумано. Ничего исправлять не будут.
 
Zhunko:
Я задавал уже этот вопрос. Ответ был, что так задумано. Ничего исправлять не будут.


Да уж... Хрен поймёшь этих разработчиков. Налицо ведь явная недоработка. Если мы не можем получить корректный номер окна в данном случае, то как мы будем создавать там графические объекты?

А ты каким-то обходным путём не пробовал решить эту проблему?

 
Meat:


Да уж... Хрен поймёшь этих разработчиков. Налицо ведь явная недоработка. Если мы не можем получить корректный номер окна в данном случае, то как мы будем создавать там графические объекты?

А ты каким-то обходным путём не пробовал решить эту проблему?


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

 
Meat:


Да уж... Хрен поймёшь этих разработчиков. Налицо ведь явная недоработка. Если мы не можем получить корректный номер окна в данном случае, то как мы будем создавать там графические объекты?

А ты каким-то обходным путём не пробовал решить эту проблему?

Мне это надо было, чтобы контроллировать ошибочную загрузку в одно окно. По этому не важно. Не решал.
 

Господа разработчики, раз уж вы клепаете билды один за другим, то может тогда уж исправите функцию WindowOnDropped(), чтоб она выдавала индекс реального (существующего) окна? В противном случае зачем она вообще нужна? Если её результату нельзя верить, то какой в ней смысл?

Или может я чего-то не понимаю, объясните мне, кому может понадобиться это старое значение индекса окна, если после этого уже могла произойти перенумерация всех окон, и соответственно по данному индексу расположено уже совсем другое окно, либо вообще не существует окна с таким индексом. В итоге мы лишены возможности однозначно определить, в каком сейчас окне находится брошенный индикатор, а значит не можем создавать там графические объекты. Зато вместо этого у нас есть бесполезная функция WindowOnDropped(), которая выдаёт совершенно бесполезное значение...

Если бы эту проблему можно было хоть как-то обойти, то ещё ладно. Но ведь нет надёжного решения. Предложенный Integer'ом вариант с глобальной преременной не работает, ибо во-первых, имя родительского индикатора может меняться в процессе работы, а во-вторых, может быть открыто несколько окон с точно такими же индикаторами, поэтому неизвестно, какую конкретно переменную надо проверять.

 

Почему бы вам не написать это в Сервис дек ?

https://www.mql5.com/ru/users/Meat/servicedesk

 

Но там же MQL5, а мы здесь обсуждаем MQL4. Поэтому сомневаюсь, что там это будет кому-то интересно. Здесь то по крайней мере публичное обсуждение, поэтому больше шансов чего-то добиться... Кстати, а может вы сами попробуете как-нибудь до них достучаться по этому вопросу? Вам ведь проще, коль уж вы модератор, особа приближённая к императору :)

 
Meat:

Но там же MQL5, а мы здесь обсуждаем MQL4. Поэтому сомневаюсь, что там это будет кому-то интересно.

Там заявки на обе платформы.
 

Нет, ну если есть желание покричать. по возмущаться, тогда конечно...

 
BoraBo:
Там заявки на обе платформы.
Там есть лишь МТ5 и MQL5. О четвёрке там нет ни слова.
Причина обращения: