MetaTrader 5 herunterladen

Struktur für Erfassung der laufenden Preise (MqlTick)

Das ist die Struktur für Speicherung der letzten Preise des Symbols. Bestimmt für schnelles Erhalten der gefragten Information über laufende Preise.

struct MqlTick
  {
   datetime     time;          // Zeit des letzten Updates der Preise 
   double       bid;           // Laufender Preis Bid
   double       ask;           // Laufender Preis Ask
   double       last;          // Laufender Preis des letzten Deals (Last)
   ulong        volume;        // Volumen für laufenden Preis Last
   long         time_msc;      // Zeit der letzten Aktualisierung der Preise in Millisekunden
   uint         flags          // Tick-Flags
  };

 

struct MqlTick
  {
   datetime     time;          // Zeit des letzten Updates der Preise 
   double       bid;           // Laufender Preis Bid
   double       ask;           // Laufender Preis Ask
   double       last;          // Laufender Preis des letzten Deals (Last)
   ulong        volume;        // Volumen für laufenden Preis Last
 
 
  };

Variable des Typs MqlTick ermöglicht mit einem Anruf der Funktion SymbolInfoTick() Werte von Ask, Bid, Last und Volumen zu bekommen.

Alle Parameter sind immer für jeden Tick gefüllt, unabhängig davon, ob die Daten im Vergleich zum vorherigen Tick verändert haben. So können Sie immer einen aktuellen Preisstand haben, ohne auf die vorherigen Werte in der Tick-Historie zu suchen. Beispielsweise kann nur der Bid-Preis mit dem Tick ändern, aber die andere Parameter werden auch in der Preisstruktur angegeben: der vorherige Bid-Preis, Volumen usw.

Um herauszufinden, welche Daten im aktuellen Tick geändert sind, analysieren Sie seine Flags:

  • TICK_FLAG_BID — der Tick hat den Bid-Preis geändert
  • TICK_FLAG_ASK  — der Tick hat den Ask-Preis geändert
  • TICK_FLAG_LAST —  der Tick hat den Last-Preis geändert
  • TICK_FLAG_VOLUME —  der Tick hat das Volumen geändert
  • TICK_FLAG_BUY — der Tick hat als Ergebnis eines Kauf-Deals erschienen
  • TICK_FLAG_SELL — der Tick hat als Ergebnis eines Verkauf-Deals erschienen

Beispiel:

void OnTick()
  {
   MqlTick last_tick;
//---
   if(SymbolInfoTick(Symbol(),last_tick))
     {
      Print(last_tick.time,": Bid = ",last_tick.bid,
            " Ask = ",last_tick.ask,"  Volume = ",last_tick.volume);
    ;}
   else Print("SymbolInfoTick() failed, error = ",GetLastError());
//---
 ;}

Sehen Sie auch

Strukturen und Klassen, CopyTicks(), SymbolInfoTick()