MetaTrader5
Vérifiez les Dernières Transactions Closes sur MetaTrader 5
Salut les traders ! Aujourd'hui, je vais vous montrer comment obtenir les données de votre dernière transaction fermée sans avoir à utiliser de boucles dans votre code. C'est super pratique pour garder un œil sur vos performances !
Comment procéder ?
Créez une variable pour définir l'heure de début de la journée. (Ce n'est pas une obligation, mais c'est un bon point de départ.)
Créez d'autres variables pour afficher des résultats sur le graphique et les utiliser dans d'autres blocs de code. (Encore une fois, ce n'est pas nécessaire, mais c'est utile.)
En utilisant ce code dans la fonction OnTick();, vous obtiendrez les résultats à chaque tick. Vous pouvez également le configurer pour qu'il s'exécute à chaque barre.
Le Code
// variables
string DayStart = "00:00"; // Heure de Début de la Journée
double LastClosed_Profit; // Profit de la Dernière Transaction Fermée
string TradeSymbol, TradeType;
// Initialisation de l'Expert --------------------
int OnInit()
{
return(INIT_SUCCEEDED);
}
// Désinitialisation de l'Expert -------------------
void OnDeinit(const int reason)
{
}
// Fonction OnTick --------------------------
void OnTick()
{
// Vérification de la dernière transaction fermée.
CheckLastClosed();
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void CheckLastClosed()
{
datetime HistoryTime = StringToTime(DayStart);
// Historique de "Début de la Journée à l'heure actuelle"
if(HistorySelect(HistoryTime,TimeCurrent()))
{
int Total = HistoryDealsTotal();
// Obtenez le numéro de ticket de la dernière transaction et sélectionnez-le pour un traitement ultérieur.
ulong Ticket = HistoryDealGetTicket(Total -1);
// Obtenez les informations nécessaires.
LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2);
TradeSymbol = HistoryOrderGetString(Ticket,ORDER_SYMBOL);
// Identifier une transaction de vente.
if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY)
{
TradeType = "Vente";
}
// Identifier une transaction d'achat
if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL)
{
TradeType = "Achat";
}
// Affichage sur le graphique.
Comment("\n","Total des Transactions - : ", Total,
"\n","Numéro du Dernier Ticket - : ", Ticket,
"\n", "Profit de la Dernière Transaction -: ", LastClosed_Profit,
"\n", "La Dernière Transaction était -: ", TradeType);
}
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
N'oubliez pas, vous pouvez obtenir l'ensemble de l'historique des transactions (depuis le tout début de votre compte) en utilisant la fonction HistorySelect(); comme ceci :
// Obtenez tout l'historique
HistorySelect(0,TimeCurrent());
2024.04.22