Trailing Stop или Б\У

 

Всем привет 

Помогите разобрать в коде строку : ситуация такая, тралинг стоп работает от 1 ордера по всем позициям, к примеру ставлю срабатывание трала 70п, после срабатывания трала , открывается стоп-лос в ноль, и в основном все позиции в 90% закрываются в ноль, так и не достигнув положительного ТП. трала, сделки не тралятся, а закрываются Б\У. можно ли изменить в коде параметр . 

   if( Trailing_Flag_Str_1 )

   {

      if( Orders_Total_by_type( OP_BUY, Magic_Number_Str_1, Symbol()) > 0 )

      {

         if( Orders_Total_by_type( OP_BUY,  Magic_Number_Str_1, Symbol()) > 0 )

         {

            // для BUY

            tmp_open_buy = startZERO( OP_BUY, Magic_Number_Str_1);

            for( int i = OrdersTotal() ; i >= 0 ; i--)

            {

               if( !OrderSelect( i, SELECT_BY_POS, MODE_TRADES) )continue;

               if( OrderType() == OP_BUY && OrderMagicNumber() == Magic_Number_Str_1 && OrderSymbol() == Symbol() )

               {

                  if( Bid - Trailing_Stop_Str_1*Point > tmp_open_buy )

                  {

                     if( OrderStopLoss() + Point*Trailing_Step_Str_1 < Bid - Point*Trailing_Stop_Str_1 || NormalizeDouble( OrderStopLoss(), Digits) == 0.0 )

                        res = OrderModify( OrderTicket(), OrderOpenPrice(), NormalizeDouble( Bid - Point*Trailing_Stop_Str_1, Digits), OrderTakeProfit(), OrderExpiration(), clrGold);

                  }

               }

            }

         }

      }

      if( Orders_Total_by_type( OP_SELL, Magic_Number_Str_1, Symbol()) > 0 )

      {

         if( Orders_Total_by_type( OP_SELL,  Magic_Number_Str_1, Symbol()) > 0 )

         {

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