- OnStart
- OnInit
- OnDeinit
- OnTick
- OnCalculate
- OnTimer
- OnTrade
- OnTradeTransaction
- OnBookEvent
- OnChartEvent
- OnTester
- OnTesterInit
- OnTesterDeinit
- OnTesterPass
OnChartEvent
Fonskiyon, ChartEvent olayı meydana geldiğinde göstergeler ve uzman danışmanlarda çağrılır. Fonksiyon; grafikte, bir kullanıcı veya bir MQL5 programı tarafından yapılan değişiklikleri yönetmek içindir.
void OnChartEvent()
|
Parametreler
id
[in] ENUM_CHART_EVENT listesinden olay kimliği.
lparam
[in] long tipi olay parametresi
dparam
[in] double tipi olay parametresi
sparam
[in] string tipi olay parametresi
Geri dönüş değeri
Geri dönüş değeri yok
Not
Önceden tanımlanmış OnChartEvent() fonksiyonu kullanılarak yönetilebilecek 11 olay tipi vardır. Özel olaylar için, CHARTEVENT_CUSTOM ve CHARTEVENT_CUSTOM_LAST dahil olmak üzere 65535 kimlik vardır. Özel bir olay oluşturmak için, EventChartCustom() fonksiyonunu kullanın.
ENUM_CHART_EVENT listesinden kısa olay açıklamaları:
- CHARTEVENT_KEYDOWN — grafik penceresi odaktayken klavyede bir tuşa basma;
- CHARTEVENT_MOUSE_MOVE — fare ve fare tuşlarını hareket ettirme (eğer bir grafik için CHART_EVENT_MOUSE_MOVE=true ise);
- CHARTEVENT_OBJECT_CREATE — bir grafiksel nesne oluştur (eğer bir grafik için CHART_EVENT_OBJECT_CREATE=true ise);
- CHARTEVENT_OBJECT_CHANGE — özellikler iletişim kutusundan nesne özelliklerini değiştir;
- CHARTEVENT_OBJECT_DELETE — bir grafiksel nesneyi kaldır (eğer bir grafik için CHART_EVENT_OBJECT_DELETE=true ise);
- CHARTEVENT_CLICK — bir grafik üzerinde tıklama;
- CHARTEVENT_OBJECT_CLICK — bir grafiğe ait olan bir grafiksel nesneye fare tıklaması;
- CHARTEVENT_OBJECT_DRAG — fare ile bir grafiksel nesneyi sürükleme;
- CHARTEVENT_OBJECT_ENDEDIT — bir grafiksel nesnenin Edit girdi kutusunda metin düzenlemesini bitirme (OBJ_EDIT);
- CHARTEVENT_CHART_CHANGE — bir grafiği değiştir;
- CHARTEVENT_CUSTOM+n — n'nin 0 ile 65535 arasında olduğu özel olay kimliği. CHARTEVENT_CUSTOM_LAST son kabul edilebilir özel olay kimliğini içerir (CHARTEVENT_CUSTOM+65535).
Tüm MQL5 programları, uygulamanın ana iş parçacığı dışındaki diğer iş parçacıklarında çalışır. Ana uygulama iş parçacığı, tüm Windows sistem iletilerini ele almaktan sorumludur ve bu işlem sonucunda da kendi uygulaması için Windows iletileri üretir. Örneğin, fareyi bir grafikte hareket ettirme (WM_MOUSE_MOVE olayı), uygulama penceresinin sonraki görüntülenmesi için birkaç sistem iletisi oluşturur ve ayrıca grafik üzerinde çalıştırılan uzman danışmanlar ve göstergelere dahili iletiler gönderir. Ana uygulama iş parçacığının WM_PAINT sistem iletisini henüz işleme koymadığında (ve dolayısıyla değiştirilmiş grafiği henüz oluşturmadığında), bir uzman danışmanın veya bir göstergenin fare hareketi olayını halihazırda almış olduğu bir durum meydana gelebilir. Bu durumda, CHART_FIRST_VISIBLE_BAR grafik özelliği yalnızca grafik oluşturulduktan sonra değiştirilecek.
Her bir olay tipi için, OnChartEvent() fonksiyonunun girdileri ilgili olayı yönetmek için gerekli belirli değerlere sahiptir. Tablo, parametreler aracılığı ile aktarılan olayları ve değerleri listeler.
Olay |
'id' parametre değeri |
'lparam' parametre değeri |
'dparam' parametre değeri |
'sparam' parametre değeri |
---|---|---|---|---|
Tuşa basma olayı |
CHARTEVENT_KEYDOWN |
basılı tuş kodu |
Anahtar basılı durumda tutulurken tuşa basma sayısı |
Klavye tuşlarının durumunu açıklayan bit maskesinin dizi değeri |
Fare olayları (eğer bir grafik için CHART_EVENT_MOUSE_MOVE=true ise) |
CHARTEVENT_MOUSE_MOVE |
X koordinatı |
Y koordinatı |
Fare tuşlarının durumunu açıklayan bit maskesinin dizi değeri |
Fare tekerlek olayı (eğer bir grafik için CHART_EVENT_MOUSE_WHEEL=true ise) |
CHARTEVENT_MOUSE_WHEEL |
Tuşların ve fare düğmelerinin durum bayrakları, imlecin X ve Y koordinatları. Açıklamalara bakın; örnekteki |
Fare tekerleğinin Delta değeri |
— |
Bir grafiksel nesne oluşturma (eğer bir graik için CHART_EVENT_OBJECT_CREATE=true ise) |
CHARTEVENT_OBJECT_CREATE |
— |
— |
Oluşturulan grafiksel nesnenin adı |
Özellikler iletişim kutusu aracılığı ile nesne özelliklerini değiştirme |
CHARTEVENT_OBJECT_CHANGE |
— |
— |
Değiştirilmiş grafiksel nesnenin adı |
Bir grafiksel nesneyi silme (eğer bir grafik için CHART_EVENT_OBJECT_DELETE=true ise) |
CHARTEVENT_OBJECT_DELETE |
— |
— |
Silinmiş grafiksel nesnenin adı |
Bir grafikte fare tıklaması |
CHARTEVENT_CLICK |
X koordinatı |
Y koordinatı |
— |
Bir grafiksel nesnede fare tıklaması |
CHARTEVENT_OBJECT_CLICK |
X koordinatı |
Y koordinatı |
Olayın meydana geldiği grafiksel nesnenin adı |
Fare ile bir grafiksel nesneyi hareket ettirme |
CHARTEVENT_OBJECT_DRAG |
— |
— |
Hareket ettirilmiş grafiksel nesnenin adı |
Bir "Girdi alanı" grafiksel nesnesinin girdi kutusunun metin düzenlemesini bitirme |
CHARTEVENT_OBJECT_ENDEDIT |
— |
— |
Metin düzenlemesinin bitirildiği "Girdi alanı" grafiksel nesnesinin ismi |
Özellikler iletişim penceresi aracılığı ile grafiği yeniden boyutlandırma veya değiştirme |
CHARTEVENT_CHART_CHANGE |
— |
— |
— |
N numaralı özel olay |
CHARTEVENT_CUSTOM+N |
EventChartCustom() fonksiyonu tarafından tanımlanan değer |
EventChartCustom() fonksiyonu tarafından tanımlanan değer |
EventChartCustom() fonksiyonu tarafından tanımlanan değer |
Örnek grafik olay dinleyicisi:
//+------------------------------------------------------------------+
|
Ayrıca bakınız
EventChartCustom, Grafik olaylarının türleri, Olay yönetimi fonksiyonları, Program yürütme, Müşteri terminal olayları