помогите pls найти ошибку

[Удален]  
Пытаюсь чуть-чуть модифицировать (на случай отключения инета хочу двигать немного уровень профита) трал по теням свечей - где-то зацикливает..Подскажите, пжалста...

double stLevel=MarketInfo(Sym,MODE_STOPLEVEL);
double spr=MarketInfo(Sym,MODE_SPREAD);
double new_extremum;
double new_target=OrderTakeProfit();

for (int j=0; j<OrdersTotal(); j++) {
if (OrderSelect(j, SELECT_BY_POS, MODE_TRADES)) {

// если длинная позиция (OP_BUY), находим минимум bars_n свечей
if (OrderType()==OP_BUY){

new_extremum = Low[iLowest(Sym,tf,MODE_LOW,bars_n,1)];

if (ProfitPlus==true) new_target=new_target+indent*Point;
else new_target=new_target;

// если тралим и в зоне убытков
if (trlinloss==true){
// если найденное значение "лучше" текущего стоплосса позиции, переносим
if ((((new_extremum - indent*Point)>OrderStopLoss()) || (OrderStopLoss()==0))
&& (new_extremum - indent*Point<Bid-stLevel*Point)) {
ModifyOrder(-1, new_extremum - indent*Point, -1);}
}
else
// если новый стоплосс не только лучше предыдущего, но и курса открытия позиции
if ((((new_extremum - indent*Point)>OrderStopLoss()) || (OrderStopLoss()==0))
&& ((new_extremum - indent*Point)>OrderOpenPrice()) && (new_extremum - indent*Point<Bid-stLevel*Point)){
ModifyOrder(-1, new_extremum - indent*Point, -1);}
}

 
Вторая часть трала вообще никогда не будет выполняться.
Запринтуйте все значения для условий трала и просмотрите их потом в журнале, мне кажется у Вас в логике затык.
PS. Очень улыбнула фраза:
if (ProfitPlus==true) new_target=new_target+indent*Point;
else new_target=new_target;