Watch how to download trading robots for free
Find us on Telegram!
Join our fan page
Interesting script?
So post a link to it -
let others appraise it
You liked the script? Try it in the MetaTrader 5 terminal
Experts

Check Last Closed Trade (Profit / Type / Symbol etc.) - expert for MetaTrader 5

Views:
1360
Rating:
(3)
Published:
2024.04.21 18:51
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance

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.

// Get entire history
HistorySelect(0,TimeCurrent());


    Trailing with Close by Button and Profit Trailing with Close by Button and Profit

    This EA help you for Auto set the TP & SL by default parameter, Auto trailing stop & step for any order that you place from any device, Easy way to close all orders with 3 Button "Close All" "Close Profit" "Close Lose", Auto close all orders by profit or lose treshold value

    Confluence Detector Confluence Detector

    It will detect whether there's confluence between the current chart timeframe and two other timeframes.

    A BETTER RSI A BETTER RSI

    Relative Strength Index that completely removes noise, works on all markets!

    Manual Backtest Bar Replay Simulator Manual Backtest Bar Replay Simulator

    A simple indicator which may help you in manual backtest by just moving a vertical line to show hide bars.