Одинакова ли работа функций CloseOrder1 и CloseOrder2?

 
Одинакова ли работа функций CloseOrder1( mag) и CloseOrder2( mag) ??? :


void CloseOrder1(int mag)
{ for(int i=0 ; i < OrdersTotal() ; i++ )
  { if( OrderSelect(i,SELECT_BY_POS, MODE_TRADES ) && OrderMagicNumber( ) == mag && Symbol() == OrderSymbol() )
    { if ( OrderType()==OP_BUY ) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Black);return ;}
      if ( OrderType()==OP_SELL ){ OrderClose(OrderTicket(),OrderLots(),Ask,3,Black);return ;}
      if ( OrderType()==OP_SELLLIMIT || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYSTOP) {OrderDelete( OrderTicket()) ;return ;}
    }
  }
}

теперь убираю четыре фигурные скобки


void CloseOrder2(int mag)
{ for(int i=0 ; i < OrdersTotal() ; i++ )
if( OrderSelect(i,SELECT_BY_POS, MODE_TRADES ) && OrderMagicNumber( ) == mag && Symbol() == OrderSymbol() )
  if ( OrderType()==OP_BUY ) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Black);return ;}
  if ( OrderType()==OP_SELL ){ OrderClose(OrderTicket(),OrderLots(),Ask,3,Black);return ;}
  if ( OrderType()==OP_SELLLIMIT || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYSTOP) {OrderDelete( OrderTicket()) ;return ;}
}

Я думаю, что цикл во второй ф-ии будет работать с первым if, следовательно перебор ордеров произойдет ...
После первого if - отработает второй if - следовательно произойдет проверка на БАЙ, это будет крутится в цикле ....
То есть в цикле будет проверяться только БАЙ ордер. А надо проверять все .
Только после окончания цикла, проверяться 2-й и 3-й if и то для последнего ордера среди всех просмотренных .
Прихожу к выводу, что ф-ии отработают по разному .
Первая - правильно .
А вторая - нет.

Кто думает иначе ?
 

На форуме есть возможность вставки MQL кода, нагляднее выходит. ..

На вскидку: первая правильно, вторая нет. Хотя можно придумать условия при которых обе будут работать с одинаковым конечным результатом. Например, ордеров НЕТ, ордер только один. Но Вроде это очевидно и Вам в том числе, в чем соль?

 
Figar0:

На форуме есть возможность вставки MQL кода, нагляднее выходит. ..

На вскидку: первая правильно, вторая нет. Хотя можно придумать условия при которых обе будут работать с одинаковым конечным результатом. Например, ордеров НЕТ, ордер только один. Но Вроде это очевидно и Вам в том числе, в чем соль?

да вот пока писал пост, стало доходить понемногу, и тем не менее решил посоветоваться с форумом ....