Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
VE geliştirmenin mevcut aşaması:
Bir sonraki geliştirme güncellemesini dört gözle bekliyorum.
Kulağa harika geliyor, Peter. Bence VE'yi kendiniz inşa etmek için kullandığınızda, kullanıcı arayüzü tasarımınızın nasıl çalıştığına dair size değerli bilgiler verecektir.
Bir sonraki geliştirme güncellemesini dört gözle bekliyorum.
Kullanıcı arayüzü hala %100 saf MQL'dir.
Tümü vektör tabanlıdır, tamamen ölçeklenebilir ve herhangi bir ekrana ayarlanabilir.
Tüm görsel ekranlar, abonelik ayarlarına ve olay önceliklerine bağlı olarak tüm MQL olaylarını işleyen ve nesnelere dağıtan bir çekirdek sınıf içinde asikronik olarak çalışır.
Umarım çok ilginç bir konuyu çalmıyorumdur ve eğer yaparsam beni affet Peter, bu bir tartışma olmayacak, sadece teorik ilgi için kısa bir cevap umuyorum - sistemde kurulan tüm sınıf nesnelerini bilen (tüm nesne işaretçilerini takip eden) bir tür statik sınıfınız olduğunu ve her nesnenin bu kontrol statik sınıfındaki gerekli olaylara abone olma erişimine sahip olduğunu ve bu statik kontrol singleton sınıfının sadece olayları tüm nesnelere ilettiğini mi kastediyorsunuz? Eğer öyleyse, bunu OOP açısından doğru olarak mı görüyorsunuz yoksa kabul edilebilir olay güdümlü programlama mı? Bu konuda yazdığınız için, sanırım bu konudaki soruları kabul etmek istersiniz ve eğer öyleyse, lütfen ilgili olmasına rağmen bu konuyu kaçırmamak için mümkün olduğunca kısa tutalım.
Umarım çok ilginç bir konuyu çalmıyorumdur ve eğer yaparsam beni affet Peter, bu bir tartışma olmayacak, sadece teorik ilgi için kısa bir cevap umuyorum - sistemde kurulan tüm sınıf nesnelerini bilen (tüm nesne işaretçilerini takip eden) bir tür statik sınıfınız olduğunu ve her nesnenin bu kontrol statik sınıfındaki gerekli olaylara abone olma erişimine sahip olduğunu ve bu statik kontrol singleton sınıfının sadece olayları tüm nesnelere ilettiğini mi kastediyorsunuz? Eğer öyleyse, bunu OOP açısından doğru olarak görüyor musunuz veya belki de kabul edilebilir olay güdümlü programlama mı? Bu konuda yazdığınız için, sanırım bu konudaki soruları kabul etmek istersiniz ve eğer öyleyse, lütfen ilgili olmasına rağmen bu konuyu kaçırmamak için mümkün olduğunca kısa tutalım.
Evet, tam olarak bu.
Kısa açıklama:
Çekirdek tüm MetaTrader olaylarını alır ve herhangi bir nesne çekirdeğe abone olabilir. Bu nedenle, CObject sınıfının da yeniden tasarlanması / değiştirilmesi gerekiyordu, böylece herhangi bir nesnenin "public: virtual void OnEACycle(CCycleParams * cpm)" adlı bir işlevi vardı. Böyle bir döngü daha sonra bir grafik olayı, init, deinit vb. olabilir. Her nesne ayrıca bir "public: virtual void OnEATick() "e sahip olabilir. Güzel bir yan etki, bu şekilde ekstra bir özellik elde etmenizdir, çünkü hangisi olursa olsun herhangi bir döngünün sonuna da abone olabilirsiniz. Herhangi bir döngünün sonunda bir dosyayı kapatmak veya başka bir şeyi bitirmek için oldukça kullanışlıdır.
Ayrıca, her CObject nesnesinin çocukları ve ayrıca aboneleri olabilir. Yani, bir nesne tıklandığında ya da benzeri bir durumda kendi olaylarını tetikleyebilir. Sonra basitçe bir object.SubEvent(STH_CLICKED, params) gerçekleştirirsiniz. Bu şekilde, nesnenin kendisi bu bilgiye kimin ihtiyaç duyduğuyla ilgilenmez, sadece abonelere dağıtılır, bir OnSubEvent(int msg, CSubEventParams * sep) alırlar ve bununla ne isterlerse yapabilirler.
Sonuç olarak, bu şekilde C#'tan bildiğimiz kodlama yöntemine daha yakındır, burada da sadece .Invoke() kullandığınız ve bunları kimin aldığını umursamadığınız C#'tan bildiğimiz kodlama yöntemine daha yakındır.
Aslında uygulaması o kadar da karmaşık değildir, ancak elbette ayrıntılar sonunda zorlayıcıdır, çünkü bu, her senaryoda çalışması gereken gelecekteki her bir EA veya gösterge için bir çekirdek / temeldir.
Ve nihai bir EA şu şekilde görünür:
Zamanım olsaydı, bir makale yazardım ve kaynakları sağlardım. Bu bir sır değil, hiç sihir yok.
Oluşturduğunuz GUI'yi izledim. Çok beğendim. Söyleyin bana, kendiniz mi yazdınız yoksa bazı MQL kütüphanelerini mi kullandınız?
Teşekkür ederim.
Hayır, kütüphane yok. Sıfırdan kendim tasarladım. Aslında orijinallerinden sadece CCanvas uyarlandı, başka bir şey yok.
Teşekkür ederim.
Hayır, kütüphane yok. Sıfırdan kendim geliştirdim. Aslında, sadece CCanvas orijinallerinden uyarlanmıştır, başka bir şey değil.