CustomTicksReplace

Kullanıcı-tanımlı sembolün belirtilen zaman aralığındaki geçmiş verilerini MqlTick tipli diziden alınan verilerle değiştirir.

int  CustomTicksReplace(
   const string     symbol,            // sembol ismi
   long             from_msc,          // başlangıç tarihi
   long             to_msc,            // bitiş tarihi
   const MqlTick&   ticks[],           // kullanıcı-tanımlı sembol için kullanılacak veri dizisi
   uint             count=WHOLE_ARRAY  // kullanılacak ticks[] dizisi elemanlarının sayısı
   );

Parametreler

symbol

[in]  Kullanıcı-tanımlı sembolün ismi

from_msc

[in]  Değiştirilmek istenilen veri aralığının başlangıç zamanı. Zaman 01.01.1970'den itibaren milisaniyeler biçiminde olmalıdır.

to_msc

[in]  Değiştirilmek istenilen veri aralığının son zamanı. Zaman 01.01.1970'den itibaren milisaniyeler biçiminde olmalıdır.

ticks[]

[in]   Zamana göre artan sırayla MqlTick tipli veri dizisi.

count=WHOLE_ARRAY

[in]  Belirtilen zaman aralığında değişim için kullanılacak ticks[] dizisi elemanlarının sayısı. WHOLE_ARRAY, tüm ticks[] dizisi elemanlarının kullanılması gerektiği anlamına gelir.

Geri Dönüş Değeri

Güncellenen veri sayısı veya hata durumunda '-1'.

Not

Fiyat akışı içinde aynı zaman indisine sahip birkaç tik verisi bulunabileceği için (kesin zaman değeri MqlTick yapısının time_msc alanında yer alır), CustomTicksReplace fonksiyonu ticks[] dizisinin elemanlarını otomatik olarak sıralamaz. Bu nedenle, dizideki tikler önceden, zamana göre artan şekilde sıralanmalıdır.

Tik verileri, to_msc değerine ulaşılıncaya kadar veya hata oluşuncaya kadar zamana göre birer birer değiştirilir. Tik verisinin zamanı ve artan sıra yapısı arasında bir uyuşmazlık tespit edilirse, veri değiştirme işlemi orada sonlandırılır. Belirtilen aralıkta, uyuşmazlık noktasından önceki veriler başarıyla değiştirilir, fakat o noktadan sonraki tarihlere ait veriler değiştirilmeden bırakılır.

ticks[] dizisi belli bir zaman aralığı için herhangi bir veri içermiyorsa, kullanıcı-tanımlı sembolün veri geçmişi üzerinde ticks[] dizisiyle değiştirilen ilgili alanlarda bir "boşluk" oluşur. Diğer bir deyişle, eksik verile CustomTicksReplace fonksiyonunun çağrılması, tıpkı CustomTicksDelete fonksiyonunda olduğu gibi, ilgili veri aralığını silecektir.

Eğer tik veri tabanı belirli bir zaman aralığı için hiçbir veri içermiyorsa, CustomTicksReplace ticks[] dizisinden tikleri veritabanına ekleyecektir.

CustomTicksReplace fonksiyonu tick veritabanı ile direkt olarak çalışır.

 

Ayrıca bakınız

CustomRatesDelete, CustomRatesUpdate, CustomTicksDelete, CopyTicks, CopyTicksRange