96 lines
3 KiB
MQL5
96 lines
3 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| LEARNINGGetTradeHistory.mq5 |
|
|
//| Copyright 2023, M & Q Investment Group |
|
|
//| https://www.mql5.com |
|
|
//+------------------------------------------------------------------+
|
|
#property copyright "Copyright 2023, M & Q Investment Group"
|
|
#property link "https://www.mql5.com"
|
|
#property version "1.00"
|
|
//+------------------------------------------------------------------+
|
|
//| Expert initialization function |
|
|
//+------------------------------------------------------------------+
|
|
int OnInit()
|
|
{
|
|
//---
|
|
|
|
//---
|
|
return(INIT_SUCCEEDED);
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| Expert deinitialization function |
|
|
//+------------------------------------------------------------------+
|
|
void OnDeinit(const int reason)
|
|
{
|
|
//---
|
|
//--- GET LAST PROFIT FUNCTION ---
|
|
string Getlastprofit()
|
|
{
|
|
|
|
//get history
|
|
HistorySelect(0,TimeCurrent());
|
|
|
|
uint TotalNumberofdeals=HistoryDealsTotal();
|
|
ulong Ticketnumber=0;
|
|
long OrderType = 0;
|
|
double OrderProfit = 0;
|
|
string MySymbol = "";
|
|
string PositionDirection = "";
|
|
string MyResult = "";
|
|
long Dealentry = 0;
|
|
|
|
|
|
//go through deals
|
|
for(uint i=0; i < TotalNumberofdeals ; i++)
|
|
{
|
|
|
|
//looking for ticket number
|
|
if((Ticketnumber=HistoryDealGetTicket(i))>0)
|
|
{
|
|
//get profit
|
|
OrderProfit = HistoryDealGetDouble(Ticketnumber, DEAL_PROFIT);
|
|
|
|
OrderType = HistoryDealGetInteger(Ticketnumber, DEAL_TYPE);
|
|
|
|
MySymbol = ;
|
|
|
|
//get deal entry type to check for close types
|
|
Dealentry = HistoryDealGetInteger(Ticketnumber, DEAL_ENTRY);
|
|
|
|
//if currency pair fits
|
|
if (MySymbol == _Symbol)
|
|
|
|
if (OrderType == DEAL_TYPE_BUY || OrderType == DEAL_TYPE_SELL)
|
|
|
|
if (Dealentry == 1)
|
|
{
|
|
|
|
//set sell order type if close type was buy
|
|
if (OrderType == DEAL_TYPE_BUY)
|
|
PositionDirection = "Sell-Trade";
|
|
|
|
//set buy order type if close type was sell
|
|
if (OrderType == DEAL_TYPE_SELL)
|
|
PositionDirection = "Buy-Trade";
|
|
|
|
MyResult = "Profit: "+OrderProfit+" Ticket: "+Ticketnumber+" Position Direction: "+PositionDirection;
|
|
}//if end
|
|
|
|
}//for end
|
|
}
|
|
//return the result
|
|
return MyResult;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| Expert tick function |
|
|
//+------------------------------------------------------------------+
|
|
void OnTick()
|
|
{
|
|
//---
|
|
|
|
}
|
|
//+------------------------------------------------------------------+
|