CopyTicksRange

Belirtilen tarih aralığı için MqlTick yapısından matrise veya vektöre tikler alır. Elemanlar geçmişten şimdiki zamana doğru sayılır, yani indeksi 0 olan tik en eski tiktir. Tik analizi için, tikte tam olarak nelerin değiştiğini ifade eden flags alanını kontrol edin.

bool  matrix::CopyTicksRange(
   string           symbol,                // sembol adı
   ulong            flags,                 // alınacak tiklerin türünü belirten bayrak
   ulong            from_msc,              // talep edilecek tiklerin başlangıç zamanı
   ulong            to_msc                 // talep edilecek tiklerin bitiş zamanı
   );

Vektör metodu

bool  vector::CopyTicksRange(
   string           symbol,                // sembol adı
   ulong            flags,                 // alınacak tiklerin türünü belirten bayrak
   ulong            from_msc,              // talep edilecek tiklerin başlangıç zamanı
   ulong            to_msc                 // talep edilecek tiklerin bitiş zamanı
   );

Parametreler

symbol

[in]  Sembol.

flags

[in] ENUM_COPY_TICKS numaralandırmasından, istenen tiklerin türünü belirten bayrak kombinasyonu. Verileri vektöre kopyalarken, ENUM_COPY_TICKS numaralandırmasından yalnızca bir değer belirtilebilir, aksi takdirde hata meydana gelecektir.

from_msc

[in]  Talep edilecek tiklerin başlangıç tarihi. Zaman, 01/01/1970 tarihinden itibaren olacak şekilde milisaniye cinsinden belirtilir. from_msc parametresi belirtilmezse, geçmişin başından itibaren tikler geri döndürülür. Zaman >= from_msc olan tikler geri döndürülür.

to_msc

[in]  Tiklerin talep edileceği aralığın bitiş zamanı. Zaman, 01/01/1970 tarihinden itibaren olacak şekilde milisaniye cinsinden belirtilir. Zaman <= from_msc olan tikler geri döndürülür. to_msc parametresi belirtilmezse, geçmişin sonuna kadar olan tüm tikler geri döndürülür.

Geri dönüş değeri

Başarılı olursa true, hata olması durumunda false geri döndürür. GetLastError() aşağıdaki hataları geri döndürebilir:

  • ERR_HISTORY_TIMEOUT - tik senkronizasyonu için zaman aşımı meydana geldi, fonksiyon kullanılabilir tüm tikleri geri döndürdü.
  • ERR_HISTORY_SMALL_BUFFER - statik arabellek çok küçük. Yalnızca dizinin depolayabileceği veri miktarı geri döndürüldü.
  • ERR_NOT_ENOUGH_MEMORY - belirtilen aralıktan geçmiş verileri dinamik tik dizisine almak için yeterli bellek yok. Tik dizisi için yeterli bellek tahsis edilemedi.

 

Tik analizi için, tikte tam olarak nelerin değiştiğini ifade eden bayrakları kullanın:

  • TICK_FLAG_BID - tik, Satış fiyatı değişimi sonucu oluştu
  • TICK_FLAG_ASK - tik, Alış fiyatı değişimi sonucu oluştu
  • TICK_FLAG_LAST - tik, Son işlem fiyatı değişimi sonucu oluştu
  • TICK_FLAG_VOLUME - tik, hacim değişimi sonucu oluştu
  • TICK_FLAG_BUY - tik, alış işlemi sonucu oluştu
  • TICK_FLAG_SELL - tik, satış işlemi sonucu oluştu

Not

CopyTicksRange() metodu, tam olarak belirtilen aralıktan tikleri talep etmek için kullanılır. Örneğin, geçmişteki belirli bir gündeki tikler. CopyTicks() ise yalnızca başlangıç tarihinin belirtilmesine olanak sağlar, örneğin, ayın başından bugüne kadar olan tüm tikler.

Ayrıca bakınız

Zaman Serilerine ve Göstergelere Erişim, CopyTicksRange