Tek aralıklı yazı tipinde grafik çıktısı nasıl görüntülenir? - sayfa 7

 
Renat Fatkhullin :

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.

 
fxsaber :

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. Blogunuzda yayınlayacağız, başka yerlerde youtube'da video çekip MQ kanalında yayınlayabilirim. Şüphesiz, tam da bu tür sistematik şeylerde engin deneyiminiz var, hadi bunu ortak yarar için paylaşalım!
 
Alexey Volchanskiy :
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.

Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.02.24
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 
fxsaber :

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.

Önceki yazılarımda bahsettiğim şey buydu. Belirtilen dalda SSS yapmak maksimum görevdir. Mütevazı bir görev üstlenelim - optimizasyonu hızlandırmak için bir SSS yapmak. Kod varsa, sadece düşüncelerinizi yazın - kod ekleyin. Özetlemeye çalışacağım, tarayacağım, sonra anlaşıp yayınlayacağız. Bir video yapacağım, harika bir deneyim, sorun değil.
 
Alexey Volchanskiy :
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.

 
fxsaber :

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.
 
Nikolai Semko :
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.

 
fxsaber :

Ö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)))

 
fxsaber :

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:

Dosyalar: