Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Sheer
219
Sheer 2015.10.16 14:51 

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

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

Alexey Volchanskiy
17136
Alexey Volchanskiy 2015.10.16 15:31  
Sheer:

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

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

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

Sheer
219
Sheer 2015.10.16 15:36  
Неа, 
Start=ShellExecuteW(0,"Open","Alpari NZ MT4.lnk","",PuthTester,3);
Alexey Volchanskiy
17136
Alexey Volchanskiy 2015.10.16 15:48  
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...
Vitalie Postolache
12248
Vitalie Postolache 2015.10.19 20:44  
Sheer:

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

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

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

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

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

Alexey Viktorov
7818
Alexey Viktorov 2015.10.19 23:06  
Sheer:

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

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

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

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

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

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

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

Sheer
219
Sheer 2015.10.23 00:45  
Sergey Chalyshev:

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

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

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