![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
Ve her şeyi düşünmek ve kökten iyileştirmek için sorun nedir?
"Çalışıyor ve harika" modunda zaten bir tür MQL4-MQL5 kitaplığı var, bu da saçınızı yolmanıza neden oluyor. Tüm ciddiyetle insanlar, her iki platformun hızını karşılaştırmak için kullanıyor.
Şimdi düşünmeyi değil, "MT5'te daha yavaş" diyerek acele edecekleri başka bir zanaat yapmayı öneriyorsunuz.
Hiçbir şey anlamadım. fxsaber'ın zamanı ve arzusu varsa bir kez daha öneririm:
1. MT5 için (MT4 için isteğe bağlı) bir kitaplık oluşturun; bu, test edici / optimize edici modunda gereksiz işlevleri devre dışı bırakır (şimdilik, grafikler)
2. Bunu yapmak için, bu maliyetli işlevleri tanımlara sarın ve çalışma moduna bağlı olarak bunları etkinleştirin veya etkinleştirmeyin
Konuya bu kadar duygusal yaklaşmaya gerek yok, kimse MT5 ile karşılaşmaz.
Test cihazındaki kodun performansını tek satırda ölçmenizi sağlayan evrensel bir araç var. Görülecek çok şey vardı. Özellikle, tek bir çalıştırmanın bir optimizasyon çalıştırmasından daha yavaş olması.
Yorumun konusuna geliştiriciler cevap vermiş . Bu arada ben kendim tek satırda optimizasyonu 1.5-2 kat hızlandırıyorum.
Ve SD'de performans için önemli olan bir nüanstan bahsettiler.
İşlev yürütmenin mikrosaniyeleri hakkında endişelenmek yalnızca Optimizasyon modlarında mantıklıdır. Gerçek zamanlı olarak, önemli değil. Ve Yorum, daha yavaş olsa bile, Expert Advisor'ın gerçek zamanlı performansında herhangi bir rol oynamaz.
Ancak neredeyse hiç kimsenin Uzman Danışmanları test cihazında olabildiğince hızlı yürütülecek şekilde yazmadığı bir gerçektir.
Lütfen bunu nasıl başaracağınıza dair bir SSS yapın. Tüm düşüncelerin tek bir yerde olmasına izin verin.
Sadece bunun için harika bir ip var. Belki birileri, bu konudaki birçok gönderiye dayanan bölümlerde bir SSS derlemek için muazzam bir çaba ve zaman harcayacaktır.
Ve hız için her zaman aynı tarifi kullanırım - TesterBenchmark + profiler . Ve elbette, test edenin özellikleri ile gerçek arasında makul bir orta bulmak için. MT4Orders bu şekilde yazılır. Orada, test cihazında hızlı çalışma ve gerçek hayatta ideal çalışma üzerine bahis yapıldı. Bunu yapmak için, aynı test cihazında gerçek hayatta gerekli olan bazı (bazen pahalı) kontrollerin yapılması gerekmediğini anlamanız gerekir. Bu önemli tasarruf sağlar. Eh, aynı tarihin önbelleğe alınması vb. Onlar. sakatatlarında bazen test eden kişi ve gerçek dünya için farklı mantıklara sahip kütüphaneler yazmanız gerekir. Trade.mqh maalesef böyle bir kütüphane değil.
Sadece bunun için harika bir ip var. Belki birileri, bu konudaki birçok gönderiye dayanan bölümlerde bir SSS derlemek için muazzam bir çaba ve zaman harcayacaktır.
Ve hız için her zaman aynı tarifi kullanırım - TesterBenchmark + profiler . Ve elbette, test edenin özellikleri ile gerçek arasında makul bir orta bulmak için. MT4Orders bu şekilde yazılır. Orada, test cihazında hızlı çalışma ve gerçek hayatta ideal çalışma üzerine bahis yapıldı. Bunu yapmak için, aynı test cihazında gerçek hayatta gerekli olan bazı (bazen pahalı) kontrollerin yapılması gerekmediğini anlamanız gerekir. Bu önemli tasarruf sağlar. Eh, aynı geçmişin önbelleğe alınması vb. Onlar. sakatatlarında bazen testçi ve real için farklı mantığa sahip kütüphaneler yazmanız gerekir. Trade.mqh maalesef böyle bir kütüphane değil.
Mütevazı bir görevi üstlenelim - optimizasyonu hızlandırmak için bir SSS yapmak.
Özgecilik bazen iyidir. Ama zaman bana değil, Aileye aittir.
Mütevazı kodlar ve tarifler paylaşıyorum. Bu yeterli görünüyor.
Herhangi bir sırrım yok.
Ve doğru yapıyor. Bu, nesnenin özelliklerini değiştirdikten sonra ChartRedraw yapmamak kadar mantıklıdır. terminolojiyi kullanma
ChartRedraw, her birinden sonra değil, toplu yazmalardan sonra çağrılmalıdır.
Evet, ancak toplam pencerenin %1'inden daha az olan 130x80 piksel gibi küçük bir tuvalim varsa ve içinde mevcut bilgileri göstermem gerekiyor. Görünüşe göre MT4'te Update(false) kullanarak tüm ekranı yeniden çizmeden bunu yapabilirim, MT5'te ise her seferinde tüm ekranı yeniden çizmem gerekiyor. Ve bu zaten birkaç kat daha fazla kaynak yoğun. Ve bu bir test değil, çalışan bir konu.
Tuval ve diğer herhangi bir işlem sırasında ekranın hiçbir zaman kısmen yeniden çizilmediğinden eminim.
Özgecilik bazen iyidir. Ama zaman bana değil, Aileye aittir.
Mütevazı kodlar ve tarifler paylaşıyorum. Bu yeterli görünüyor.
Herhangi bir sırrım yok.
Alçakgönüllülük harika! Ben de mütevazi bir insanım. Fedakarlık çoğu durumda merhum Rahibe Teresa'ya yöneliktir. Her ne kadar bazen bu kötü hastalığın kökleri - özgecilik - içimde filizlense de)))
Tuval ve diğer herhangi bir işlem sırasında ekranın hiçbir zaman kısmen yeniden çizilmediğinden eminim.
Evet, yanılmıştı. MT4'te ChartRedraw olmadan ResourceCreate'in tuvali her seferinde yeniden çizdiği ifadesiyle bir hata yaptım. Bunu ara sıra yapar, MT5 ise hiç yapmaz.
Evet, elbette, aptalım. Sonuçta, donanım düzeyinde, ekran bağlamı ekranın yalnızca bir bölümünü değil, yalnızca tamamını değiştirebilir.
Bunu, küçük bir gecikmeli Uyku (10) tanıttığımda fark ettim: