Problems with PositionModify

 

I have two positions and I do not understand why my code modify both stop loss to the same level

for(int i = PositionsTotal() - 1; i >= 0; i--)
   {
      if(position.SelectByIndex(i) &&
         position.Symbol() == _Symbol &&
         position.Magic() == MagicNum)
         {
            if(position.PositionType() == POSITION_TYPE_SELL)
            {
               // Trail Loss
               if(position.StopLoss() > position.PriceOpen() &&
                  position.StopLoss() - position.PriceCurrent() >= (SL + TrailStep) * adjustpt)
                  {
                     trade.PositionModify(position.Ticket(), position.PriceCurrent() + (SL * adjustpt), position.TakeProfit());
                  }
            }
         }
   }


 
Sorry, my mistake. I just realized its correct.
Reason: