Letzte Geschlossene Trades Überprüfen: Profit, Typ und Symbol im MetaTrader 5

Mike 2024.04.22 03:51 10 0 0
Anhang

Mit diesem Code-Schnipsel kannst du die Daten des letzten geschlossenen Trades abrufen, ohne dabei Schleifen verwenden zu müssen.

  • Erstelle eine Variable, um die Startzeit des aktuellen Tages festzulegen. (Das ist nicht unbedingt notwendig.)
  • Erstelle weitere Variablen, um Ausgaben für das Chart zu drucken und auch in anderen Code-Blöcken zu verwenden. (Das ist ebenfalls nicht unbedingt notwendig.)
  • Wenn du diesen Code innerhalb der OnTick(); Funktion verwendest, werden die Ergebnisse für jeden Tick angezeigt. Du kannst es auch für einmal pro Kerze einstellen.
// Variablen
string DayStart = "00:00"; // Startzeit des Tages
double LastClosed_Profit; // Gewinn des letzten geschlossenen Trades
string TradeSymbol, TradeType;


// Initialisierung des EAs --------------------
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

// Deinitialisierung des EAs -------------------
void OnDeinit(const int reason)
  {
  }

// OnTick-Funktion --------------------------
void OnTick()
  {
// Überprüfung des letzten geschlossenen Trades.
   CheckLastClosed();
  }
//+------------------------------------------------------------------+

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

// Historie vom Tagesbeginn bis zur aktuellen Zeit
   if(HistorySelect(HistoryTime,TimeCurrent()))
     {
      int Total = HistoryDealsTotal();

      // Hole die Ticketnummer des letzten Deals und wähle sie für weitere Arbeiten aus.
      ulong Ticket = HistoryDealGetTicket(Total -1);

      // Hol dir, was du brauchst.
      LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2);
      TradeSymbol      = HistoryOrderGetString(Ticket,ORDER_SYMBOL);

      // Identifiziere einen Verkaufs-Trade.
      if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY)
        {
         TradeType = "Verkauf Trade";
        }

      // Identifiziere einen Kauf-Trade
      if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL)
        {
         TradeType = "Kauf Trade";
        }

      // Chart-Ausgabe.
      Comment("\n","Anzahl der Deals - :  ", Total,
              "\n","Letztes Deal Ticket - :  ", Ticket,
              "\n", "Letzter Geschlossener Gewinn -:  ", LastClosed_Profit,
              "\n", "Letzter Trade war -:  ", TradeType);

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

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

Du kannst die gesamte Handelsgeschichte (von Beginn des Kontos) mit der HistorySelect(); Funktion auf folgende Weise abrufen:

// Gesamte Historie abrufen
HistorySelect(0,TimeCurrent());


    Liste
    Kommentar 0