Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 131

 
fxsaber :

Hafızayı boşaltmak tek sebep.

Nasıl bir hafıza? Fazlalık ise, daha önce de belirtildiği gibi bunun için Reserve_size=-1 yeterlidir. Sadece orada kişi açıkça hız ölçümleriyle bir şeyler karıştırdı (yanlış test koşulları, sanırım)

 

Gösterge özyineleme diyeceğim ilginç bir özellik fark ettim.

Göstergeyi kendisinden hesaplayabildiğiniz zaman:

handle= iMA ( _Symbol , _Period ,per1, 0 ,MaMethod,PriceBase);  
for ( int i= 0 ;i<N;i++) handle = iMA ( _Symbol , _Period ,per2, 0 ,MaMethod, handle );

Belki gösterge hayranları işe yarar ...

Birdenbire bu konu zaten olmuşsa, tekrarlama öğrenmenin anasıdır.

Bu özelliği göstermek için özellikle KB'de bir gösterge yazdım.

 
Nikolai Semko :

Gösterge özyineleme diyeceğim ilginç bir özellik fark ettim.

Göstergeyi kendisinden hesaplayabildiğiniz zaman:

Belki gösterge hayranları işe yarar ...

Birdenbire bu konu zaten olmuşsa, tekrarlama öğrenmenin anasıdır.

Bu özelliği göstermek için özellikle KB'de bir gösterge yazdım.

Evet... Ve bunun bir tür özellik olduğunu düşünmedim. İhtiyacım olduğunda şöyle yazdım, tutamaçlar için farklı değişken isimleri yaptım. Herkes gerektiğinde kullanır sanıyordum...

 
Alexey Viktorov :

Evet... Ve bunun bir tür özellik olduğunu düşünmedim. İhtiyacım olduğunda şöyle yazdım, tutamaçlar için farklı değişken isimleri yaptım. Herkes gerektiğinde kullanır sanıyordum...

Ve onu bir döngüye sokmayı düşündüm. En az 100 kez bir gösterge çarpılabilir, ancak yalnızca bir tutamaç vardır.

 
Nikolai Semko :

Ve onu bir döngüye sokmayı düşündüm. En az 100 kez bir gösterge çarpılabilir, ancak yalnızca bir tutamaç vardır.

Bu tek bir tanıtıcı değil, ancak yalnızca bir değişkeniniz var. Önceki tutamaçların değerlerini kaybettiniz. Ve onları nasıl kapatabilirim?

 
Alexey Navoykov :

Bu tek bir tanıtıcı değil, ancak yalnızca bir değişkeniniz var. Önceki tutamaçların değerlerini kaybettiniz. Ve onları nasıl kapatabilirim?

Evet...

Hafıza terbiyeli bir şekilde yiyor. Yalnızca TF'yi değiştirerek artık ihtiyaç duyulmayan dahili gösterge arabelleklerini boşaltmak gerçekten mümkün mü? ))

Ancak ArrayFree burada vidalanamaz.

 
Nikolai Semko : Artık ihtiyaç duyulmayan dahili gösterge arabelleklerini yalnızca TF'yi değiştirerek serbest bırakmak mümkün mü? ))

Ancak ArrayFree burada vidalanamaz.

TF'yi değiştirmek, göstergenin yeni bir kopyasını oluşturur ve eskisini yok eder

 
Igor Makanu :

TF'yi değiştirmek, göstergenin yeni bir kopyasını oluşturur ve eskisini yok eder

iyi ki belli.

Göstergemin maksimum parametrelerine göre yükleme sırasında bellek kullanımına baktım (sağa doğru kaydırıcılar). 50 MB'den bellek 400 MB'a kadar arttı. Ancak göstergeyi minimuma döndürdüğümde (sola kaydırıcılar), bellek 400 Mb'de kaldı.

Bu, hesaplanan tüm 100 göstergenin artık kullanılmamasına rağmen bellekte asılı kaldığı anlamına gelir.
TF'yi değiştirmek onu temizler.

 
Nikolai Semko :

iyi ki belli.

Göstergemin maksimum parametrelerine göre yükleme sırasında bellek kullanımına baktım (sağa doğru kaydırıcılar). 50 MB'den bellek 400 MB'a kadar arttı. Ancak göstergeyi minimuma döndürdüğümde (sola kaydırıcılar), bellek 400 Mb'de kaldı.

Bu, hesaplanan tüm 100 göstergenin artık kullanılmamasına rağmen bellekte asılı kaldığı anlamına gelir.
TF'yi değiştirmek onu temizler.

gösterge hesaplamasını bir sınıfta kaydır - arabellekleri sınıf alanlarına bağla

 
Igor Makanu :

gösterge hesaplamasını bir sınıfta kaydır - arabellekleri sınıf alanlarına bağla

Evet, denemek zorundasın. Teşekkür ederim.