Когда вы останавливаете агента, TSLab автоматический снимает заявки на открытие позиции.
Но, если вы работаете с заявками напрямую через IOrder, то генерация позиций отключена и он этого не делает.
В результате, после остановки агента, все выставленные им заявки остаются в стакане. Их приходится искать и отменять вручную.
Понятно, что рано или поздно вы что-нибудь забудете или не заметите и агент, случайным образом зайдет в позицию. При этом, событие отключения агента в скипте ни как обработать нельзя.
Ничего не придумав для решения этой проблемы написал в тех. поддержку. Там мне предложили решить ее при помощи «контрольной панели».
Довольно любопытная штуковина, в версии 1.2 ничего похожего, вроде бы, не было.
Логика решения примерно следующая: вместо отключения агента, или перед тем как его остановить, вы нажимаете кнопку на контрольной панели, которая приводит к тому, что скрипт снимает все заявки (ну или не все, если нужно оставить заявки на закрытие позиции) и прерывает работу скрипта.
Я это все к чему, в ходе обсуждения с тех. поддержкой моей проблемы, я обещал выложить получившееся у меня решение на форум – выполняю.
http://support.tslab.ru/index.php?/Knowledgebase/Article/View/17/0/rabota-s-zayavkami-napryamuyu