how can close order with ticket?


Hi I try create EA. in my EA every open position ticket save in array and close with their ticket too. But i got some error and i do not know how to do it.

first: this is my open trade function. from my source for training  MTRequest get error. also i do not know how to get ticket after position open.

               double Volume,double TP, double SL)
   MqlTradeRequest MTRequest= {0}; // i got error from here
   MqlTradeResult MTResult;
   MTRequest.action = TRADE_ACTION_DEAL;
   MTRequest.type = ENType;
   MTRequest.symbol = _Symbol;

   MTRequest.type_filling = ORDER_FILLING_FOK;
   MTRequest.price = SymbolInfoDouble(_Symbol,ESID);
   if(ENType == ORDER_TYPE_BUY)
     { = SymbolInfoDouble(_Symbol,ESID) + (TP *_Point);
      if(ENType == ORDER_TYPE_SELL)
        { = SymbolInfoDouble(_Symbol,ESID) - (TP *_Point);
   MTRequest.volume = Volume;
   MTRequest.deviation = 10;


second: this is my function for close all order with tickets. I use this link "", but the PositionClose method not working.

 for(int i = 0 ; i< 10 ; i++)
      if(SellArray[i] != 0)
         //close all sell with ticket
         PositionClose(SellArray[i],ULONG_MAX); // this method not work.
         SellArray[i] =0;
how to solve my problems? please help.
Documentation on MQL5: Standard Library / Trade Classes / CTrade / PositionClose
Documentation on MQL5: Standard Library / Trade Classes / CTrade / PositionClose
PositionClose(const string,ulong) - CTrade - Trade Classes - Standard Library - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5

one of my problem solve I use this for save ticket now:

ticket =;

But still i can not close the position with ticket. i read the document again and i found i should add namespace "#include <Trade\Trade.mqh>" in my Expert. however I get the error "'PositionClose' - undeclared identifier    "

how can solve this?