Vladon:
Spy++ в помощь. неужели так сложно нажать и посмотреть. делов на две минуты.
Как это сделать в мт5? Никто не пробовал?(не имею ввиду перевести данный код, а именно команду 33020 чем заменить?)
sergeev:
Spy++ в помощь. неужели так сложно нажать и посмотреть. делов на две минуты.
Spy++ в помощь. неужели так сложно нажать и посмотреть. делов на две минуты.
спасибо я просто другой программой мониторил ни как не мог найти.
Попробую разобраться
Vladon:
В 32 битной среде запустите или найдите 64 битный анализатор.
Вроде все сделал правильно - но сообщения потоков не пишутся. пустое окно и все.
Хендл рабочей области выбрал, запустил логи - но они не появляются.
что я не так делаю?
Спасибо.
Написал функцию, нашел код кнопки, но не нажимается и все тут :-)
#import "user32.dll" int GetAncestor(int hWnd,int gaFlags); int PostMessageA(int hWnd,int Msg,int wParam,int lParam); #import #define PUSKSTOP 32851 #define WM_COMMAND 0x0111 #define WM_HOTKEY 0x0312 #define ID_REFRESH_NAVIGATOR 0x8288 //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void startdestroy(bool fals=true) { int hChart=WindowHandle(Symbol(),Period()); int hMetaTrader=GetAncestor(hChart,2); if(fals==true) { if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))PostMessageA(hMetaTrader,WM_COMMAND,PUSKSTOP,0); // пуск или остановка советника } if(fals==false) { if(AccountInfoInteger(ACCOUNT_TRADE_EXPERT))PostMessageA(hMetaTrader,WM_COMMAND,PUSKSTOP,0); // пуск или остановка советника } } int WindowHandle(string symbol, int tf) { ENUM_TIMEFRAMES timeframe=TFMigrate(tf); long currChart,prevChart=ChartFirst(); int i=0,limit=100; while(i<limit) { currChart=ChartNext(prevChart); if(currChart<0) break; if(ChartSymbol(currChart)==symbol && ChartPeriod(currChart)==timeframe) return((int)currChart); prevChart=currChart; i++; } return(0); }
искал сообщение WM_COMMAND
<000001> 000108A6 S WM_COMMAND wNotifyCode:0000 wID:32851 hwndCtl:000108AE <000002> 000108A6 R WM_COMMAND <000003> 000108A6 S WM_COMMAND wNotifyCode:0000 wID:32851 hwndCtl:000108AE <000004> 000108A6 R WM_COMMAND <000005> 000108A6 S WM_COMMAND wNotifyCode:1 (sent from an accelerator) wID:32846 <000006> 000108A6 R WM_COMMAND <000007> 000108A6 S WM_COMMAND wNotifyCode:1 (sent from an accelerator) wID:32846 <000008> 000108A6 R WM_COMMAND <000009> 000108A6 S WM_COMMAND wNotifyCode:1 (sent from an accelerator) wID:32845 <000010> 000108A6 R WM_COMMAND <000011> 000108A6 P WM_COMMAND wNotifyCode:0 (sent from a menu) wID:50021 <000012> 000108A6 S WM_COMMAND wNotifyCode:0000 wID:32851 hwndCtl:000108AE <000013> 000108A6 R WM_COMMAND <000014> 000108A6 S WM_COMMAND wNotifyCode:0000 wID:32851 hwndCtl:000108AE <000015> 000108A6 R WM_COMMAND <000016> 000108A6 S WM_COMMAND wNotifyCode:1 (sent from an accelerator) wID:32851 <000017> 000108A6 R WM_COMMAND <000018> 000108A6 S WM_COMMAND wNotifyCode:0000 wID:32851 hwndCtl:000108AE <000019> 000108A6 R WM_COMMAND
почему
PostMessageA ?
а нужно в Юникоде делать?
хоть W хоть A - не работает кнопка.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как программно нажать на кнопку Авто-торговля
Привет друзья,
В мкл4 я думаю данной фишкой пользовались все - когда нужно отключить все советники на счете в один миг - и включить например когда произойдет событие(зацикленный вариант)
все просто
Как это сделать в мт5? Никто не пробовал?(не имею ввиду перевести данный код, а именно команду 33020 чем заменить?)