Замедление тестера

 

Для удаления ордеров используется функция:

int close()
{
for(int i=OrdersTotal(); i+1>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true);
OrderDelete(OrderTicket());
}
}

Но при запуске тестера, просчет баров очень быстро (почти сразу) замедляется, и далее тестер тестит так медленно, что быстрее руками тестить...

Определил, что жуткий тормоз вызывает строчка: 

OrderDelete(OrderTicket());

Без этой строки  тестер работает шустро, как и надо.

В чем может быть причина такого глюка в тестере? 

 
paradoxis:

Для удаления ордеров используется функция:

Но при запуске тестера, просчет баров очень быстро (почти сразу) замедляется, и далее тестер тестит так медленно, что быстрее руками тестить...

Определил, что жуткий тормоз вызывает строчка: 

Без этой строки  тестер работает шустро, как и надо.

В чем может быть причина такого глюка в тестере? 

Тестер тормозят графические объекты, и комментарий в левом верхнем углу графика. когда начнёт тормозить, нажми ctrl+b затем ctrl+a и кнопку удалить и закрыть. Будешь приятно удивлён увеличением скорости, которая со временем опять упадёт.
 
paradoxis:
 

В чем может быть причина такого глюка в тестере? 

Может быть, стоит убрать обращения к несуществующим ордерам с номерами "OrdersTotal()" и "-1"?
 
Vlad143:
Может быть, стоит убрать обращения к несуществующим ордерам с номерами "OrdersTotal()" и "-1"?
Похоже в этом направлении и есть ошибка. В определенный момент выскакивает ошибка 4051 и нещадно грузится тестером в журнал и в этот момент резко падает скорость (ошибку сам тестер выводил).
Причина обращения: