Hatalar, hatalar, sorular - sayfa 1627

 
Alexey Navoykov :
MQL'de böyle bir projenin ne kadar inşa edileceğini hayal etmek korkutucu. Evet ve tam teşekküllü IDE'lerde farklı derleme modları var. Muhtemelen sürüm derlemesini kastediyorsunuz, çoğu zaman hata ayıklama bizim için yeterli. Ancak MT'de bunun için bekleyeceksiniz.
Ayrıca, önceden derlenmiş dosyalar orada kullanılır, bu nedenle sonraki derlemeler açıkça daha hızlı olacaktır.

artı tarafta, her zamanki gedit'te yazıyorum, ayrıca hata ayıklamak için konsolu da getirdim, doğrudan gdb'de hata ayıklıyorum, ayrıca gcc konsolundan bağlama ve derleme yapıyorum, bazen IDE'den QtCreator kullanıyorum, ancak bu o zaman GUI ile bir şeyler yazmam veya hata ayıklamam gerekiyor :)

Bu karara bir yıldan kısa bir süre önce, normal bir metin düzenleyiciyi zil ve ıslık olmadan yüklemenin ve bir şeyleri düzeltmenin veya yazmanın ağır bir IDE yüklemekten daha kolay olduğunu fark ettiğimde geldim ...

 

Alexey Navoykov :
Насчёт ВСЕХ кодов - вы не погорячились? Откуда такая уверенность? Вы их все пробовали?

çok denedim...

Tamam, bilgisayarın başına geçtiğimde sana oynaman için bazı kodlar vereceğim. Ama zaten zayıf donanımda onlarca ms hakkındaki hikayelerinizle kafam karıştı. Gerçekten aynı şeylerden mi bahsediyoruz? .mq5 komut dosyası? Ve hangi işlemciye sahipsiniz?

Bilgisayar başına geçtiğimde verileri güncelleyeceğim.
 
Slawa :
Ne iade edilmelidir?
Herhangi bir nedenle geçmişte hata ayıklama, tam teşekküllü bir görselleştirme sağlar. Bu nedenle, doğru açıklayacaktır. Ek olarak __DEBUG__ kullanacağım. Belgeler görsel hata ayıklama hakkında çok az şey söylüyor.
 
Bu konu ile ilgili olmayan yorumlar " Mesher ile Yardım " bölümüne taşınmıştır.
 

Genel olarak, orada MT5 için büyük projeler bulana kadar kod tabanında arama yaptım. Ama beni etkileyen şey, danışmanların ve göstergelerin bölümlerinin temelde aynı kişinin el sanatlarıyla dolu olması. Ve birkaç yıldır her gün birkaç tanesini çalkalıyor! Böyle bir hevesin nereden geldiği ve neden bu kadar iyi olduğu belli değil ... Belki MQ bunun için ona fazladan para ödüyor, xs ... Tabii ki, her şey bir boşlukta damgalanmış, ama şahsen ben sadece açıklamaları oluşturmakta tereddüt ederdim. ve ekran görüntüleri)

Orada danışmanları yaklaşık 150-200 kb ağırlığında, ancak ilk olarak, kod oldukça yayılmış durumda, ayrıca birçok tekrar eden parça var. Bu benim standartlarıma göre. Beni hacim olarak birkaç kat daha az alacaktı. Bu nedenle kaynak kodlarının hacmi yalnızca koşullu bir göstergedir. İkincisi, kodun kendisi basittir, sanal işlevler , şablonlar, dinamik nesneler ve işaretçiler yoktur. Onlar. hemen hemen tüm kod satır içi olabilir. 600-700 ms aralığında oldukça hızlı bir şekilde derlenir. Genel olarak, gerçekten hacimli ve oldukça karmaşık bir örnek bulmanız gerekiyor. Ve geliştirmelerim arasında, sadece yeni derleyici için bu projeyi sonlandırdım, diğerlerini eskisinin altında kullanıyorum ve mevcut durum göz önüne alındığında onları düzeltmek için zaman kaybetmenin uygunluğunu görmüyorum.

 
Alexey Navoykov :

...

Genel olarak, gerçekten hacimli ve oldukça karmaşık bir örnek bulmanız gerekiyor. Ve geliştirmelerim arasında, sadece yeni derleyici için bu projeyi sonlandırdım, geri kalan her şeyi eskisinin altında kullanıyorum ve mevcut durum göz önüne alındığında onları düzeltmek için zaman kaybetmenin uygunluğunu görmüyorum.

Bugüne kadarki en son sürüm: Grafik Arayüzleri IX: İlerleme Çubuğu ve Çizgi Grafiği Öğeleri (Bölüm 2)

 

Oh teşekkürler. Bu arada projenin kendisi hem konsept hem de uygulamada şık. Genel olarak ilk test Expert Advisor TestLibrary01 benim için 6.5 saniyede derlendi. Hızlı bir şekilde. Tabii ki, yine de bu EA tarafından fiilen kullanılan kod miktarını tahmin etmek gerekli olacaktır. Ve yine, "hızlı" kelimesi eski yapıdaki derleme hızıyla karşılaştırıldığında biraz komik görünecek. Orada anlık. Şimdi, eğer biri kendisi görmek isterse, 1159 derleyici versiyonunu ekliyorum. Dosyayı doğal olarak yeniden adlandırın.

Onlar. aslında, sonuç şu şekilde çıkarılabilir: derleme süresi, elbette, kodun hacmine ve karmaşıklığına bağlı olarak önemli ölçüde değişebilir, ancak bir şey değişmeden kalır - yeni derleyicide bu daha yavaştır eskisinden daha. Aynı zamanda, bu, programın hızında somut bir kazanç sağlamaz - kontrol ettim. Aksini kanıtlamak isteyen varsa - bayrak elinde.

Dosyalar:
 
Alexey Navoykov :

Oh teşekkürler. Bu arada projenin kendisi hem konsept hem de uygulamada şık. Genel olarak ilk test Expert Advisor TestLibrary01 benim için 6.5 saniyede derlendi. Hızlı bir şekilde. Tabii ki, yine de bu EA tarafından fiilen kullanılan kod miktarını tahmin etmek gerekli olacaktır. Ve yine, "hızlı" kelimesi eski yapıdaki derleme hızıyla karşılaştırıldığında biraz komik görünecek. Orada anlık. Şimdi, eğer biri kendisi görmek isterse, 1159 derleyici sürümünü ekliyorum. Dosyayı doğal olarak yeniden adlandırın.

Onlar. aslında, sonuç şu şekilde çıkarılabilir: derleme süresi, elbette, kodun hacmine ve karmaşıklığına bağlı olarak önemli ölçüde değişebilir. Ancak bir şey değişmeden kalır - eski derleyicide, yenilerine göre daha hızlı bir büyüklük sırasıdır . Aynı zamanda, bu, programın hızında somut bir kazanç sağlamaz - kontrol ettim. Aksini kanıtlamak isteyen varsa - bayrak elinde.

MetaTrader 5'teki projelerimden en karmaşık olanı elbette derlemesi de uzun sürüyor. Hatta 11 saniyeye kadar çıkıyor. Tamamen aynı sürümler, ancak MetaTrader 4'te 25 kata kadar daha hızlı.

Örneğin, aynı proje.

MetaTrader 5 :

 0 error(s), 0 warning(s), compile time: 11054 msec               1        1

//---

MetaTrader 4 :

 0 error(s), 0 warning(s), compile time: 434 msec                 1        1

//---

Bunun neyle bağlantılı olduğu henüz belli değil. Testler için materyal hazırlamayı deneyebilir ve doğrulama için servis masasına gönderebilirsiniz. Projelerinizin kodunu göstermek istemiyorsanız, bu serideki makalelerdeki kodu örnek olarak kullanabilirsiniz.

 
Anatoli Kazharski :

MetaTrader 5'teki projelerimden en karmaşık olanı elbette derlemesi de uzun sürüyor. Hatta 11 saniyeye kadar çıkıyor. Tamamen aynı sürümler, ancak MetaTrader 4'te 25 kata kadar daha hızlı.

Örneğin, aynı proje.

MetaTrader 5 :

//---

MetaTrader 4 :

//---

Bunun neyle bağlantılı olduğu henüz belli değil. Testler için materyal hazırlamayı deneyebilir ve doğrulama için servis masasına gönderebilirsiniz. Projelerinizin kodunu göstermek istemiyorsanız, bu serideki makalelerdeki kodu örnek olarak kullanabilirsiniz.

Böyle bir varsayımım var: MT4'ün 32-bit olması nedeniyle, "tamamen optimize" olmanın üzücü kaderine maruz kalmadı. Sonuçta, bildiğim kadarıyla, derleyicinin bu sözde optimizasyonunun, 64 bitlik bir ortamda sözde çalışmayı iyileştirdiği ilan edildi. Bu arada, MT5'in 32 bit sürümünü kontrol etmek gerekiyor, belki de her şey yolunda. Ama şu anda böyle bir seçeneğim yok.

Beşi için 32 bitlik bir meta düzenleyici sürümü olan, lütfen paylaşın.

 
Anatoli Kazharski :

MetaTrader 5'teki projelerimden en karmaşık olanı elbette derlemesi de uzun sürüyor. Hatta 11 saniyeye kadar çıkıyor. Tamamen aynı sürümler, ancak MetaTrader 4'te 25 kata kadar daha hızlı.

Örneğin, aynı proje.

MetaTrader 5 :

//---

MetaTrader 4 :

//---

Bunun neyle bağlantılı olduğu henüz belli değil. Testler için materyal hazırlamayı deneyebilir ve doğrulama için servis masasına gönderebilirsiniz. Projelerinizin kodunu göstermek istemiyorsanız, bu serideki makalelerdeki kodu örnek olarak kullanabilirsiniz.

Bu bir kod optimizasyonudur .

Metaeditor.ini alanına [Uzmanlar] OPTIMIZE=0 yazarsanız, derleme hızı 4-ke'deki ile aynı olacaktır. Derlenmesi 20 saniye süren bazı projelerim var ve bazıları sonsuz bir optimizasyon döngüsüne dahil :)