"MQL5 Tarif Defteri Gösterge Alt Pencere Kontrolleri - Düğmeler" makalesi için tartışma - sayfa 8

 
C-4:
MT5, grafik özelliklerinin asenkron güncellenmesine sahiptir. Yani, bir özelliği ayarlamış olmamız, terminalin onu hemen aldığı anlamına gelmez. ChartRedraw() fonksiyonu, tüm özelliklerin terminal tarafından yeniden okunması için kullanılır. Ayrıca ChartGet... ObjectGet fonksiyonlarını da kullanabilirsiniz, bu durumda özellikler de yeniden okunacaktır.
Bu bilgiyi hiçbir yerde bulamadım. Karşılaştım, çözümü buldum, şimdi öğreneceğim.
 
komposter:
Bu bilgiye hiçbir yerde rastlamamıştım. Tesadüfen buldum, çözümü buldum, şimdi öğreneceğim.

Nedir bu? Burada Grafiklerle işlemler bölümünün başında :

Grafiklerle çalışmak için fonksiyonlar. Grafiklerle yapılan tüm işlemler yalnızca Uzman Danışmanlar ve komut dosyalarında uygulanabilir.

Bir grafiğin özelliklerini ayarlayan işlevler aslında onu değiştirmek için komutlar göndermek için kullanılır. Bu fonksiyonlar başarıyla yürütülürse, komut grafiğin genel olay kuyruğuna dahil edilir. Bir grafiğin değiştirilmesi, verilen grafiğin olay kuyruğu işlenirken yapılır.

Bu nedenle, bu fonksiyonları çağırdıktan sonra grafiğin hemen görsel olarak güncellenmesini beklememelisiniz. Genel durumda grafik güncellemesi terminal tarafından otomatik olarak değişiklik olayları ile gerçekleştirilir - yeni kotasyon gelişi, grafik pencere boyutunun değişmesi, vb. Grafik görünümünü zorla güncellemek için, grafiği yeniden çizmek üzere ChartRedraw() komutunu kullanın.

 
komposter:
Bu bilgiye hiçbir yerde rastlamamıştım. Tesadüfen rastladım, çözümü buldum, şimdi öğreneceğim.
Tabii ki, çünkü bu bilgi hiçbir yerde mevcut değil (olduğu ortaya çıktı, yukarıya bakın:))). Servis masasına başvurana kadar ben de bu sorunla boğuşuyordum. Orada bana grafikteki nesnelerin özelliklerindeki değişikliklerin eşzamansız olarak gerçekleştiğini söylediler. Ve örneğinize bakılırsa, bu grafiğin kendi özellikleriyle ilgili.
 
Rosh:

Tam olarak hangisi? İşte bölümün başında Grafiklerle İşlemler:

Orada olmadığını söylemedim, sadece rastlamadım (ya da unuttum). Teşekkürler.

Fare olayı izleme bayrağı gibi grafik özelliklerini değiştirirken bir CHART_CHANGE olayı oluşturma önerime ne dersiniz? Belki bunu yapabilirsiniz?

 
C-4:
Tabii ki, çünkü bu bilgi hiçbir yerde mevcut değil (öyle olduğu ortaya çıktı, yukarıya bakın:))). Servis masasına başvurana kadar ben de bu sorunla boğuşuyordum. Orada bana grafikteki nesnelerin özelliklerindeki değişikliklerin eşzamansız olarak gerçekleştiğini söylediler. Ve örneğinize bakılırsa bu, grafiğin kendi özellikleriyle ilgilidir.

Daha fazlası Grafik nesneleri bölümünde :

Belirtilen herhangi bir grafikle ilgili grafik nesnelerle çalışmak üzere tasarlanmış bir grup işlev.

Grafik nesnelerinin özelliklerini belirleyen işlevlerin yanı sıra, grafikte ObjectCreate() oluşturma ve ObjectMove() nesnelerini taşıma işlemleri aslında grafiğe komut göndermek için kullanılır. Bu işlevler başarıyla yürütülürse, komut grafiğin genel olay kuyruğuna dahil edilir. Grafik nesnelerinin özelliklerinin görsel olarak değiştirilmesi, belirli bir grafiğin olay kuyruğu işlenirken gerçekleştirilir.

Bu nedenle, bu fonksiyonları çağırdıktan sonra grafik nesnelerinin hemen görsel olarak güncellenmesini beklememelisiniz. Genel durumda, grafik üzerindeki grafik nesnelerinin güncellenmesi terminal tarafından değişiklik olayları ile otomatik olarak gerçekleştirilir - yeni bir teklifin gelmesi, grafik pencere boyutundaki değişiklikler, vb. Grafik nesnelerinin zorla güncellenmesi için grafiği yeniden çizmek üzere ChartRedraw() komutunu kullanın.

 
Rosh:

Grafik nesneleri bölümünde daha fazlası :

Nesnelerle ilgili açık ve tanıdık, ancak grafik özelliklerinden farklı bir şey bekliyordum.

Önerimi tekrarlamamalı mıyım? Yoksa bunu bir servis masasına mı koymalıyım?

 
Yazara, bu harika makale için sonsuz teşekkürler.
 
MetaQuotes Software Corp.:

Yeni makale MQL5 Yönetmelik Kılavuzu : Gösterge Alt Pencere Kontrolleri - Düğmeler yayınlandı:

Yazar: Anatoli Kazharsk

Çok güzel bir öğretici, umarım bu konuda biraz daha yayın yaparsınız, çok teşekkürler!

 

Anatoli,

MQL5 topluluğuna katkılarınız için teşekkür etmek istiyorum. Örnekleriniz, kendi kodumun geliştirilmesinde beni birkaç ay ileriye taşıdı. Tekrar çok teşekkürler.

Bu "göstergeyi" Uzun Aç, Kısa Aç, Tümünü Kapat ve İzleyen Durağı Ayarla düğmeleri için kullanmaya ihtiyacım var. Sorunum şu ki, EA'mla etkileşime girmem gerekiyor, böylece

1) EA içinde bu işlevlere ulaşmak ve

2) pSAR, CCI, MACD veya diğer göstergeler tetiklendiğinde "Uzun Aç" düğmesini yanıp sönerek EA önerileri alın.

İşte benim sorum şu: EA'nın gösterge düğmeleriyle iletişim kurmasını ve gösterge düğmelerinin EA ile arayüz oluşturmasını nasıl sağlayabilirim?

Şimdiden teşekkür ederim,

CipherPips

 
CipherPips:

Teşekkür ederim!

Sanırım bu versiyonu daha çok seviyorsunuz: Grafik Arayüzler I: Kütüphane Yapısının Hazırlanması (Bölüm 1)

Bu serinin devamında birçok detaylı örnek yer alacaktır.