MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1005
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
İşte nasıl çalıştığı.
İşte nasıl çalıştığı.
Belgelerdeki her şeyi okuduğunuzdan emin misiniz? Bunu bile okudular:
Not
İşlev yalnızca dinamik dizilere uygulanabilir. Aynı zamanda, SetIndexBuffer() işlevi tarafından gösterge arabellekleri olarak atanan dinamik dizilerin boyutunu değiştiremeyeceğinizi unutmayın. Gösterge arabellekleri için, tüm yeniden boyutlandırma işlemleri, terminalin yürütme alt sistemi tarafından gerçekleştirilir.
Dizideki toplam öğe sayısı 2147483647'yi aşamaz.
Sık sık bellek ayırırsanız, fiziksel bellek ayırma miktarını azaltmak için bir geri dönüşü belirten üçüncü parametreyi kullanmanız önerilir. ArrayResize işlevine yapılan sonraki tüm çağrılar , belleğin fiziksel olarak yeniden tahsis edilmesine yol açmaz, yalnızca ayrılmış bellek içindeki dizinin ilk boyutunun boyutunu değiştirir. Üçüncü parametrenin yalnızca fiziksel bellek ayırma gerçekleştiğinde kullanılacağını unutmayın, örneğin:
ArrayResize (dizi,1000,1000);
için (int i=1;i<3000;i++)
ArrayResize (dizi,i,1000);
Bu durumda, 3000 yineleme için döngüye girmeden önce, dizi boyutu 1000'e ve ikincisi 2000'e eşit olacak şekilde 2 bellek yeniden tahsisi olacaktır. Üçüncü parametre atlanırsa, 2000 fiziksel yeniden tahsisat bellek oluşacak ve bu programı yavaşlatacaktır.
Bunun neresi net değil???
Belgelerdeki her şeyi okuduğunuzdan emin misiniz? Bunu bile okudular:
Bunun neresi net değil???
Yani bu sadece hiçbir resim, örnek olmadığı ve bu yeniden dağıtımların ne anlama geldiğini nasıl istediğinizi ve ne olduğu açıklanmadıysa geliştiriciler tarafından planlandığı gibi% 100 nasıl kullanılacağını tahmin edin. Burada yazılan 3 satıra bakılırsa, ArrayResize (dizi, 1000, 1000); 2000 elemanlı bir dizi oluşturur. Ama burada net değil. Örneğin bunu ArrayResize (dizi,1,1000) yaparsam; 1000, dizi 1000'e hızlanana kadar boşta kalacaktır.
Veya hız aşırtmadan önceki program bu bölümü basitçe sayacı artırarak kullanacaktır. Genel olarak, net olmadığını söylüyorum ve hepsi bu.Ya da bu bin, işlemciden hızlı bir şekilde bellek çekmek için aptalca yakınlarda, eğer durum buysa, o zaman hepsi aynı ve yedek belleğin de aktarılması gerekecek, o zaman rezerv olmadan çalışmak daha kolaydır. Genel olarak kod yok, bilgi yok, resim yok, nasıl çalıştığı belli değil.
Sabit sürücünün bir tür Sistem sınıfını %100 yüklüyor olması (10k'da) başınıza geldi mi? Aynı şey Alps terminalinde de oluyor... Genellikle terminaller testler sırasında diski yükler, ama burada cidden çok fazla... Uzun değil, 3-5 saniye, ama özellikle
olur, ancak bilgisayarı yeniden başlattıktan sonra
10-ke'de bilgisayarı 10-15 dakika yükledikten sonra, Windows defansı "diski kemirir" ve bilgisayar kullanım istatistikleri toplanır
çözüm - PC uyku moduna giriyor, bilgisayarı yeniden başlatmadan bir aylığına bilgisayarım var, klavyede bilgisayarı kapatmak yerine uyku düğmesine basıyorum - birkaç kez elektrik gitti, PC açıksa Win 10 sorunsuz yüklendi Rüyada
Yani bu sadece hiçbir resim, örnek olmadığı ve bu yeniden dağıtımların ne anlama geldiğini nasıl istediğinizi ve ne olduğu açıklanmadıysa geliştiriciler tarafından planlandığı gibi% 100 nasıl kullanılacağını tahmin edin. Burada yazılan 3 satıra bakılırsa , ArrayResize (dizi, 1000, 1000); 2000 elemanlı bir dizi oluşturur. Ama burada net değil. Örneğin bunu ArrayResize (dizi,1,1000) yaparsam; 1000, dizi 1000'e hızlanana kadar boşta kalacaktır.
Veya hız aşırtmadan önceki program bu bölümü basitçe sayacı artırarak kullanacaktır. Genel olarak, net olmadığını söylüyorum ve hepsi bu.Ya da bu bin, işlemciden hızlı bir şekilde bellek çekmek için aptalca yakınlarda, eğer durum buysa, o zaman hepsi aynı ve yedek belleğin de aktarılması gerekecek, o zaman rezerv olmadan çalışmak daha kolaydır. Genel olarak kod yok, bilgi yok, resim yok, nasıl çalıştığı belli değil.
Sadece üç satır kod değil, aynı zamanda her şeyin oldukça net bir şekilde açıklandığı metni de okumak gerekir.
Ayrılmış bellek ve dizi boyutu farklı kavramlardır. ArrayResize (dizi,1000,1000) dizisinin boyutunu geçersiz kılarsanız; o zaman dizinin son elemanı 999 olacak ve artık olmayacak. Ancak dizinin boyutunu artırmaya ihtiyaç varsa, bellek yeniden tahsis edilmeyecektir. Bir dizide o kadar fazla boşluk payına ihtiyacınız yoksa, daha azını yapın veya hiç rezerve etmeyin.
Tünaydın!
Functions içine bir parametreyi dizi olarak koymak istiyorum. Nasıl doğru yapacağımı bulamıyorum. Örneği düzeltir misin?
Tünaydın!
Fonksiyonlarda bir parametreyi dizi olarak koymak istiyorum. Nasıl doğru yapacağımı bulamıyorum. Örneği düzeltir misin?
Teşekkür ederim!