Как отключить советника программно? - страница 2

 
vlandex >>:
А?

просто сделайте деление на 0. они и отключится.

а удалить - наверно проще послать окну графика команду закрытия. Закроется график а вместе с ним и эксп

 
granit77 >>:
Ну, кто еще проще выложит? :))

Данный способ удаляет советника с графика.

PostMessageA(GetAncestor(WindowHandle(Symbol(),Period()),2),WM_COMMAND,33050,0);
 
Весело живем. Сплошное дежавю.
 
granit77 >>:
Весело живем. Сплошное дежавю.

:-))) Надо же... Уж забыл про ту тему...

 

Надо вызвать функцию ExpertRemove();

Почему сразу никто не написал?

 
arkadytokaev:

Надо вызвать функцию ExpertRemove();

Почему сразу никто не написал?


Железные у Вас нервы. Семь лет ждать ответа.
 
arkadytokaev:

Надо вызвать функцию ExpertRemove();

Почему сразу никто не написал?


Тогда ее еще не было.
 

Александр:

Данный способ удаляет советника с графика.

PostMessageA(GetAncestor(WindowHandle(Symbol(),Period()),2),WM_COMMAND,33050,0);

Александру спасибо!

Но вызов:

PostMessageA(GetAncestor(WindowHandle(Symbol(),Period()),2),WM_COMMAND,33050,0);

аналогичен вызову:

ExpertRemove();

А вот немного изменив приведённый коллегой код, можно удалить советника с другого, "соседнего" графика.

Например:

PostMessageA(GetAncestor(WindowHandle("XAUUSD", PERIOD_H1), 1), WM_COMMAND, 33050, 0);

P.S. Для тех, кто не разглядел разницы, поясняю, что 2-м параметром при вызове функции

GetAncestor()

в этом случае должна быть 1, а не 2.

 
Виктор:
Ну, кто еще проще выложит? :))

Кнопка

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