Скачать MetaTrader 5

Активный график (ID активного графика) - страница 2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Ruslan
50
Ruslan  
Эти св-ва вскольз просматривал, но попробую поковырятся основательней, спасибо!
Sergey Dzyublik
5136
Sergey Dzyublik  

я решал эту проблему месяц назад.

Без АПИ ни как.

Только получал не ID, а хендл активного чарта. 

Поищите на 5-ке, я ответ выкладывал (там злой барабашка тему переносил)

Sergey Dzyublik
5136
Sergey Dzyublik  
1504
ALXIMIKS 2014.09.30 22:45   RU

Связался с гуру (Zh)

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

В результате старания и просто логики мне удалось написать последовательность функций для получения родительского хендла текущего активного окна чарта.

Пусть не вводит в заблуждение простота (хотя да, сейчас уже все кажется простым):

 int hchart = int(ChartGetInteger(chart_id, CHART_WINDOW_HANDLE));
 int hhchart = GetAncestor(hchart, 1);
 int hhhchart = GetAncestor(hhchart, 1);
 int hwnd = GetTopWindow(hhhchart); 
Sergey Dzyublik
5136
Sergey Dzyublik  

У меня была задача:
1. Взять родительский хендл текущего активного чарта
2. Открыть новый чарт (он автоматически становится активным)
3. Вернуться на прошлий активный  чарт до создания нового (для этого надо родительский хендл)
4. Запустить на новом открытом чарте скрипт, или что там мне надо было

У вас какая задача?

Ruslan
50
Ruslan  

А, вишь как, спасибо! Ещё не пользовался АПИ, надо будет поискать перечень ф-й user32.dll и как правильно этим всем пользоваться.

ALXIMIKS  подскажи, а куда мне потом этот хендл влепить, все ж ф-и к ID привязываются?

п.с. вот ещё темку старенькую нашёл, и то случайно, бо с этим поиском у меня ничего не выходит )). Там тоже вроде как через АПИ.

Ruslan
50
Ruslan  
ALXIMIKS:

У вас какая задача?

У меня индикатор работает на второстепенном графике. И в зависимости от того с каким графиком работаю я (т.е. какой график активный-основной) индюк на второстепенном показывает то чьл нужно по отношению к активному. У меня там все на ID завязано поэтому выше и спрашивал что с хендлом делать (помню работал с хендломи  когда котировки перебирал).
Sergey Dzyublik
5136
Sergey Dzyublik  
1. Перейти от робительского хендла к дочернему - это хендл от ID.  И перебором всех ID найти у которого хендл такой как надо.
2. То же самое если не сумеете перейти к дочернему хендоу: перебор только теперь берем хендл от ID, далее получаем родительский хендл, далее сравниваете родительские хендлы пока не найдете соответствие.
Ruslan
50
Ruslan  

Ок спасибо, по такому пути ещё не ходил, но главное что он есть)) бум пробовать.

Жаль конечно, что внутренними силами MQL активный график пока не найти. 

Карпутов Владимир
203
Карпутов Владимир  
ALXIMIKS:

я решал эту проблему месяц назад.

Без АПИ ни как.

Только получал не ID, а хендл активного чарта. 

Поищите на 5-ке, я ответ выкладывал (там злой барабашка тему переносил)

Не стоит всуе упоминать нечистую силу. 

Подскажите функцию для переключения видимости чарта по ChartID

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