Как закрыть МТ4 советником?

 

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

Собственно запускается МТ4 благодаря другому советнику в другом терминале, с использованием WinAPI, с помощью какой функции можно закрыть? 

 
Sheer:

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

Собственно запускается МТ4 благодаря другому советнику в другом терминале, с использованием WinAPI, с помощью какой функции можно закрыть? 

Открывается так? https://msdn.microsoft.com/en-us/library/windows/desktop/ms682512%28v=vs.85%29.aspx

 
Неа, 
Start=ShellExecuteW(0,"Open","Alpari NZ MT4.lnk","",PuthTester,3);
 
Sheer:
Неа, 
Start=ShellExecuteW(0,"Open","Alpari NZ MT4.lnk","",PuthTester,3);

Если сделать через эти функции, точно можно будет закрыть, через шелл не в курсе.


CreateProcess

TerminateProcess function

CreateProcess function (Windows)
  • msdn.microsoft.com
Creates a new process and its primary thread. The new process runs in the security context of the calling process. If the calling process is impersonating another user, the new process uses the token for the calling process, not the impersonation token. To run the new process in the security context of the user represented by the impersonation...
 
Sheer:

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

Собственно запускается МТ4 благодаря другому советнику в другом терминале, с использованием WinAPI, с помощью какой функции можно закрыть? 

Нажать через WinAPI комбинацию Alt+F4, предварительно убедившись, что нужное окно активно.
 
Vitalie Postolache:
Нажать через WinAPI комбинацию Alt+F4, предварительно убедившись, что нужное окно активно.

Если уже найдено главное окно МТ4, то достаточно послать ему WM_CLOSE ))

Хотя есть способ проще, без DLL - TerminalClose. Работает, как в МТ4, так и в МТ5.

 
Sheer:

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

Собственно запускается МТ4 благодаря другому советнику в другом терминале, с использованием WinAPI, с помощью какой функции можно закрыть? 

Во вложении скрипт закрывающий терминал.
Файлы:
test.mq4  2 kb
 
Sheer:

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

Собственно запускается МТ4 благодаря другому советнику в другом терминале, с использованием WinAPI, с помощью какой функции можно закрыть? 

Для чего такие извращения?

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

 
Sergey Chalyshev:

Для чего такие извращения?

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

Мне нужна оптимизация именно в терминале, а не внутри советника. Если вы это и имели ввиду, то расскажите как запускать оптимизацию прям в том же терминале. Вообще основная нагрузка идет от оптимизации, а не от использования WinAPI.