Тестер подвисает

 
С чем может быть связано подвисание тестера между сделками ? использую простой советник но паралельно пишу некоторые данные файл, работы диска не видно и как дебагнуть непонятно потому что как будто там Sleep на какое-то время включается но в коде ничего подобного нет
 
Loknar:
С чем может быть связано подвисание тестера между сделками ? использую простой советник но паралельно пишу некоторые данные файл, работы диска не видно и как дебагнуть непонятно потому что как будто там Sleep на какое-то время включается но в коде ничего подобного нет

Может быть циклится, может быть неправильные цены подаются для открытия ордера и генерируется ошибка 138, и еще 1000 причин. Выложите кусок кода, будет легче помочь.
 
Talex:

Может быть циклится, может быть неправильные цены подаются для открытия ордера и генерируется ошибка 138, и еще 1000 причин. Выложите кусок кода, будет легче помочь.


Там кусок когда связан с виртуальными сделками - если они не делаются все ок, а после первой виртуальной подвисает так что вряд ли с торговыми функциями это связано. Циклов замкнутых нету - все с брейками так или иначе но я еще поищу

помимо циклов что может быть ?

блок выложить могу но он здесь в статьях есть, просто чуть мною немного доработанный - долго в нем разбираться

 
Loknar:


Там кусок когда связан с виртуальными сделками - если они не делаются все ок, а после первой виртуальной подвисает так что вряд ли с торговыми функциями это связано. Циклов замкнутых нету - все с брейками так или иначе но я еще поищу

помимо циклов что может быть ?

блок выложить могу но он здесь в статьях есть, просто чуть мною немного доработанный - долго в нем разбираться

Ну так гадать долго можно. Кто тут у нас ясновидящий? :)
 
Loknar:
С чем может быть связано подвисание тестера между сделками ?
С работой эксперта тестируемого в тестере, с чем же еще?
 
Talex:
Ну так гадать долго можно. Кто тут у нас ясновидящий? :)


Вот код :

double VirtualEquity() {
   double a=AccountBalance();
   if (VirtClosedOrdersCount==0) return(a);
   for (int b=ArrayRange(VirtClosedOrders,0)-1;b<=0;b--) {
      a=a+VirtClosedOrders[b][7];
      }
return(a);
}
Видимо где-то здесь циклится - если ее убрать и поставить вместо нее торговую AccountEquity() то все ок
 

Походу разобрался надо было в b<=0 поменять на b>=0

ужаснах :)

 
Loknar:

Походу разобрался надо было в b<=0 поменять на b>=0

ужаснах :)

нормально... программистские будни :-)
 
все в люльку пора....глюки скоро прибегут за мной вживую!