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
Zadol Anlık görüntülerde hata ayıklamaktan bıktınız. Sonunda bunu mükemmel bir şekilde yaptı. Bir danışman - barış ve sessizlik. İki harika. 20 - felaket: CPU %100'ün altında. HistorySelect, birçok milisaniye boyunca gecikiyor.
Görünüşe göre MT5, çok sayıda robotun eşzamanlı çalışması için tasarlanmamıştır.
Bir stres testi mi yazıyorsunuz yoksa uzmanların olağan çalışmaları mı?
Büyük olasılıkla, tek bir veritabanında çok iş parçacıklı bir stres testidir. Bu yüzden tekrar ediyorum:
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MT5 ve iş başında hız
Renat Fatkhullin , 2020.09.16 12:47
Doğru anladıysam, her sembolün üzerinde bir danışman değil, bir stres test cihazı var . Bu, işleri tamamen değiştirir. Ve başlangıç koşullarının gizlendiğini gösterir.
Yani, bir 8(4+HT) çekirdek işlemcide, kesintisiz modda ve gecikme olmaksızın 16 iş parçacığı (paralel olarak +N terminal işçi iş parçacığı) bir senkronize sembol temel nesnesine bölünür. Tıklamalar sürekli olarak kaydedildiğinden Okuma / Yazma kilitleri karıştırılır.
Genellikle böyle bir profilde, işlemcinin soğukluğuna ve iş parçacığı zamanlayıcısına bağlı olarak, her iş parçacığı zamanın %60 ila %80'ini beklemekle geçirebilir.
Ve görevlerin türünden bağımsız olarak.
Aslında, 20 iş parçacığında bir kaynak için kesintisiz bir savaş düzenlerseniz, birkaç seçenek vardır:
Ek'i dikkatlice okuyun. N iş parçacığı bir senkronizasyon nesnesine çarpıyorsa, boş bekleme %60-80 düzeyinde olacaktır.
Ve çok iş parçacıklı verimliliğin sınırı, 8-12 iş parçacığı düzeyinde bir yerde olacaktır. İş parçacığı sayısı arttıkça, örnekleme oranı azalacaktır. 2600k'da verimlilik sınırı daha da düşüktür.
Bir stres testi mi yazıyorsunuz yoksa uzmanların olağan çalışmaları mı?
Olağan
Büyük olasılıkla, tek bir veritabanında çok iş parçacıklı bir stres testidir. Bu yüzden tekrar ediyorum:
Aslında, 20 iş parçacığında bir kaynak için kesintisiz bir savaş düzenlerseniz, birkaç seçenek vardır:
Ek'i dikkatlice okuyun. N iş parçacığı bir senkronizasyon nesnesine çarpıyorsa, boş bekleme %60-80 düzeyinde olacaktır.
Ve çok iş parçacıklı verimliliğin sınırı, 8-12 iş parçacığı düzeyinde bir yerde olacaktır. İş parçacığı sayısı arttıkça, örnekleme oranı azalacaktır. 2600k'da verimlilik sınırı daha da düşüktür.
Tam önbellek geçmişi. Ancak bu bile HistorySelect(0, INT_MAX) çağrılmasını gerektirir.
Bir deney olarak, ticaret mantığı için gerekli olan tüm geçmiş referansları kestim. CPU üzerindeki yük büyük ölçüde azaltılmıştır.
Genel olarak, 20 robot varsa, o zaman onlarda tarihe dönmek, tek bir Terminal ile bir felakete neden olur. Birkaç Terminal hakkında konuşmaya bile gerek yok.
Ve senkro-nesnenin sadece tarih olmadığına dair bir his var. SymbolInfoTick, CopyTicks ve başka bir şey gibi görünüyor.
Genel olarak, her birinde on robot bulunan beş Terminal bile başlatamıyorum.
Fren profil oluşturucuyu görüntüleyin - bummer .
Olağan
Tam önbellek geçmişi. Ancak bu bile HistorySelect(0, INT_MAX) çağrılmasını gerektirir.
Bir deney olarak, ticaret mantığı için gerekli olan tüm geçmiş referansları kestim. CPU üzerindeki yük büyük ölçüde azaltılmıştır.
Genel olarak, 20 robot varsa, o zaman onlarda tarihe dönmek, tek bir Terminal ile bir felakete neden olur. Birkaç Terminal hakkında konuşmaya bile gerek yok.
Ve öyle görünüyor ki senkro-nesne sadece tarih değil. SymbolInfoTick, CopyTicks ve başka bir şey gibi görünüyor.
Genel olarak, her birinde on robot bulunan beş Terminal bile başlatamıyorum.
Fren profil oluşturucuyu görüntüleyin - bummer .
Sayısal verilerin yanı sıra hiçbir kanıt yoktur.
1) Her Uzman Danışman saniyede kaç kez HistorySelect sorgusu yapar?
2) Hangi işlevler yavaşlar?
3) Günlükler?
4) Robotların çalışma prensibi nedir?
Genel olarak, 20 robot varsa, o zaman onlarda tarihe dönmek, tek bir Terminal ile bir felakete neden olur. Birkaç Terminal hakkında konuşmaya bile gerek yok.
Belki tam tersine, her terminal kendi senkronizasyon nesnesini destekleyecek ve bunun için 20 Uzman Danışman kuyruğu olmayacak mı?
1 robotu 1 terminalde çalıştırmayı deneyin, sonucu görmek ilginç.
Belki tam tersine, her terminal kendi senkronizasyon nesnesini destekleyecek ve bunun için 20 Uzman Danışman kuyruğu olmayacak mı?
1 robotu 1 terminalde çalıştırmayı deneyin, sonucu görmek ilginç.
Ne yazık ki, bu deneyin sonucu ne yapmalı sorusuna cevap vermeyecektir.
Ne yazık ki, bu deneyin sonucu ne yapmalı sorusuna cevap vermeyecektir.
Ticaret robotu kavramını yeniden gözden geçirin
Katma
Çalıştığım 3 terminal + 1 demom var
Her terminalde 3 ila 4 karakter arasında OnBoorEvent kullanan 42 robot bulunur,
artı her 0,5 saniyede bir. zamanlayıcı tetiklenir + her robot terminalin global değişkenlerine erişir,
32 GB RAM'den 8.34 GB kullanılır ve CPU - %6.7
Ve alım satım seanslarının başındaki TM5 sunucusu dışında hiçbir şey yavaşlamıyor.
Sayısal verilerin yanı sıra hiçbir kanıt yoktur.
1) Her Uzman Danışman saniyede kaç kez HistorySelect isteğinde bulunuyor?
2) Hangi işlevler yavaşlar?
3) Günlükler?
4) Robotların çalışma prensibi nedir?
Bu soruları cevaplamak benim için çok zor çünkü ben bile çözemiyorum, bu da beni yavaşlatıyor. Profil oluşturucu çalışmaz bile. Gecikme CPU'dan geldiği için ölçümlerini aldatıyorlar. Anlık görüntüler ve önbelleğe alma yoluyla ortam işlevlerine erişimin azaltılması ne yazık ki beklenen etkiyi vermedi. EA'yı derleyebilecek bir profil oluşturucu bekliyorum.
Bu arada, uğraşıyordum, Tester'da ticaret geçmişi olan böyle bir pislik buldum.
Sonuç
Bu hatayı pek fark etmedim ve bir reprodüksiyon yazmak için bir saatten fazla harcadım. Kod aptalca, ancak sorunu gösteriyor. Test Cihazında değil, Terminalde benzer bir şey olup olmadığı - bilmiyorum.
Arama dizisi : Oshibka 013.
PS b2626 - düzeltildi.
Ticaret robotu kavramını yeniden gözden geçirin
Tüm sembolleri takas eden tek bir robot mu?
Tüm sembolleri takas eden tek bir robot mu?
Farklı robotlar, ancak hepsi yaklaşık olarak aynı şekilde inşa edilmiş.
Aynı zamanda, bir terminalde 42 iş var ve üç - 126'da bu yaklaşık 400 karakter
Katma
tekrar ediyorum (benim için)
Her robot 3 - 4 karakterden OnBoorEvent kullanır,
artı her 0,5 saniyede bir. zamanlayıcı tetiklenir + her robot arar küresel değişkenler terminal,
32 GB RAM'den 8.34 GB kullanılır ve CPU - %6.7
Ve işlem seanslarının başında TM5 sunucusu (veya Açıcının donanımı) dışında hiçbir şey yavaşlamıyor.
Farklı robotlar, ancak hepsi yaklaşık olarak aynı şekilde inşa edilmiş.
Aynı zamanda, bir terminalde 42 iş var ve üç - 126'da bu yaklaşık 400 karakter
Katma
tekrar ediyorum (benim için)
Her robot 3 - 4 karakterden OnBoorEvent kullanır,
artı her 0,5 saniyede bir. zamanlayıcı tetiklenir + her robot arar küresel değişkenler terminal,
32 GB RAM'den 8.34 GB kullanılır ve CPU - %6.7
Ve işlem seanslarının başında TM5 sunucusu (veya Açıcının donanımı) dışında hiçbir şey yavaşlamıyor.
Garip, benim için tam tersi.
4 terminal, Expert Advisors sayısını yaklaşık 200'e düşürdü, OnBook her şeyi attı, OnTick'e geri döndü, donanımı güncelledi, ancak sorunlar hala fxsaber'ınkilerle aynı.
Ancak Otkritie'de sabahları uzun süredir fren yok. Ve onlar neydi! 75 saniyeye kadar bazen ulaşılır :)