Закрытие ордеров перекрытием

Хотелось бы научить советника закрывать имеющиеся ордера перекрытием, а не просто по TP или SL.

Как реализовать это программно?

Может вот эта функция подойдет ?

bool OrderCloseBy( int ticket, int opposite, color Color=CLR_NONE) 
Закрытие одной открытой позиции другой позицией, открытой по тому же самому инструменту, но в противоположном направлении. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции.

//--------------------

Не во всех ДЦ эта функция допускается к использованию.

А если ордеров больше 2-х.. как быть?)

Магики предусматривать. Для каждого ордера.

Или как-ниб. иначе их заранее "идентифицировать"

ALex2008 >>:
А если ордеров больше 2-х.. как быть?)

Пересчитать все объемы (лоты) открытых поз в цикле и выставить один встречный ордер этого самого объема. Потом проверять, если есть две встречные, то закрывать по OrderCloseBy().

Reshetov

Можно пример реализации в коде...