'MetaTrader and ExitProcess' :
//+------------------------------------------------------------------+ //| CloseTerminal.mq4 | //| Copyright © 2006, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property show_inputs #include <WinUser32.mqh> #import "user32.dll" int GetParent( int hWnd ); #import //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { int hwnd=WindowHandle(Symbol(),Period()); int hwnd_parent=0; //---- while(!IsStopped()) { hwnd=GetParent(hwnd); if(hwnd==0) break; hwnd_parent=hwnd; } if(hwnd_parent!=0) PostMessageA(hwnd_parent,WM_CLOSE,0,0); //---- return(0); } //+------------------------------------------------------------------+
Спасибо !
творчески переработал! можно сказать код в библиотеку можно положить!
#import "user32.dll" int GetParent(int hWnd); // вызов API #import int start() { // проверил что нет открытых позиций MyOpen() - функция проверяет есть ли позы для эксперта if ( MyOpen() == 0 ) ExitMT4() //--- позиции есть продолжаем работу /* ... ... */ return(0); } void ExitMT4() // выгрузить MT4 из памяти { int hwnd=WindowHandle(Symbol(),Period()); int hwnd_parent=0; //---- while(!IsStopped()) { hwnd=GetParent(hwnd); if(hwnd==0) break; hwnd_parent=hwnd; } if(hwnd_parent!=0) PostMessageA(hwnd_parent,WM_CLOSE,0,0); }
программу пуска переписал на VISUAL BASIC
1 программа по шедулеру запсукается с указанным периодом ( НАПИСАННО ДЛЯ переработанного СОВЕТНИКА метод Вакены ) вход у него в 20 часов
2 затем если не находит в памяти нужный терминал запсукает его
всего на машине запускает несколько терминалов - можно сколько потянет
советник если не нашел свои позы выгружает MT4 - но если советник стартовал за час до входа и поз нет то он не выгружается до 21 часа
если позы есть то выход не производим
таким образом немного экономятся ресурсы - и трафик
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
День добрый!
Возникла следующая технология
1-в определенное время с указанным квантом времени программа написанная на C++ проверяет в памяти наличие терминала и если его нет грузит его
2-СОВЕТНИК НА MQL4 проеряет наличие открытых позиций - открыть позиции может другой советник или трейдер
и если позиций нет советник должен выгрузить терминал из памяти - если есть выгружать уже не будет
просто сходу не могу вспонить - сам механизм завершения MT4 и выгрузки его
- кажется где то пробегал вариант выгрузки терминала
подскажите кто знает
СПАСИБО!