Эксперт на основе Parabolic не хочет закрывать позицию!

 
Эксперт на основе Parabolic не хочет закрывать позицию!
Фрагмент Эксперта...
Var0=iSAR(0.015,0.3,0);
Var1=iSAR(0.015,0.3,1);
// проверим, есть ли ранее открытые позиции или ордеры?
If TotalTrades<1 then
{
// проверяем на возможность встать в длинную позицию (BUY)
if Var0<min(low,Low[1]) and Var0<Var1 Then
{
SetOrder(OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,Red); // исполняем
Exit; // выходим, так как все равно после совершения торговой операции
// наступил 10-ти секундный таймаут на совершение торговых операций
};
// проверяем на возможность встать в короткую позицию (SELL)
if Var0>max(High,High[1])and Var0>Var1 Then
{
SetOrder(OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,Violet); // исполняем
Exit; // выходим
};
// здесь мы завершили проверку на возможность открытия новых позиций.
// новые позиции открыты не были и просто выходим по Exit, так как
// все равно анализировать нечего
};
{ /* это длинная позиция? */
If Ord(cnt,VAL_TYPE)=OP_BUY then /* длинная позиция */
if Var0>max(High,High[1]) and Var0>Var1 Then
{
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,blue); //закрываем позицию
Exit; //выходим
};
/* это короткая позиция? */
If Ord(cnt,VAL_TYPE)=OP_SELL then
{
if Var0<min(low,Low[1]) and Var0<Var1 Then
{
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Ask,3,Violet); //закрываем позицию
Exit; // Выходим
};
};
 
в данном фрагменте не хватает
цикла во второй части

for cnt=1 to TotalTrades
{
If OrderValue(cnt,VAL_TYPE)=OP_BUY then
...


и ещё хорошо бы добавить проверку на совпадение инструмента
OrderValue(cnt,VAL_SYMBOL)<>Symbol then continue;

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