EventSetMillisecondTimer

Bu fonksiyon müşteri terminaline, zamanlayıcı olaylarının, söz konusu uzman danışman veya gösterge için, bir saniyeden daha küçük aralıklarla oluşturulması gerektiğini belirtir.

bool  EventSetMillisecondTimer(
   int  milliseconds      // milisaniye sayısı
   );

Parametreler

milliseconds

[in]  Zamanlayıcı olaylarının frekansını tanımlayan milisaniyelerin sayısı.

Dönüş değeri

Başarılı sonuç durumunda 'true', aksi durumda 'false' değerine dönüş yapar. Bir hata kodu alabilmek için, GetLastError() fonksiyonu çağrılmalıdır.

Not

Bu özellik, yüksek çözünürlüklü zamanlayıcıları gerektiren, yani, zamanlayıcı olaylarının saniyenin altındaki aralıklarla alınması gerektiği durumlar için tasarlanmıştır. Eğer saniyeden uzun aralıklarla çalışan geleneksel bir zamanlayıcı sizin için yeterli ise, EventSetTimer() fonksiyonunu kullanın.

Genelde, zamanlayıcının periyodu düşürüldüğünde, zamanlayıcı olaylarının işleyicisi daha fazla çağrılacağından, sınama zamanı uzayacaktır. Gerçek zamanlı modda çalışırken, zamanlayıcı olayları donanım sınırlamalarına bağlı olarak, en düşük 10-16 milisaniyelik aralıklarla oluşturulabilir.

Genel olarak, bu fonksiyon, OnInit() fonksiyonu içerisinden veya bir sınıf yapıcısı içinden çağrılmalıdır. Zamanlayıcıdan gelen olayların işlenebilmesi için, Uzman Danışmanın veya göstergenin OnTimer() fonksiyonunu içermesi gerekir.

Her Uzman Danışman ve gösterge, kendisine has olan zamanlayıcı ile ve sadece bundan gelen olaylar ile çalışır. Zamanlayıcı, MQL5 programının sonlandırılması durumunda, EventKillTimer() fonksiyonu tarafından devre dışı bırakılmamış olsa dahi, zorla yok edilir.

Her program için yanızca bir zamanlayıcı kurulabilir Her bir MQL5 uygulaması ve çizelgesi, kendisine has olay kuyruğuna sahiptir. Yeni ulaşan olaylar bu kuyruğa yerleştirilir. Eğer kuyrukta zaten bir Timer olayı varsa veya bu olay işlenme aşamasındaysa, yeni Timer olayı MQL5 uygulamasının olay kuyruğuna eklenmez.