Как ограничить время работы функции

 
Стоит проблема следующего характера, в советнике есть функция закрытия ордеров OrderClose, бывает такое, программа зависает на выполнении этой функции на 3 минуты, после чего возвращает ошибку 128 (Истек срок ожидания совершения сделки) бывает и другие ошибки но через 3 минуты. Я так понимаю, что дело в том что эта функция либо не смогла передать сигнал серверу либо его не получила обратно об какой-то ошибке. Так вот вопрос, как можно ограничить время ожидания сигнала от сервера??? Пожалуйста не предлагайте сменить брокера и все такое, поскольку в ручном режиме все работает замечательно, я обращаюсь к профессионалам которые знают как можно настроить время исполнения функции, что бы она не тормозила всю программу (скорее всего по умолчанию где-то прописано ожидать 3 минуты).