вопрос относящийся к функции GetAncestor библиотеки user32.dll

 
имею следующий скрипт переинициализации индикаторов InitAllIndicators.mq4 - бросив его на график он вызывает окно "Список индикаторов" >> потом вызывает окно свойств индикатора >> нажимает кнопку "ОК" >> и закрывает.

 встала задача изменить работу скрипта так: что бы он делал тоже самое, но при условие что его бросаешь не на тот график где он должен отработать, а скажем на другой перед ним открытый(другого ТФ).

 вызов окна осуществляется импортом функции: 
   int GetAncestor(int hWnd, int gaFlags);
   #define GA_ROOT 2  
  //---------получаем дескриптор основного окна терминала с помощью MQL ф-ции WindowHandle()
hParentWnd = GetAncestor(WindowHandle(Symbol(),Period()),GA_ROOT);

  на вид задача решалась уточнением: hParentWnd = WindowHandle(Symbol(),PERIOD_M1); но с таким вариантом я кидаю скрипт на М5 с задачей сделать переиниц-цию на М1. он вызывает окно "Список индикаторов" >> потом вызывает окно свойств индикатора >> и все дальнейшие действия не совершает.

 прошу помощи.




Файлы:
 

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

Вы не в той ветке создали тему, нужно было в https://www.mql5.com/ru/forum/mql4

 
SeriousRacoon:

Вам нужно переключиться на график,

SeriousRacoon:

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

Вы не в той ветке создали тему, нужно было в https://www.mql5.com/ru/forum/mql4

спасибо, перешел на эту ветку: https://www.mql5.com/ru/forum/320245

- а как это грамотно сделать(какой функциейAPI)?