MetaTrader 5 MT5 Expert Advisors Check Last Closed Trade (Profit / Type / Symbol etc.) – EA MetaTrader 5

Check Last Closed Trade (Profit / Type / Symbol etc.) – EA MetaTrader 5

With this code block, you can get the last closed trade data without using loops. 

  • Create a variable to set the current day start time. (This is not necessary to do.)
  • Create some other variables to print a chart output and use if in other code blocks as well. (This is not necessary to do.)
  • Using this code inside of the OnTick(); function leads to show result for every tick. You can set it also for once a bar. 

// variables
string DayStart = "00:00"; // Day Start Time
double LastClosed_Profit; // Last Closed trade profit
string TradeSymbol, TradeType;



// Expert Initializing --------------------
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

// Expert DeInitializing -------------------
void OnDeinit(const int reason)
  {

  }

// Expert OnTick --------------------------
void OnTick()
  {
// check for last closed trade.
   CheckLastClosed();

  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CheckLastClosed()
  {
   datetime HistoryTime = StringToTime(DayStart);

// history from "Day begining to current time
   if(HistorySelect(HistoryTime,TimeCurrent()))
     {
      int Total = HistoryDealsTotal();

      // Get the last deal ticket number and select it to furthur work.
      ulong Ticket = HistoryDealGetTicket(Total -1);

      // Get what you need to get.
      LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2);
      TradeSymbol      = HistoryOrderGetString(Ticket,ORDER_SYMBOL);

      // Identify a sell trade.
      if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY)
        {
         TradeType = "Sell Trade";
        }

      // Identify a buy trade
      if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL)
        {
         TradeType = "Buy Trade";
        }

      // chart out put.
      Comment("\n","Deals Total - :  ", Total,
              "\n","Last Deal Ticket - :  ", Ticket,
              "\n", "Last Closed Profit -:  ", LastClosed_Profit,
              "\n", "Last Trade was -:  ", TradeType);

     }
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

you can get the whole trading history (from the very beginning of the account) by using the  HistorySelect(); function this way.

Alternative:   High Low Сluster - indicator MetaTrader 5
// Get entire history
HistorySelect(0,TimeCurrent());


    📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks