- OnStart
- OnInit
- OnDeinit
- OnTick
- OnCalculate
- OnTimer
- OnTrade
- OnTradeTransaction
- OnBookEvent
- OnChartEvent
- OnTester
- OnTesterInit
- OnTesterDeinit
- OnTesterPass
OnTimer
Fonksiyon, Timer olayının terminal tarafından sabit zaman aralıklarında oluşturulmasıyla uzman danışmanlarda çağrılır.
void OnTimer(void); |
Geri dönüş değeri
Geri dönüş değeri yok
Not
Timer olayı, EventSetTimer() fonksiyonu ile zamanlayıcıyı etkin hale getiren bir uzman danışman için, müşteri terminali tarafından periyodik olarak oluşturulur. Genellikle, bu fonksiyon OnInit() fonksiyonu içerisinde çağrılır. Uzman danışman çalışmayı durdurduğunda, zamanlayıcı genellikle OnDeinit() fonksiyonu içerisinde çağrılan EventKillTimer() fonksiyonu ile kaldırılır.
Her bir Uzman Danışman ve her bir gösterge kendi zamanlayıcısı ile çalışır ve olayları sadece ondan alır. Mql5 uygulamasının kapatılması sırasında; zamanlayıcı, önceden oluşturulup ancak devamında EventKillTimer() fonksiyonu ile devre dışı bırakılmaması durumunda, zorla yok edilir.
Eğer zamanlayıcı olaylarını saniyede bir kereden daha sık almanız gerekiyorsa, yüksek çözünürlüklü bir zamanlayıcı oluşturmak için EventSetMillisecondTimer() fonksiyonunu kullanın.
Genelde, zamanlayıcı zaman aralığı azaltıldığında; zamanlayıcı olaylarının yöneticisi daha sık çağrıldığından, test süresi artar. Gerçek zamanlı modda çalışırken, zamanlayıcı olayları, donanım sınırlamaları nedeniyle 10-16 milisaniye içinde 1 kereden daha fazla üretilemez.
Her bir program için sadece bir zamanlayıcı çalıştırılabilir. Her bir MQL5 uygulaması ve grafiği, yeni gelen tüm olayların yerleştiği kendisine ait olaylar sırasına(kuyruğuna) sahiptir. Eğer sıra zaten Timer olayını içeriyorsa veya bu olay yönetilme aşamasındaysa, o zaman yeni Timer olayı MQL5 uygulama sırasına eklenmez.
OnTimer() yöneticisiyle Örnek Uzman Danışman
//+------------------------------------------------------------------+
|
Ayrıca bakınız
EventSetTimer, EventSetMillisecondTimer, EventKillTimer, GetTickCount, GetMicrosecondCount, Müşteri terminali olayları