CopyTicksRange

Weist die Ticks aus der Struktur MqlTick einer Matrix oder einem Vektor innerhalb der angegebenen Zeitspanne zu. Die Elemente werden von der Vergangenheit bis zur Gegenwart gezählt, d.h. der Tick mit Index 0 ist der älteste. Um einen Tick zu analysieren, prüft man das Feld Flags, das anzeigt, was genau sich in dem Tick geändert hat.

bool  matrix::CopyTicksRange(
   string           symbol,                // Symbolname
   ulong            flags,                 // Flag, das den Typ der verlangten Ticks spezifiziert
   ulong            from_msc,              // Zeitpunkt, ab dem die Ticks abgerufen werden
   ulong            to_msc                 // Zeitpunkt, bis zu der Ticks angefordert werden
   );

Vektor-Methode

bool  vector::CopyTicksRange(
   string           symbol,                // Symbolname
   ulong            flags,                 // Flag, das den Typ der verlangten Ticks spezifiziert
   ulong            from_msc,              // Zeitpunkt, ab dem die Ticks abgerufen werden
   ulong            to_msc                 // Zeitpunkt, bis zu der Ticks angefordert werden
   );

Parameter

symbol

[in]  Symbolname

flags

[in] Eine Kombination von Flags aus der Enumeration ENUM_COPY_TICKS, die den Inhalt der angeforderten Daten angibt. Beim Kopieren in einen Vektor kann nur ein Wert aus der Enumeration ENUM_COPY_TICKS angegeben werden, sonst tritt ein Fehler auf.

from_msc

[in]  Zeitpunkt, ab dem Ticks angefordert werden. Die Zeit wird in Millisekunden seit dem 01/01/1970 angegeben. Wird der Parameter 'from_msc' nicht angegeben, werden die Ticks vom Beginn der Historie an zurückgegeben. Zurückgegeben werden die Ticks mit einer Zeit >= from_msc.

to_msc

[in]  Zeit, bis zu der Ticks angefordert werden. Die Zeit wird in Millisekunden seit dem 01/01/1970 angegeben. Zurückgegeben werden die Ticks mit einer Zeit <= to_msc.<= to_msc Wenn der Parameter to_msc nicht angegeben wird, werden alle Ticks bis zum Ende der Historie zurückgegeben.

Rückgabewert

Gibt bei Erfolg true zurück oder false, wenn ein Fehler aufgetreten ist. GetLastError() kann die folgenden Fehler zurückgeben:

  • ERR_HISTORY_TIMEOUT — Timeout für die Tick-Synchronisation ist abgelaufen, die Funktion hat alles zurückgegeben, was sie hatte.
  • ERR_HISTORY_SMALL_BUFFER — der statische Puffer ist zu klein. Nur die Menge, die das Array speichern kann, wurde zurückgegeben.
  • ERR_NOT_ENOUGH_MEMORY — nicht genug Speicher, um historische Daten aus dem angegebenen Bereich in ein dynamisches Tick-Array zu empfangen. Es konnte nicht genügend Speicher für das Tick-Array zugewiesen werden.

 

Analysieren Sie die Tick-Flags, um herauszufinden, welche Daten sich geändert haben:

  • TICK_FLAG_BID — der Tick hat den Geldkurs (Bid) geändert.
  • TICK_FLAG_ASK — das Häkchen hat den Briefkurs (Ask) verändert.
  • TICK_FLAG_LAST — der Tick hat den Preis des letzten Deals geändert.
  • TICK_FLAG_VOLUME — der Tick hat das Volumen verändert.
  • TICK_FLAG_BUY — der Tick ist das Ergebnis eines Kaufes.
  • TICK_FLAG_SELL — der Tick ist das Ergebnis eines Verkaufs.

Hinweis

Die Methode CopyTicksRange() wird verwendet, um Ticks aus genau dem angegebenen Bereich abzufragen. Zum Beispiel Ticks für einen bestimmten Tag in der Geschichte. CopyTicks() Erlaubt auch die Angabe nur des Startdatums, z.B. um alle Ticks vom Monatsanfang bis jetzt zu erhalten.

Siehe auch

Zugang zu Zeitreihen und Daten der Indikatoren, CopyRates