CopyTicksRange

Belirtilen aralıktaki tik fiyatlarını MqlTick biçiminde ticks_array dizisine depolar. Numaralandırma geçmişten bugüne doğru yapılır, yani 0 indisli veri dizideki en eski tik fiyatıdır. Tik analizi için, tam olarak neyin değiştiğini gösteren flags alanını kontrol edin.

int  CopyTicksRange(
   const string     symbol_name,           // sembol ismi
   MqlTick&         ticks_array[],         // hedef dizi
   uint             flags=COPY_TICKS_ALL,  // depolanacak tiklerin tipini belirten bayrak
   ulong            from_msc=0,            // alınacak tik verileri için başlangıç tarihi
   ulong            to_msc=0               // alınacak tik verileri için son tarih
   );

Parametreler

symbol_name

[in]  Sembol.

ticks_array

[out] MqlTick biçimli statik veta dinamik dizi. Statik dizi belirtilen aralıktaki tüm tik verilerini alacak kadar geniş değilse, dizinin kapasitesine göre maksimum tik verisi depolanır. Bu durumda fonksiyon şu hatayı verir: ERR_HISTORY_SMALL_BUFFER (4407).

bayraklar

[in]  İstenen tik verilerinin tipini tanımlayacak bayrak. COPY_TICKS_INFO – Satış ve/veya Alış değişimlerini içeren tik verileri, COPY_TICKS_TRADE – Son fiyat ve hacim değişimlerini içeren tik verileri, COPY_TICKS_ALL – tüm tikler. Tüm istek tiplerinde, önceki tik değerleri MqlTick yapısının kalan alanlarına eklenir.

from_msc

[in]   İstenen tik verilerinin başlangıç tarihi. 1970.01.01 tarihinden itibaren milisaniye cinsinden. from_msc parametresi belirtilmemişse mevcut olan en eski tik verisinden başlanır. Tik zamanı from_msc değerinden büyük olan veriler alınır.

to_msc

[in]   alınacak tik verileri için son tarih. 01.01.1970 tarihinden itibaren milisaniye cinsinden. Tik zamanı to_msc değerinden küçük olan veriler alınır. to_msc parametresi belirtilmemişse mevcut olan en son tarihli tik verisine kadar tüm veriler alınır.

Dönüş Değeri

Kopyalanan tiklerin sayısı veya hata durumunda –1. GetLastError() çağrısı şu hatalara dönüş yapabilir:

  • ERR_HISTORY_TIMEOUT – tik senkronizasyonu için tanımlanan süre aşıldı, fonksiyon sahip olunan verilerle çağrıldı.
  • ERR_HISTORY_SMALL_BUFFER – statik tampon çok küçük. Sadece dizi boyutu kadar veri alınabilir.
  • ERR_NOT_ENOUGH_MEMORY – belirtilen aralıktaki verileri depolamak için yeterli bellek yok. Tik dizisi için yeterli bellek tahsis edilemedi.

Not

CopyTicksRange() fonksiyonu belli bir tarih aralığındaki tik verilerini almak için kullanılır, örneğin geçmiş üzerindeki bir günün verileri. CopyTicks() fonksiyonu ise sadec bir başlangıç tarihi belirtebilebilir, örneğin – örneğin ayın başından şu ana kadar olan tik verilerinin alınması.

Ayrıca bakınız

SymbolInfoTick, Mevcut Fiyatlar için Yapı, OnTick, CopyTicks