Biraz şaşırdım :) Retorik bir soru DEĞİL paylaşmaya ve sormaya karar verdim. - sayfa 23
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Birini (zorunlu olarak 2'nin katı değil) diğerine (zorunlu olarak 2'nin katı değil) bir bit kaydırma yoluyla bölecek misiniz?
Tamam, elimdekileri atacağım ve sonra ihtiyacın olup olmadığını kendin düşüneceğim.
gcd(2n + 1, 2(n + k) + 1) = gcd(2(n + k) + 1, 2n + 1) = gcd(2n + 1, k)
--
Yandex'de STL yaratıcısı Alexander Stepanov tarafından iki ders
// GCD hesaplaması konusunda - ikinci ders. Ama ikisini de izlemenizi/dinlemenizi tavsiye ederim. Harika dersler, akıllı adam, sadece güzel. Evet ve kullanışlı.Bit kaymaları varsa - hadi. Modulo bölümü varsa, gerekli değildir.
Ardışık ofset ile bölme
makalenin sonundaki ilginç rakamlar:
Bu algoritma en kötü durumda (n-1)'de çalışacaktır! yinelemeler, burada n temettü bitlerinin sayısıdır. Sonuç olarak, sıralı toplama algoritmasına kıyasla bu algoritma 8 bitlik sayılar için 9 kata kadar, 16 bitlik sayılar için 546 kata kadar kazanç sağlar.
Değeri şöyle aldım:
düzgün çalışıyor gibi görünüyor. Tüm deliklerde test etmenizi rica ediyorum.
// düzeltildi, daha hoş.İşin garibi, daha hızlı olmadı.
2011.04.03 22:56:59 gcdSpeedTest (EURUSD,M20) Ortak zaman GreatestCommonDivisor(random(),random()) = 7656ms; // 10000000 çağrı
2011.04.03 22:56:51 gcdSpeedTest (EURUSD,M20) Ortak zaman gcd(random(),random()) = 5234ms; // 10000000 çağrı
İşin garibi, daha hızlı olmadı.
2011.04.03 22:56:59 gcdSpeedTest (EURUSD,M20) Ortak zaman GreatestCommonDivisor(random(),random()) = 7656ms; // 10000000 çağrı
2011.04.03 22:56:51 gcdSpeedTest (EURUSD,M20) Ortak zaman gcd(random(),random()) = 5234ms; // 10000000 çağrı
Farkım daha fazla. Sizinki 3-4 kat daha hızlı, ancak C ++ 'da farkın 2-2,5 kat azalacağını unutmayın, bu yüzden dürüstçe 1,5 kat aştınız.
Farkım daha fazla. Seninki 3-4 kat daha hızlı
ama unutmayın ki C++'da fark 2-2,5 kat azalacaktır, bu yüzden dürüstçe 1,5 kat aştınız.
Ve görelim.
Mql5'teki ön sürüm iken. Birlikte test ediyoruz, hata arıyoruz.
Yapı şeklinde yapılmıştır.
Tüm işlemler iki şekilde gerçekleştirildi - müteakip normalleştirme ve olmadan. Esnek bir tasarıma sahiptir.
Taşma olasılığından şüpheleniyorsanız - normalleştirmeli sürümü kullanın, korkmayın - zamandan tasarruf edersiniz (daha sonra köpük biriktiğinde normalleşebilirsiniz).
Arşivde basit bir test var, ancak daha zor test edilmesi arzu edilir.
ATP en azından kabul edildi - ifadeleri kestiniz, ancak tüm gönderileri kim siler?
konuya göre, Akademik , sözde bir "sayacınız" olması harika, açıklığa kavuşturmak isterim, ancak ticaret sırasında otomatik optimizasyon imkanınız var mı?
Özellikle bu konu için MT5 test cihazının en son sonuçlarını yayınladım (bir sonraki güncellemeden sonra herkes testleri tekrarlayabilecek).
MetaTrader 5 test cihazının yapabileceği şey budur ve hatta tam bir altyapı düzeniyle (raporlar, çizelgeler, sonuçlar, görselleştirme).
Özellikle bu konu için MT5 test cihazının en son sonuçlarını yayınladım (bir sonraki güncellemeden sonra herkes testleri tekrarlayabilecek).
MetaTrader 5 test cihazının yapabileceği şey budur ve hatta tam bir altyapı düzeniyle (raporlar, çizelgeler, sonuçlar, görselleştirme).
7 sembol, tüm işaretler, 2000'den beri, iki parametre (200 * 200 seçenek) - 40.000 geçiş, her sembol için günde yüz sipariş.
Ne kadar sürer?
10 yıl sürer - 356 * 10 * 100 * 7 = 25.000.000 işlem
dakikada yaklaşık 10 kene alıyoruz
ve 10 yıl - 365 * 10 * 1440 * 10 = sembol başına 52.000.000 tik. Ve dürüst olmak gerekirse, her sembolü işaretlerler. Yani, dürüstçe 7 ile çarpmak gerekiyor ve dakikada 10 kene değil. Ve bazen 300.
Ne kadar sürer?