Close all sell orders, or buy orders from a currency pair.

 

Close all sell orders, or buy orders from a currency pair. It still closes all orders. Please help me, my English is not good. Thank You!

#include <Trade\Trade.mqh>

CTrade trade;
//--- Position properties

void CloseAllPositions()
{
for(int i=PositionsTotal()-1;i>=0;i--)
{
if(PositionSelect(_Symbol))
{
int ticket = (int)PositionGetTicket(i);
ENUM_ORDER_TYPE type=(ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE);
if(type==ORDER_TYPE_BUY)
{
trade.PositionClose(ticket);
}
}
}
}
void OnTick()
{
CloseAllPositions();
}
 
void CloseAllBuyPositions()
{
  for(int i=PositionsTotal()-1;i>=0;i--)
  {
    if(PositionGetSymbol(i)==_Symbol && PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
    {
      ulong ticket = PositionGetTicket(i);
      trade.PositionClose(ticket);
    }
  }
}

Always name your functions after what they are really doing.