Geliştiricilere soru - optimizasyon sırasında tüm bilgi işlem çekirdeklerinin kullanımı - sayfa 5
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Görevlerin eşit olarak dağıtılması sorunu, aracıların işe dahil edilme sırası ile de ilgilidir. Bu, optimizasyonu çalıştırdıktan sonra yeni aracılar eklediğinizde özellikle belirgindir.
Umarım, Uzman Danışmanlar ve beraberindeki dosyalar, parlak bir gelecekte, aracılarla birlikte uzak bir bilgisayara bir kez indirilecek ve bu da zamandan tasarruf sağlayacak ve bilgi işlem kaynaklarının dağıtımını daha eşit hale getirecektir.
MT geliştiricilerine soru: Promosyonlar ne zaman olacak? Lütfen, optimizasyonun gerçekten çalışmadığı için yukarıda açıklanan katastrofik hataların düzeltilmesinin zamanlamasını söyleyin ....
MT geliştiricilerine soru: Promosyonlar ne zaman olacak? Lütfen, optimizasyonun gerçekten çalışmadığı için yukarıda açıklanan katastrofik hataların düzeltilmesinin zamanlamasını söyleyin ....
Ne "felaket hataları" kastediyorsunuz?
Bu optimizasyon nasıl çalışmıyor?
>Ne "felaket hataları" demek istiyorsun?
>Ve bu optimizasyon nasıl çalışmıyor?
her şey yukarıda açıklanmıştır ve sadece benim tarafımdan değil
1. Ağ aracıları aslında çalışmıyorlar, sadece başlamazlar
2. Yeni bir küme hesaplarken çok uzun süre takılıyor ve orada bir şeyler düşünüyor.
3. Görev paketlerini yalnızca aynı çekirdeklere dağıtır, diğer birçok ücretsiz paket olduğunda
Sonuç: optimizasyon , öncekinden 4 kat daha uzun "çalışır" ....
Aynı şekilde, yukarıdaki soruların cevabı yok
ancak güncellemelerden sonra her şey bir şekilde kötü çalıştı, ancak boş çekirdekler olmasına rağmen
görevlerin bilgi işlem çekirdeklerine yetersiz dağılımı sorunu devam ediyor:
1. Ağ aracısının farklı çekirdeklerine neden farklı sayıda görev veriliyor, neden her çekirdek değil - bir iş
2. Yukarıdaki resimde olduğu gibi belirli bir zamanda 58 görevi atanmış bir aracıyı devre dışı bırakırsam ne olur, yine de hesaplanacak mı yoksa unutulup asla hesaplanmayacak mı?
Merhaba, EA kabul edilemez değerlere ulaşırsa bireysel testi durdurarak OnTiket'teki TestorStop() işlevini kullanarak testi hızlandırmaya çalışıyorum. Sonuç olarak, bireysel çalıştırmalar diğerlerinden daha hızlı gidiyor ve test aracılarından biri önce bitiriyor (bir yerde, test aracısı bir süre boşta kalırsa kapandığını okudum) - kalan tüm aracılar bittiğinde, görevler gönderilmez ilk ajana. Ve böylece, test etme ajanları, bir ajan kalana kadar birer birer ayrılıyor - bu durumda, hız hakkında söylenecek bir şey yok. Yani, hız artırılabilir, ancak dağıtılmış hesaplamanın uygulanmasındaki teknik hatalara izin verilmez. Örneğin , biri ilk çalıştırmada diğerinden daha büyük olması gereken 2 parametreyi optimize etmek için OnInit() içinde TestorStop()'u çalıştırırsanız, hız da artar ve bundan sonra, görevler tamamlansa da test aracıları görevleri yürütmeyi durdurur. gönderilir ve gönderilen görevlerin sayacı yüksek hızda artar ve aracı tarafından çözülen sayaç görevleri buna değer. Belki birisi bunu nasıl aşacağını biliyordur, bu yüzden konu ilginç, gereksiz sonuçların atılması nedeniyle testin hızı normal teste göre 10 kat daha fazladır, ayrıca OnTest()'te gereksiz sonuçları sıfırlayarak, genetiği yönlendirebilirsiniz. yön bulmamız gereken algoritma!
Geliştiriciler, nihayet görevleri dağıtma sorununu çözüyor .... "tek çekirdek - bir görev" ilkesine göre
Artık her biri 40 küsur görev aldıkları için ana işlemci sayımının 10 çekirdeğine sahibim ve 40 ağ çekirdeği daha boşta çünkü herkes saydı ... görevleri eşit olarak dağıtabilirsiniz .... bu sadece programlama için temel
Geliştiriciler, nihayet görevleri dağıtma sorununu çözüyor .... "tek çekirdek - bir görev" ilkesine göre
Artık her biri 40 küsur görev aldıkları için ana işlemci sayımının 10 çekirdeğine sahibim ve 40 ağ çekirdeği daha boşta çünkü herkes saydı ... görevleri eşit olarak dağıtabilirsiniz .... bu sadece programlama için temel
Bu doğru bir yaklaşım değil - görevleri birer birer vermek değil, ücretsiz kaynaklar varsa kapasiteleri yeniden dağıtmak, yani. önceden verilmiş görevleri iptal edin ve yürütmeleri için başkalarına verin. Aynı zamanda, çekirdeğe yürütme için gerekli sayıda yeni görev vermek için her ajan için performans analitiği yapmak gerekir.