Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alexey Navoykov
4324
Alexey Navoykov  

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

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

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

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

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


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

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

Dmitry Fedoseev
45349
Dmitry Fedoseev  
Meat:


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

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


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

Vadim Zhunko
5226
Vadim Zhunko  
Meat:


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

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

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

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

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

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

Рустам
3597
Рустам  

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

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

Alexey Navoykov
4324
Alexey Navoykov  

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

Boris
503
Boris  
Meat:

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

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

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

Alexey Navoykov
4324
Alexey Navoykov  
BoraBo:
Там заявки на обе платформы.
Там есть лишь МТ5 и MQL5. О четвёрке там нет ни слова.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий