CopyTicksRange

Die Funktion erhält Ticks vom Typ MqlTick aus einem bestimmten Zeitbereich ins Array ticks_array. Dabei erfolgt die Indizierung der Ticks von der Vergangenheit in die Gegenwart, d.h. das älteste Tick ist das Tick mit dem Index 0. Für die Analyse eines Ticks muss das Feld flags geprüft werden, in welchem Änderungen angezeigt werden.

int  CopyTicksRange(
   const string     symbol_name,           // Symbolname
   MqlTick&         ticks_array[],         // Array für das Erhalten von Ticks
   uint             flags=COPY_TICKS_ALL,  // Flag, das den Typ der Ticks definiert
   ulong            from_msc=0,            // Datum, von welchem die Ticks abgerufen werden
   ulong            to_msc=0               // Datum, bis welchem die Ticks abgerufen werden
   );

Parameter

symbol_name

[in]  Ein Symbol.

ticks_array

[out]  Ein statisches oder dynamisches Array MqlTick für das Erhalten von Ticks. Wenn das statische Array nicht alle abgerufenen Ticks aus dem angegebenen Bereich speichern kann, werden so viele Ticks aufgenommen, wie viele ins Array hineinpassen. Dabei generiert die Funktion den Fehler ERR_HISTORY_SMALL_BUFFER (4407).

flags

[in]  Ein Flag, das den Typ der Ticks definiert. COPY_TICKS_INFO – Ticks mit Änderungen von Bid und/oder Ask, COPY_TICKS_TRADE – Ticks mit Änderungen von Last und Volume, COPY_TICKS_ALL – alle Ticks. Bei jedem Anfragetyp werden Werte des vorherigen Ticks in die Felder der MqlTick Struktur gespeichert.

from_msc

[in]  Das Datum, von welchem Ticks abgerufen werden. Das Datum wird in Millisekunden vom 01.01.1970 angegeben. Wenn der Parameter from_msc nicht festgelegt wurde, werden alle Ticks vom Anfang der Historie zurückgegeben. Es werden Ticks mit einer Zeit >= from_msc zurückgegeben.

to_msc

[in]   Das Datum, bis welchem Ticks abgerufen werden. Das Datum wird in Millisekunden vom 01.01.1970 angegeben. Es werden Ticks mit einer Zeit <= to_msc ins Array geschrieben. Wenn der Parameter to_msc nicht festgelegt wurde, werden alle Ticks bis zum Ende der Historie zurückgegeben.

Rückgabewert

Anzahl von kopierten Ticks oder -1 im Fehlerfall. GetLastError() kann folgende Fehler ausgeben:

  • ERR_HISTORY_TIMEOUT – die Synchronisierungszeit ist abgelaufen, die Funktion gab alle vorhandenen Ticks zurück.
  • ERR_HISTORY_SMALL_BUFFER – der statische Puffer ist zu klein, die Funktion gab so viele Ticks zurück, wie viele in das Array hineinpassten.
  • ERR_NOT_ENOUGH_MEMORY – nicht ausreichend Speicherplatz für das Erhalten der Historie aus dem angegebenen Bereich in das dynamische Array. Es ist nicht gelungen, Speicher für das Array zu reservieren.

Hinweis

Die CopyTicksRange() Funktion dient zum Abruf von Ticks aus einem strikt angegebenen Bereich, z.B. Tick für einen konkreten Tag der Historie, während CopyTicks() nur das Anfangsdatum angibt, z.B. - alle Ticks vom Anfang des Monats bis heute erhalten.

Siehe auch

SymbolInfoTick, Struktur für das Erhalten aktueller Preise, OnTick, CopyTicks