CopyClose

Seçilen sembol-periyot çifti için, geçmiş kapanış fiyatı verilerini close_array dizisinin içine belirtilen miktarda kopyalar. Elemanların sıralanma şeklinin şimdiden geçmişe doğru olduğu not edilmelidir, yani 0 başlangıç konumu mevcut çubuk anlamına gelecektir.

CopyClose

Bilinmeyen miktardaki bir veriyi kopyalarken, hedef dizi olarak bir dinamik dizinin kullanılması önerilir. Çünkü istenen veri miktarı hedef dizinin büyüklüğünden azsa (veya fazlaysa), fonksiyon, verinin tam olarak uyması için yeni bellek tahsisi yapacaktır.

Eğer kopyalayacağınız verinin tam miktarını biliyorsanız, aşırı bellek tahsisini önlemek amacıyla statik olarak tahsis edilmiş bir tampon kullanmanız daha iyi olacaktır.

Hedef dizisinin erişim özelliğinin ne olduğu önem taşımaz - as_series=true veya as_series=false. Veri, en eski elemanın tahsis edilen fiziksel belleğin başlangıcında konumlanacağı şekilde yerleştirilir. Bu fonksiyonun 3 çağrı şekli bulunmaktadır.

İlk pozisyon ve istenen eleman sayısı ile çağrı

int  CopyClose(
   string           symbol_name,       // sembol ismi
   ENUM_TIMEFRAMES  timeframe,         // periyot
   int              start_pos,         // başlangıç konumu
   int              count,             // kopyalanacak veri miktarı
   double           close_array[]      // hedef dizi
   );

Başlangıç tarihi ve istenen eleman sayısı ile çağrı

int  CopyClose(
   string           symbol_name,       // sembol ismi
   ENUM_TIMEFRAMES  timeframe,         // periyot
   datetime         start_time,        // başlangıç tarihi ve zamanı
   int              count,             // kopyalanacak veri miktarı
   double           close_array[]      // hedef dizi
   );

İstene aralığın başlangıç ve bitiş tarihi ile çağrı

int  CopyClose(
   string           symbol_name,       // sembol ismi
   ENUM_TIMEFRAMES  timeframe,         // periyot
   datetime         start_time,        // başlangıç tarihi ve zamanı
   datetime         stop_time,         // bitiş tarihi ve zamanı
   double           close_array[]      // hedef dizi
   );

Parametreler

symbol_name

[in]  Sembol ismi.

timeframe

[in]  Periyot.

start_pos

[in]  Kopyalanacak ilk eleman için başlangıç konumu.

count

[in]  Kopyalanacak veri miktarı.

start_time

[in]  Kopyalanacak ilk eleman için başlangıç zamanı.

stop_time

[in]  Kopyalanacak son elemana karşılık gelen çubuğun zamanı.

close_array[]

[out] double tipli dizi.

Dönüş değeri

Kopyalanan veri sayısına veya hata durumunda -1 değerine dönüş yapar.

Not

İstenen veri aralığı sunucuda bulunan mevcut veri aralığının dışındaysa, fonksiyon -1 dönüşü yapar. Eğer istenen veri miktarı TERMINAL_MAXBARS değerinin üstündeyse (çizelgedeki maksimum çubuk sayısı), fonksiyon yine -1 dönüşü yapacaktır.

Bir göstergeden veri istenirken, istenen zaman-serisi henüz kurulmamışsa veya sunucudan yüklenmemişse, fonksiyon hemen -1 dönüşü yapacaktır ve yükleme/kurma işlemi başlatılacaktır.

Bir Uzman Danışmandan veya bir scriptten veri istenirken, istenen veri terminalde yerel olarak bulunmuyorsa, sunucudan yükleme işlemi başlatılacaktır, eğer veri kurulu durumdaysa ama hazır değilse, o zaman serinin kurulumuna başlanacaktır. Varsayılan zaman-aşımı süresi geçildiğinde, fonksiyon hazır olan verinin miktarına dönüş yapacaktır ama geçmiş yüklemesi devam edecektir ve bir sonraki benzer istekte, fonksiyon daha fazla veri dönüşü yapacaktır.

Başlangıç tarihi ve istenen veri miktarını kullanarak bir istek gerçekleştirildiğinde, sadece belirtilen tarihe eşit veya ondan daha önceki verilerin dönüşü yapılacaktır. Yani, değerine dönüş yapılacak herhangi bir çubuğun açılış zamanı (hacim, makas, gösterge tamponuna dair bir değer, OHLC fiyatları ve Time açılış zamanı), her zaman belirtilenden az veya belirtilene eşit olacaktır.

Belirtilen tarih aralığındaki bir veri istendiğinde, sadece bu aralıktaki verilere dönüş yapılır. Zaman aralığı ayarlanır ve saniyeye kadar sayılır. Yani, değerine dönüş yapılacak herhangi bir çubuğun açılış zamanı (hacim, makas, gösterge tamponuna dair bir değer, OHLC fiyatları ve Time açılış zamanı), her zaman istenilen aralık içindedir.

Bu şekilde, start_time=Last_Tuesday ve stop_time=Last_Friday aralığındaki bir haftalık verinin kopyalanması isteniyorsa ve mevcut gün cumartesi ise, fonksiyon 0 dönüşü yapacaktır. Çünkü bir haftalık zaman aralığında açılış günü her zaman Pazar günüdür ve bir haftalık çubuk belirtilen aralığa düşmez.

Eğer tamamlanmamış mevcut çubuğun verisine dönüş yaptırmak istiyorsanız, start_pos=0 ve count=1 değerlerini ilk çağrı versiyonunda kullanabilirsiniz.

Tarihsel verinin istenmesine dair detaylı bir örnek için Nesne Bağlama Yöntemleri bölümüne bakınız. Söz konusu örnekte iFractals göstergesinden son 1000 alınması ve son 10 yukarı/aşağı fraktalin çizelge üzerine çizilmesi gösterilmektedir. Benzer bir teknik, eksik veriye sahip olan ve genellikle aşağıda belirtilen stillerle çizilen tüm göstergelerde kullanılabilir: