Hatalar, hatalar, sorular - sayfa 1626
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
Bu davranış herhangi bir Uzman Danışmanda gözlemleniyor mu?
Yine de günlükler zarar vermez. Servis masasına bir bilet gönderin.
...Aksi halde, yalnızca OnStart() { } işlevine sahip tamamen boş bir betiğin 400 ms'den fazla derlenmesi gerçeği nasıl açıklanabilir!
Tabii ki derleyici yazmıyorum, ancak projenin kapsamına bağlı olmayan belirli bir minimumun olduğundan eminim. Bu bir taksi çağırmak ve bir sonraki girişe gitmek gibi - birkaç metrelik parayla birkaç metre öteye gitmiş gibi görünüyor, ancak 200 r'lik minimum dosyalama fiyatı da soruyu gündeme getirebilir - bir kuruş için oraya gidin, niye ya ?!
Yavaş MQL5 derlemesi 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 zaten 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 yorumlarını duymak istiyorum (bu sorunla gerçekten sadece ben mi ilgileniyorum?), Birinin derlemesi ne kadar sürer ve hangi donanım üzerinde. Yürütülebilir bir dosya derlemekten bahsettiğimiz hemen bir rezervasyon yapın.
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 ...
Bu, sık sık başarısızlığını bazen burada bir hata olarak bildirdiğiniz karmaşık yapılarla ilgilidir. Kullanılmazlarsa, süre önemli ölçüde azalacaktır. Örneğin, kod tabanındaki TÜM kod, 20 saniyeden önemli ölçüde daha hızlı derlenir. Çok yavaş bir dizüstü bilgisayardaki boş 1368 derlemem onlarca ms derler. Bana oynamam için kodu ver.
Bağlantı, ilgilenilen bilgileri sağlamıyor - spesifik olun.
İlk mesajında iki fotoğraf olan bir konunun ilk sayfasını açmak tahmin etmek zor ???
https://www.mql5.com/ru/forum/88768
İlk mesajında iki fotoğraf olan bir konunun ilk sayfasını açmayı tahmin etmek zor ???
https://www.mql5.com/ru/forum/88768
İlk fotoğrafa baktım - web sitelerinde beş için bir cent hesapları yok. Ancak ikinci fotoğrafta bu tür veriler var, ancak orada örtüşmenin mümkün olup olmadığı açık değil mi? Ve açık emirlerin sayısındaki ve pozisyonun hacmindeki sınırı zorluyor ... genel olarak, bu iyi değil. Ama fırsatın olması güzel.
Ancak, tüm kodu yeniden yazmak için bir teşvik yoktur (karmaşık kodu yeniden yazmak için çok para harcamak dahil).
İlk fotoğrafa baktım - web sitelerinde beş için bir cent hesapları yok. Ancak ikinci fotoğrafta bu tür veriler var, ancak orada örtüşmenin mümkün olup olmadığı açık değil mi? Ve açık emirlerin sayısındaki ve pozisyonun hacmindeki sınırı zorluyor ... genel olarak, bu iyi değil. Ama fırsatın olması güzel.
Ancak, tüm kodu yeniden yazmak için bir teşvik yoktur (karmaşık kodu yeniden yazmak için çok para harcamak dahil).
O zaman neden böyle sebepler icat etmek gerekliydi? Sonuçta, HAYIR HAYIR diyebilirsin VE OLMAYACAKTIR ...
Bir dolar hesabında işlem yapmak için böyle bir para yoksa, sipariş ve hacim sayısındaki hangi kısıtlamalar zorlanabilir ??? Bütün bunlar garip.
O zaman neden böyle sebepler icat etmek gerekliydi? Sonuçta, HAYIR HAYIR diyebilirsin VE OLMAYACAKTIR ...
Bir dolar hesabında işlem yapmak için böyle bir para yoksa, sipariş ve hacim sayısındaki hangi kısıtlamalar zorlanabilir ??? Bütün bunlar garip.
İstiyorum ve yapacağım - emirlerle çalışma konusunda zaten bir sınıf sipariş ettim - bana uygun şekilde - yıl sonuna kadar ortaya çıkmasını bekliyorum.
Çok fazla döviz çifti varken, bir ızgara ile ve hatta lotta bir artışla karşı trend ticareti yapıyorum - bu nedenle, büyük bir pozisyon hacmi için çok sayıda sipariş ve destek gerekiyor. Dörtlüde sorunu çeşitli numaralarla çözüyorum, eğer tekrar geliştirilip uygulanmaları gerekiyorsa, bu sadece zamanımı alacak ve finansal sonucu iyileştirmeyecek.