Hatalar, hatalar, sorular - sayfa 1625

 
Vladislav Andruschenko :

MT4, 888 ms derler

MT5'te aynı proje 4103 ms'de derlenir

İçinde, sorunların beş ile bağlantılı olduğu görülüyor. 4,5 kat fark çok fazla. Her ne kadar bütünlük adına, eski derleyiciyi de (1159) kontrol etmek güzel olurdu, eğer varsa (veya onu atabilirim). Doğru, kodun bunun için biraz düzeltilmesi gerekebilir.
 
-Aleks- :

MT5'te hiç param yok - Cent hesapları ticareti yapıyorum ve DC'nin onları saat beşte açmak için acelesi yok.

kötü aradım. https://www.mql5.com/ru/forum/88768/page2#comment_2587760
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
  • incelemeler: 3
  • www.mql5.com
Недавно один из национальных брокеров России Solid Financial Services запустил торговую платформу MetaTrader 5 с хеджинговой системой учета позиций...
 
Alexey Navoykov :

Yavaş MQL5 derleme sorununa tekrar değinmek istiyorum. Yaklaşık üç ay önce bu konuyu gündeme getirmeye çalıştım, ancak nedense anlayışla karşılaşmadım, görünüşe göre argümanlarım yeterince inandırıcı değildi. Bu nedenle, her şeyin neredeyse anında derlendiği eski yapıya (1159) geri döndüm (yeni derleyicilerde projem 20 saniyede derlendi).

Ve bir hafta önce, "Allah onlara 20 saniye versin, sabredeceğim, yeni güzellikler için" diye düşünerek yeni bir yapıya geçmek için yeni bir girişimde bulundum. Doğal olarak, yeni derleyicinin birkaç hatasını keşfettiğim süreçte (bunun hakkında burada yazdım) yeni koşullar için kodu biraz düzeltmem gerekiyordu. Ve sonuç nedir? Projem 30 saniyedir derleniyor! Bunun projenin karmaşıklığından mı yoksa derleyicinin bir sonraki "karmaşıklığından" mı kaynaklandığını bilmiyorum, ancak bu herhangi bir çerçeveye uymuyor.

Proje yaklaşık 700 kb kaynak koduna sahiptir, bu birkaç düzine mqh içeren bir Expert Advisor'dır. Her şey OOP. Daha önce, büyük fonksiyonların varlığından dolayı yavaşlamanın mümkün olduğunu yazmıştım. Bende bunlardan birkaç tane vardı. Onları küçük parçalara ayırdım - etki sıfır.

Ve en şaşırtıcı olan, bu ekstra uzun derlemenin hiçbir anlamı yok. Programın hızı eski derleyicidekiyle aynı, özel olarak yapılmış ölçümler. Ortaya çıkan tek bir cümle var: "Ne halt?"

Derleyicide bir hata / kusur olduğuna dair güçlü bir his var, çünkü boş boş sıfırdan peşinde koşuyor. Yalnızca OnStart() { } işlevine sahip tamamen boş bir komut dosyasının 400 ms'den fazla derlediği gerçeğini başka nasıl açıklayabiliriz! Bir kuklada derlemenin / optimize etmenin bu kadar uzun sürebilmesi akıl için anlaşılmazdır. Pekala, buna küçük fonksiyonlar ve sınıflar ekleyerek, derleme süresinin nasıl hızla büyüdüğünü gözlemleyebilirsiniz.

Donanımımın kesinlikle güçlü olmaktan uzak olduğunu hemen not ediyorum - Core i5U. Ama bu benim projemin eski derleyici üzerinde 1-2 saniye içinde derlenmesini engellemiyor. Buna göre, kukla genellikle anında derlenir.

Ve ayrıca not edeceğim. Derleyici, yalnızca önceden derlenmiş parçaların önbelleğe alınmasından değil, kaynak kodun kimliğinin banal kontrolünden bile yoksundur. Onlar. projeyi derleyin, ardından hiçbir şeyi değiştirmeden tekrar "Derle" düğmesine basın ve yine aynı 30 saniyeyi bekleyin. Peki bu nereye yakışıyor...

Hem MT geliştiricilerinden hem de büyük projelerle çalışan forum üyelerinden (bu sorunla gerçekten ilgilenen sadece ben miyim?), Birinin derlemesi ne kadar sürer, vb. yorumlarını duymak istiyorum. Derhal yürütülebilir bir dosya derlemekten bahsettiğimiz bir rezervasyon yapın.

Projelerimde , sizinki gibi bir düzineden fazla kaynak dosya var ve her şey OOP'de, yaklaşık 20 saniye söylemeyeceğim ama sürekli 11 - 14 saniyeden fazla izliyorum. Aynı zamanda, bir tür önbelleğe alma meydana gelir, çünkü. hiçbir şey değişmezse, zaman öngörülemeyen herhangi bir yönde 1-2 saniye değişir. Projelerin montajını eski derleyiciler ile yenileri üzerinde karşılaştırmadım, eski derleyiciler her şeyi çok daha hızlı topladı. Bence geliştiriciler bu anı kendileri görüyor ve iş parçacığı her şeyi düzelttiğinde :) Sonuçta, her ay birkaç yeni betanın yayınlanması boşuna değil, yani bir şeyler görüp düzeltiyorlar.

 

Terminalin sürümü ve bitliği

v.1375, 64 bit

problemin tanımı

