вообще узнать смотрят в данный момент на окно или нет.
Открыто несколько разных окон индюк в каждом из них, он довольно много ресурсов ест.
В тех окнах которые не видны можно тики игнорировать - не обсчитывать.
#import "user32.dll" int GetAncestor(int hWnd, int gaFlags); int GetDlgItem(int hDlg, int nIDDlgItem); int SendMessageA(int hWnd, int Msg, int wParam, int lParam); #import
bool fIsWindowActive(){ int tWH=WindowHandle(Symbol(),Period()); int tTWnd=GetAncestor(tWH,2); int hMDICWnd=GetDlgItem(tTWnd,0xE900); int hMDIAWnd=SendMessageA(hMDICWnd,0x0229,0,0); int tWH2=GetDlgItem(hMDIAWnd, 0xE900); return(tWH==tWH2); }
Копи-паст, вроде все ясно.
Первую часть кода ставишь вверху скрипта.
Вторая часть кода - это функция. Дописываешь ее в конец скрипта, например.
Ее просто вызываешь из своего кода для проверки - является ли текущее окно активным или нет.
А что за цифровые коды там - ну это RTFM наверное :) и опыт Integer'a
Копи-паст, вроде все ясно.
Первую часть кода ставишь вверху скрипта.
Вторая часть кода - это функция. Дописываешь ее в конец скрипта, например.
Ее просто вызываешь из своего кода для проверки - является ли текущее окно активным или нет.
А что за цифровые коды там - ну это RTFM наверное :) и опыт Integer'a
Integer, вот тебе первый пример. Тут явно не в теме.
Тут я тоже не в теме, но проблема "тяжелых" индикаторов давно назрела. Пока решил примерно так:
extern int Vcnt=55; //---- datetime _N_Time = 0; int cnt=0;
int start() { cnt--; if( _N_Time != Time[0] || cnt<0) //индикатор считаю с приходом новой свечи или при обнулении счетчика тиков { cnt=Vcnt; . . . _N_Time = Time[0]; }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет всем!!!
Как индикатору узнать является ли окно инструмента, в котором он открыт, активным (если окон инструментов открыто несколько в терминале)
а также можно ли узнать развернуто окно на весь экран или нет?