Benim yaklaşımım. Çekirdek - Motor. - sayfa 126
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
MT4 ise, evet.
Görünüşe göre yükü kaldırmak için OpenCL kullanmanız gerekiyor. Ama MT4'te öyle değil. Ya da sadece buna katlan.
Başka bir seçenek de, kullanıcının animasyonu yeniden çizme hızını kontrol etmesine izin vermektir. Bu durumda gerektiğinde işlemci üzerindeki yükü azaltabilecek, isterse tekrar artırabilecektir.
Görünüşe göre yükü kaldırmak için OpenCL kullanmanız gerekiyor. Ama MT4'te öyle değil. Ya da sadece buna katlan.
Başka bir seçenek de, kullanıcının animasyonu yeniden çizme hızını kontrol etmesine izin vermektir. Bu durumda gerektiğinde işlemci üzerindeki yükü azaltabilecek, isterse tekrar artırabilecektir.
MT5'te farklı pencerelere kurulu olan, ancak yalnızca bir pencerenin kaynaklarıyla çalışan iki Expert Advisor'ın çalışmalarını kontrol etmek ilginçtir. Ne de olsa her Expert Advisor'ın kendi akışı vardır ve bildiğiniz gibi birden fazla Expert Advisor'ı bir pencereye atamazsınız.
Öyle görünüyor ki, MT4'te her danışmanın da kendi akışı var. Eğer yanılmıyorsam...
İş parçacığı kendine ait, ancak işlemci herkes için aynı ...
Sanırım bu yüzden bir grafik haritası oluşturdular.
Başka bir nüans var.
Animasyon döngüsel ise (gif gibi), piksel dizisini kalıcı olarak yeniden başlatmak gerekli değildir. Bir animasyon çizim döngüsünden geçmek ve her kareyi bir kaynakta saklamak mümkündür. Ardından, sadece görüntüyü değiştirin. Kısmen bunu uyguladım ve bu sayede çoklu bir animasyon ivmesi elde ettim. (Başlangıçta, animasyon hızı korkunçtu, çünkü her seferinde orijinal görüntüyü yeniden çiziyor ve ardından üzerine yeni bir görüntü çiziyor).
Öyle görünüyor ki, MT4'te her danışmanın da kendi akışı var. Eğer yanılmıyorsam...
İş parçacığı kendine ait, ancak işlemci herkes için aynı ...
Sanırım bu yüzden bir grafik haritası oluşturdular.
Sadece MT4 ve MT5 arasındaki farkı anlamak için, bu kodu her iki platformda da çalıştırın (kod orada ve orada çalışır) ve MT4'te daha yavaş çalıştığını göreceksiniz:
Sadece MT4 ve MT5 arasındaki farkı anlamak için, bu kodu her iki platformda da çalıştırın (kod orada ve orada çalışır) ve MT4'te daha yavaş çalıştığını göreceksiniz:
Evet, oraya buraya koydum. Fark yaklaşık 10 kat. Tam olarak, çünkü MT5'te diziler 10 veya daha fazla kat daha hızlı başlatılır. Kontrol ettim.
Ancak, MT4'te bile her şey çok daha hızlı olmalıdır. Sonuçta, sadece görüntüyü yeniden çiziyorsunuz. Başka bir şey, onu bir dizide tekrar tekrar işlemenizdir.
Sizin için MT4'te neden bu kadar yavaş çalıştığını bilmiyorum.
Ancak, grafik boyutlu tuvalin tüm alanındaki HER pikseli yeniden başlatmanız mümkündür.
Animasyonumda sadece belirli alanlar çiziliyor ve görüntünün ana kısmı tamamen kaynaktan alınmış. Ana parçanız yok ve görüntü tamamen oluşturuldu. Bu nedenle yavaşlar.
Resmin boyutuyla ilgili.
Ancak, grafik boyutlu tuvalin tüm alanındaki HER pikseli yeniden başlatmanız mümkündür.
Animasyonumda sadece belirli alanlar çiziliyor ve görüntünün ana kısmı tamamen kaynaktan alınıyor. Ana parçanız yok ve görüntü tamamen oluşturuldu. Bu nedenle yavaşlar.
Resmin boyutuyla ilgili.
Kimin umrunda. Bu, tuval hızında MT5'in avantajlarını açıkça gösteren, özellikle uç bir örnektir. Ve bu soru, yavrularınız için arşiv niteliğindedir. Bu nedenle uzun zamandır söylüyorum - MQL5'e geçin.
Eksileri MT4 - geliştirmede ihtiyacınız olan şey. Onlardan kaçmak zorunda değilsin. Sizi düşündürür ve çözümler geliştirir.
MT5'te çok fazla çabalamanıza gerek yok. Her şey çok hızlı çalışıyor. Bu nedenle finalde MT5'e geçiş planlanıyor.
Son olarak dinamik tablo yapılır. Kolay olmadığını söylemeliyim. Birçok nüans olduğu ortaya çıktı.
Ayrıca, bu tablo "koşullu" dinamiktir. Yani, maksimum satır sayısı önceden belirlenir. Henüz "mutlak" dinamik hale getirmek mümkün olmamıştır.
Bu tabloda, 20 olası satır vardır. Bu, 20 açık pozisyon gösterebileceği anlamına gelir. Daha fazlası yapılabilir, ancak şimdilik bu sadece bir gösteri.
Görüntülemek için tıklayın.
Bağlantı dosyaları (dahil edilen), motor (göstergeler klasöründeki) ve test.advisor (uzmanlar klasöründeki):
Peter, üzgünüm ama çalışman kabul edilmiyor çünkü. gönderdiğin şey nadir bir hack. Kusura bakmayın ama görünüşe göre gönderdiğiniz şeyi başlatan tek kişi benim ve benden başka kimse incelemeyi yapmayacak.
Yani, sırayla, görev şuydu:
fiyat , yön, kâr. Gerisi size kalmış. Ana şey, bir siparişi kapattığınızda, tablonuzdaki görüntüsünün de kaybolmasıdır. Ve tam tersi, yeni bir sipariş açarken bu tabloda görünecektir.
Bunun yerine ne görüyorum:
Öncelikle panelinizden alım/satım butonuna tıklayarak işlemler açılabilir. Standart bir pencereden bir pozisyon açılırsa, anlaşma görünmez.
İkincisi, bazı siparişler boş değerlerle görüntülenir. Tabloda bulunurlar, ancak satırlar boştur.
Üçüncüsü, (bu genellikle korkudur), sipariş standart diyalog yoluyla kapatılırsa, o zaman tabloda kaybolmaz. Ama en üzücü olan şey, panel yeniden yüklendiğinde, kapalı emirlerin tekrar sözde açık olarak görüntülenmesi! Bu ne? Neden alakasız bilgileri bir yerde saklıyorsunuz ve sonra onu yüklemeye çalışıyorsunuz!?
Dördüncüsü, 20 emir de ne? Benim ödevimde bu kısıtlamayla ilgili tek kelime yok! Bu, motorunuzu dinamik ve önceden bilinmeyen bir ortamda çalışmak üzere test etmek amacıyla bilerek yapıldı. Görev tesadüfen seçilmedi, gereksinimlerimi motorunuzun tüm "keskin köşelerini" gizleyecek şekilde değiştirdiniz. Ama bu keskin köşeleri göstermek için görev verildi.
Beşincisi, zararı durdur ve kar al ayarında amatör performans - bunu yapmayın. Bu alanları boş bırakın.
Ve evet, panelinizdeki kapat düğmesi (çarpı) da çalışmıyor.
Kısacası, Peter Tekrar söylüyorum: Üzgünüm ama gönderdikleriniz tamamen çöp. Lütfen spesifikasyona göre düzeltin.
Soru olmaması için görevi tekrar açıklayacağım:
- Tablo dinamiktir ve Ticaret sekmesindeki ile aynı emirleri gösterir. Sekmede sipariş yoksa, masada da yoktur.
- Tablonuzda görüntülenen sipariş sayısı herhangi biri olmalıdır. Üst limit yoktur.
- Standart iletişim kutusu aracılığıyla bir sipariş açmak, siparişin tablonuzda görünmesiyle sonuçlanmalıdır. Standart yollarla bir siparişi kapatmak, masanızdaki siparişin kaybolmasına neden olmalıdır.
- Tutarsız duruma izin verilmez ! Tablonuz bir şey gösteriyorsa ve Ticaret sekmesi başka bir şey gösteriyorsa, bu bir hatadır.
Yağ başarısız olana kadar . Geliştirmelerinizi bekliyorum. Ve siz anlayana kadar 3D render yok!