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
Çıktı frekansına değil, tuval oluşturma frekansına baktığım ortaya çıktı.
Bunlar birbirinin katı olan farklı sayılardır.
Tuval oluşturma frekansını (çıktı olmadan) ve çıktı frekansını (üretim olmadan) biraz yanlış hesapladığım ortaya çıktı.
İşte daha doğru bir versiyon.
İşlemcimdeki sonuçlar:
Çıkışsız 200 düzleştirilmiş daireden yalnızca bir çerçeve oluşturmak için zaman alırsak, bu, saniyede yaklaşık 500 karelik bir frekansta gerçekleşir.
200 düzleştirilmemiş dairenin çıktısız çerçevelenmesi - saniyede yaklaşık 1000 kare.
Ekranda bir görüntüyü (tuval) görüntüleme (Güncelleme işlevi) işlevinin kendisinin frekansı, saniyede yaklaşık 650 karedir.
Gerçekten harika bir iş çıkardın!
(int)double veya (double)int gibi toplu dönüşümlerin ateşi gibi ve mat işlemlerinde genellikle int+double'ı karıştırmaya dikkat edin.
Bu, işlemcideki en çılgın ek yükü verir - bu kadar pahalı bir montaj talimatı. Çift sayıyorsanız, içinde saymaya devam edin ve tamsayı türlerine geçiş yapmayın.
cvtsi2sd/cvttsd2si gibi komutlar çok uzundur. " En yavaş x86 talimatı " makalesinde küçük bir ipucu, 2 numaralı kötü adam.
Çok değerli bir makale için teşekkürler.
Ama dürüst olmak gerekirse, neden bu basit senaryoda anlamıyorum:
double türünden uzuna dönüşümlü bir long toplamı, aynı dizinin dönüşümsüz double toplamından belirgin şekilde daha hızlıdır
İlk olarak, montaj koduna ve son derece basit durumların optimizasyonlarının sonucuna bakmanız gerekir (süpermikrosentetikler uzun süredir yanıltıcıdır). Bir konveyör uygulamasıyla karşılaşmak kolaydır, bu sadece ideal bir durumdur.
İkincisi, çok az kişi nasıl derleneceğini ve şu veya bu kodu çalıştırmanın ne kadar süreceğini garanti edebilir.
Koda ek bir satır/komut eklemek yeterlidir ve hız önemli ölçüde değişir. Gerçek kod/veri L1/L2 önbelleğinden çıkabilir ve bu kadar.
Senin için nasıl çalıştı? Teoriye / süpersentetiklere göre, tamsayı komutlarının hız konusunda yardımcı olacağı, ancak gerçek kodda boşa çıkacağı görülüyor. Onlarca/yüzlerce kat daha fazla kod olduğundan, ardışık düzen yoktur, hesaplamaların tamsayıdan gerçeğe sürekli atlaması ve optimizasyon sınırlıdır.
MQL4'te herhangi bir türden dizilerin başlatılması neden MQL5'tekinden 10 kat daha yavaş?
MQL4'te herhangi bir türden dizilerin başlatılması neden MQL5'tekinden 10 kat daha yavaş?
Çünkü orada tüm diziler dinamiktir ve dil on kat daha yavaştır.
Canvas'ta uygulanan yüzlerce hareketli ortalamanın ultra hızlı göstergesi.
100 MA satırı (nokta adım 10) - hesaplama ve görüntüleme süresi - 4-7 milisaniye
1000 MA satırı (dönem adım 1) - hesaplama ve görüntüleme süresi - 20-30 milisaniye
Kod fazla test edilmedi. Hatalar olabilir. Yalnızca bir piksel kalınlığında bir çubuk için uygulanır (zorla böyle bir ölçeğe çevrilir). Ayrıca, ekran yenileme hızı optimize edilmemiş. Tüm satırlar hesaplanır ve her onay işareti üzerinde tam olarak görüntülenir.
Canvas'ta uygulanan yüzlerce hareketli ortalamanın ultra hızlı göstergesi.
100 MA satırı (nokta adım 10) - hesaplama ve görüntüleme süresi - 4-7 milisaniye
1000 MA satırı (dönem adım 1) - hesaplama ve görüntüleme süresi - 20-30 milisaniye
harika, standart göstergeler aracılığıyla her şey sıkıca asılırdı
harika, standart göstergeler aracılığıyla her şey sıkıca asılırdı
ve bir kilometrelik kod olurdu ...
belki bu bile sadece bir şablonla yapılabilir. Bir göstergenin gövdesindeki gösterge çizgilerinin sayısıyla ilgili kısıtlamaların farkında değil.
...
Bir göstergenin gövdesindeki gösterge çizgilerinin sayısıyla ilgili kısıtlamaların farkında değil.
Bir sınırlama var. 512'ye kadar gösterge tamponu yapılabilir >>> https://www.mql5.com/en/docs/indicators