А как программно прекратить работу советника?

 
А как программно прекратить работу советника?
 
PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);
 
FAQ:
Хоть я и не инициатор, но спасибо! Давно искал.
 
начните отсюда : https://www.mql5.com/ru/forum/110207
 

Только этот код непросто прекращает работу эксперта, а выгружает его.

Для остановки надо на кнопку нажать:

#include <ServicesMT4.mqh> // Заголовочный файл библиотеки "ServicesMT4.dll" сервисных функций для терминала МТ4.
// 5. Функция включения/отключения эксперта.
void ExpertEnabled(bool bSwitch) // TRUE - включить эксперт, FALSE - отключить эксперт.
 {
  if (bSwitch) {if (!IsExpertEnabled()) ServiceSetExperts();}
  else {if (IsExpertEnabled()) ServiceSetExperts();}
 }
Библиотека ServicesMT4.dll.

Там есть и другие функции управления экспертом и другими MQL4-программами.

 
Zhunko:

Только этот код непросто прекращает работу эксперта, а выгружает его.

Для остановки надо на кнопку нажать:

Ну выгрузили и что? Он же не нужен. А нажатие на кнопку всех экспертов вырубает - вот это да классно! Надо одного эксперта выключить, вырубаем все.
 

Вадим, как думаешь, как скоро например зацикленный эксперт узнает о том, что нажата кнопка ?

Ответ : с приходом первого тика после нажатия. А до этого времени он много чего может наделать... да и тик можно очень долго ждать...  

... а если надо управлять другим экспертом (не собой(на другом графике)) ?  

 
FAQ:
начните отсюда : https://www.mql5.com/ru/forum/110207

Это ж клондайк для программиста)))

Спасибо! 

 
FAQ:

Вадим, как думаешь, как скоро например зацикленный эксперт узнает о том, что нажата кнопка ?

Ответ : с приходом первого тика после нажатия. А до этого времени он много чего может наделать... да и тик можно очень долго ждать...  

... а если надо управлять другим экспертом (не собой(на другом графике)) ?  


если предусмотрено, то сразу и выйдет как только приступит к любой торговой операции, в противном случае - веселья час и боль разлуки
 
keekkenen:

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

  тото и оно
 
FAQ:

Вадим, как думаешь, как скоро например зацикленный эксперт узнает о том, что нажата кнопка ?

Ответ : с приходом первого тика после нажатия. А до этого времени он много чего может наделать... да и тик можно очень долго ждать...  

... а если надо управлять другим экспертом (не собой(на другом графике)) ?  

Разве это проблема для программиста? :-)) Условие в цикл, по которому он прекращается.

Integer:
Ну выгрузили и что? Он же не нужен. А нажатие на кнопку всех экспертов вырубает - вот это да классно! Надо одного эксперта выключить, вырубаем все.
В задании ничего не было про другие эксперты.

Можно ещё предположить, что надо временно остановить, чтобы потом продолжить, не потеряв данные.

================= 

На всякий случай, в той библиотеке есть функции для загрузки эксперта, скрипта и индикатора.

=================

Сколько задач управления экспертом - столько же и решений. Всё хороши для разных задач.

Причина обращения: