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
Bravo! Birkaç hatayı düzelttikten sonra ArrayCopy kullanmadan bile beni kaidemden attınız. Şah Mat. :))
for (;;)
üzerinde
Neyse aradan çıkış
PS İlgi uğruna, tüm dizi üzerinde doğrudan kopyalamayı çalıştırdım.Değiştirmeye değer olabilir
üzerinde
Neyse aradan çıkış
Şundan daha yavaş çalışır:
Bu yarışmaya kuralsız katılırsak, "lider" kodunu (şu anda Kuznetsov'dur) kopyalarız ve yukarıda açıklanan sistem davranışına göre değiştiririz.
İlk 740 ms'lik yürütme süresinden yaklaşık 20 ms'lik sabit bir kazanç elde ediyoruz:
Bu arada orjinal dizi dizi gibi olursa sonuçların nasıl değişeceği merak ediliyor. ArraySetAsSeries (dizi,doğru)
Bu yarışmaya kuralsız katılırsak, "lider" kodunu (şu anda Kuznetsov'dur) kopyalarız ve yukarıda açıklanan sistem davranışına göre değiştiririz.
İlk 740 ms'lik yürütme süresinden yaklaşık 20 ms'lik sabit bir kazanç elde ediyoruz:
Eklemeye değer. Dizi elemanlarının sırası önemli değilse. Evet, harika bir seçenek. Tutarlılık önemliyse, başka bir şeye ihtiyaç vardır.
Böyle bir içki gittiğine göre, işte benim versiyonum:
Sonuçlar:
Z.s. Prensip olarak, hız sınırına ulaşıldı. Ayrıca, yalnızca for döngüsüyle mikro optimizasyonlar ve şamanizm:
Bence Nikolay'ın sonucu, bu tür mikro optimizasyonların ustaca kullanılmasıdır.
1,2,3,6,9,5,6,3,25,6,8,7,4 türünde bir veri kümesi içeren bir dizi var, örneğin 3'ün değerleri olmalıdır silindi ve çıktı 3 ve boş boşluklar olmadan aynı dizi olacak. ..
Bir dizi önemsiz değeri temizlemenin en hızlı yolunu arıyorum ...
aklıma bir örnek geliyor
Daha ucuz ve daha hızlı bir yolu var mı?
Vladimir, bu neden gerekli?
Anladığım kadarıyla, bu gösterge tamponu ile yapılmalıdır. Ama o zaman boş ve (veya) "ekstra" değerleri bir önceki değerle veya örneğin uç değerlerin aritmetik ortalaması ile değiştirmek daha mantıklı değil mi? Daha sonra çok daha hızlı gerçekleştirilecek ve dizi boyutu aynı kalacaktır.
Vladimir, bu neden gerekli?
Anladığım kadarıyla, bu gösterge tamponu ile yapılmalıdır. Ama o zaman boş ve (veya) "ekstra" değerleri bir önceki değerle veya örneğin uç değerlerin aritmetik ortalaması ile değiştirmek daha mantıklı değil mi? Daha sonra çok daha hızlı gerçekleştirilecek ve dizi boyutu aynı kalacaktır.
Vladimir, bu neden gerekli?
Anladığım kadarıyla, bu gösterge tamponu ile yapılmalıdır. Ama o zaman boş ve (veya) "ekstra" değerleri bir önceki değerle veya örneğin uç değerlerin aritmetik ortalaması ile değiştirmek daha mantıklı değil mi? Daha sonra çok daha hızlı gerçekleştirilecek ve dizi boyutu aynı kalacaktır.
Birden fazla Uzman Danışmanın mql4'te çok sayıda açık pozisyon / emir ile çalışması sağlandığında, yineleme yapmak yerine biletlerle bir dizi tutmak ve siparişin kapanıp kapanmadığını kontrol etmek bence daha kolay. sembolü ve sihri kontrol ederek hepsi açık. Bu nedenle, sipariş kapatılırsa, diziden "silinmesi" gerekir. Bu gibi durumlarda, diziyi "kendisine" kopyalayıp boyutu birer birer küçültmeyi kullandım. Hangi Vasiliy Sokolov tarafından önerildi, bunun için çok teşekkürler, bunun en zor seçenek olmadığını bileceğim, çünkü hızı hiç düşünmedim. Görevin neden birkaç eşit öğeyi kaldırmak için ayarlandığı hala soru...
ps Ben yazarken, cevap zaten orada. Sorunun aynı olmadığı ortaya çıktı ...))))))Birden fazla Uzman Danışmanın mql4'te çok sayıda açık pozisyon / emir ile çalışması sağlandığında, yineleme yapmak yerine biletlerle bir dizi tutmak ve siparişin kapanıp kapanmadığını kontrol etmek bence daha kolay. sembolü ve sihri kontrol ederek tüm açık olanları. Bu nedenle, sipariş kapatılırsa, diziden "silinmesi" gerekir. Bu gibi durumlarda, diziyi "kendisine" kopyalayıp boyutu birer birer küçültmeyi kullandım. Hangi Vasiliy Sokolov tarafından önerildi, bunun için çok teşekkürler, bunun en zor seçenek olmadığını bileceğim, çünkü hızı hiç düşünmedim. Görevin neden birkaç eşit öğeyi kaldırmak için ayarlandığı hala soru...
ps Ben yazarken, cevap zaten orada. Sorunun aynı olmadığı ortaya çıktı ...))))))sonra neredeyse anladım.
bir dizi sipariş varsa, sıra önemli değildir, bu nedenle Kuznetsov'un varyantını "delikleri" dizinin üst kısmındaki değerlerle doldurarak kullanmak, geri kalanını hareket ettirmemek için daha uygundur . dizi öğeleri . Yani tabii ki daha hızlı.