En son yapıyı güncelledikten sonra, aracılar optimizasyon sırasında ilk 1900-2100 geçişinden sonra donuyor. Güncellemeden önce her şey yolundaydı, uzmanın tüm parametreleri ve kodu aynı kaldı.

sıralama

Optimizasyon başlar . Broker Keşfi. Gerçek hesap. Araçlar: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (diğerlerini denemedim). Aralık ay, dakika, 15 dakika. Açılış fiyatları veya OHLC.

Sonuç

Aracılar - yerel ve uzak 2000 geçişten sonra aslında donar, yüzde yüklenir, değişiklikler 10 dakikada yaklaşık yüzde 0,01 olur. 14 ajan.

Beklenen Sonuç

Önceki yapıdaki gibi optimizasyon geçişi.

ek bilgi

Hakkımda: .net programcısı, MQL 5, deneyimli


Günlükler her yere baktı. Önceki derlemenin günlükleriyle karşılaştırıldığında. Orada herhangi bir sorun veya hata yok. Hikayenin kalitesi iyi.
Dosyalar:
image.jpg  89 kb
 
coderex :

Aynı zamanda, bir tür önbelleğe alma meydana gelir, çünkü. eğer hiçbir şey değişmezse, zaman tahmin edilemeyen herhangi bir yönde 1-2 saniye değişir.

:) bu açıkçası sadece bir hata, sistemdeki diğer işlemlerin etkisi ve ayrıca disk önbelleği. Her durumda,% 10-15, önbelleğe almanın yapıldığı tüm göstergeler değildir.

Projelerin montajını eski derleyiciler ile yenileri üzerinde karşılaştırmadım, eski derleyiciler her şeyi çok daha hızlı topladı. Sanırım geliştiriciler bu anı kendileri görüyor ve iş parçacığı her şeyi düzelttiğinde :) Sonuçta, her ay birkaç yeni betanın yayınlanması boşuna değil, yani bir şeyler görüp düzeltiyorlar.

Ama herkes susarsa bir şeyi nasıl görecekler! İnsanlar çeşitli hatalardan şikayet ettikleri için yeni betalar yayınlandı. Ama eğer hatalar, onların düzeltilmesi için ağır bir argümansa, o zaman diğer her şey... Onları uzun süre ikna etmeniz gerekiyor. Tüm argümanları açıkça ortaya koymuş, resmi olabildiğince açık bir şekilde özetlemiş gibi görünse bile, hala onlara karşı çıkıyor, ya da dolandırıcı :) Ben de 3 ay önce onları ikna etmeye çalıştım ama kimse desteklemedi onlara.

Ne de olsa, çok az insan MQL'de büyük projeler yapıyor. Ve küçük insanlarda, görünüşe göre, fazladan birkaç saniye yüzünden buhar banyosu yapmıyorlar.

Bu arada, yüzde kaç var?

 
Alexey Navoykov :

...hâlâ dinleniyorlar, ya kancaya ya da dolandırıcı :)

bu yüzden artık hiçbir şey kanıtlamaya çalışmıyorum, ayrıca, artılar üzerine projeler çok daha büyük olmalarına rağmen çok daha uzun inşa ediliyor, ancak çalıştırılabilir dosya veya kitaplık dosyası başına birkaç dakika ve bir proje için artılar üzerinde derlemelere alışkınım birkaç on dakikaya kadar bir yapı dizini olan birkaç dosyanın :) ve 10-20 saniye beklemek sorun değil ...
 
Alexey Viktorov :
kötü aradım. https://www.mql5.com/ru/forum/88768/page2#comment_2587760
Bağlantı, ilgilenilen bilgileri sağlamıyor - spesifik olun.
 
ProfitTraderRU :

Terminalin sürümü ve bitliği

v.1375, 64 bit

problemin tanımı

En son yapıyı güncelledikten sonra, aracılar optimizasyon sırasında ilk 1900-2100 geçişinden sonra donuyor. Güncellemeden önce her şey yolundaydı, uzmanın tüm parametreleri ve kodu aynı kaldı.

sıralama

Optimizasyon başlar . Broker Keşfi. Gerçek hesap. Araçlar: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (diğerlerini denemedim). Aralık ay, dakika, 15 dakika. Açılış fiyatları veya OHLC.

Sonuç

Aracılar - yerel ve uzak 2000 geçişten sonra aslında donar, yüzde yüklenir, değişiklikler 10 dakikada yaklaşık yüzde 0,01 olur. 14 ajan.

Beklenen Sonuç

Önceki yapıdaki gibi optimizasyon geçişi.

ek bilgi

Hakkımda: .net programcısı, MQL 5, deneyimli


Günlükler her yere baktı. Önceki derlemenin günlükleriyle karşılaştırıldığında. Orada herhangi bir sorun veya hata yok. Hikayenin kalitesi iyi.

Bu davranış herhangi bir Uzman Danışmanda gözlemleniyor mu?

Günlükler yine de zarar vermez. Servis masasına bir bilet gönderin.

 
Sadece kendi uzmanlarımı test ettim. Önceki yapı ile normal olarak optimize edildiler.

Servis masasına bir istek gönderdi . İnanın günlüklerde olağandışı bir şey yok (önceki ve şimdiki yapıların günlüklerine baktım).
 
Alexey Da :

Terminal günlükleri - güzel, strateji test cihazının ve test aracılarının günlükleri daha ilginç.

+ Biletinize Uzman Danışmanınızın en az EX5'ini ekleyin (araştırmadan sonra kaldıracağız) + optimizasyonda kullanılan parametrelerin açıklaması.

peki teşekkür ederim