Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
как програмно(MQL) определить активное окно инструмента?
если к примеру активно окно евро/дол то на вопрос советника(который присоеденён к дол/франк) какой инструмент активен,
получаем ответ "EURUSD" !?
Если использовать функции WinAPI, то задачу можно решить следующим образом:
Функция GetNameActiveChart() возвращает имя активного окна в формате symbol,period (н-р, EURUSD,H1).
P.S. Для работы функции GetNameActiveChart() необходимо разрешить вызов функций
из системных DLL: Сервис -> Настройки -> Советники -> Разрешить импорт DLL.
а ваще то топикстартер ленивец.. базу скриптов смотреть нада
'Interception'
#property copyright "Viatcheslav Suvorov" #property show_inputs #include #import "IdleLib.dll" int GetLastKeyWP(); int GetLastMouseWP(); int IdleLibInit(); int IdleLibUnInit(); string GetActiveWndName(); #import int start() { IdleLibInit();//инициализируем Dll для перехвата событий bool NeedLoop=true; string predwnd=''; while(NeedLoop){ // int lastkey=GetLastKeyWP();//Опрашиваем код посл. клавиши // int lastmouse=GetLastMouseWP();//Опрашиваем код мыши string lastwnd=GetActiveWndName();//Имя окна Metatrader где произошло событие if ((predwnd!=lastwnd) && lastwnd!="") { Print("Активное окно ",lastwnd); predwnd=lastwnd; } else { // Print("Активное окно ",predwnd); //активное окно не изменилось } Sleep(100); }//while return(0); } void deinit() { IdleLibUnInit(); }строку
можно заменить на string lastwnd=StringSubstr(GetActiveWndName(),0,6);всем сенкую за помощь!
мож моё рукоделие комунить пригодится!
Мож кому пригодится.
Спасибо.
Это полезная функция.
Если использовать функции WinAPI, то задачу можно решить следующим образом:
Функция GetNameActiveChart() возвращает имя активного окна в формате symbol,period (н-р, EURUSD,H1).
P.S. Для работы функции GetNameActiveChart() необходимо разрешить вызов функций
из системных DLL: Сервис -> Настройки -> Советники -> Разрешить импорт DLL.
Эта фкнкция в современном терминале не работает.
Постоянно возвращается начальное значение строки.
Этому вопросу ДВЕНАДЦАТЬ лет. А этой функции девять… За это время терминал и язык MQL4 изменился до неузнаваемости и вряд-ли кому это пригодится.
Не так давно этот вопрос обсуждали… поищите CHART_BRING_TO_TOP и будет вам счастье…