Завершение роботы советников

 
Здравствуйте. Подскажите пожалуйста как завершить работу всех советников. Есть к примеру 10 советников и один контролирующий значение баланса. когда баланс столько то нужно остановить все 10 как будто нажав кнопку запретить автоматическую торговлю. Спасибо.
 

Если все 10 советников с открытым исходником, то добавить глобальную переменную терминала в советник-контролёр, а те 10 советников пусть следят за этой ГПТ, как только там будет, скажем, -1, так и пусть переходят в режим "только закрытие", или вообще самоликвидируются.

Ну или через ВинАпи нажать кнопку автоматической торговли на панели терминала.

 

Если все 10 советников без исходных кодов - боюсь, кроме как извращение с ВинАпи ничего не придумаешь.

Если код советников открыт - пишем контроллер баланса, который запрещает торговать советнику, его использующему (в виде функции или класса, если знакомы с ООП). После чего этот контроллер оформляется в виде библиотеки, и в каждом советнике вызываем его на предмет "можно ли торговать".

 

Можно закрыть все графики вместе с их советниками, кроме 'контролирующего'

Функция-закрывашка

void Close_Charts(long i_Except_This_One=-1) {
        long
                i_Try,
                i_Counter = 100,
                i_Chart_ID = ChartFirst()
        ;
        while(i_Counter-- > 0) {
                if(i_Chart_ID != i_Except_This_One) {
                        i_Try = 3;
                        while(i_Try-- > 0) if(ChartClose(i_Chart_ID)) break;
                }
                i_Chart_ID = ChartNext(i_Chart_ID);
                if(i_Chart_ID < 0) break;
        }
}

 Вызов функции: Close_Charts(ChartID()); 

 
Огромное спасибо.