Çaydanlıktan gelen sorular - sayfa 52

 

Ve nereye gitmesi gerekiyor? ...sadece bilmiyorum..

genel olarak, EMA'ya uçar ve iCustom aracılığıyla hesaplama 10 kat daha uzun sürer ..

 

Hiçbir durumda bunu yapmamalısınız:

 void OnTick ()
  {
   //--- безусловно создаем индикатор
   ma_handle = iMA ( _Symbol , 0 , MA, 0 , MODE_EMA , PRICE_CLOSE );
  }

Gerçekte biz “ yeni bir gösterge oluşturuyoruz” derken, “göstergeyi biz alıyoruz ” sözleriyle kendinizi kandırmayın.

Ek olarak, bir kol sızıntısı var.

 
Karlson :

Ve nereye gitmesi gerekiyor? ...sadece bilmiyorum..

genel olarak, EMA'ya uçar ve iCustom aracılığıyla hesaplama 10 kat daha uzun sürer ..

Bir grup eskimiş gösterge tutamacı ile ne yapmalı? Bilmiyorum.. Ben öyle çalışmadım. Her tik ile onlardan daha fazlası var.

Böyle bir strateji uygulamak zorunda olsaydım , iCustom() aracılığıyla hazır bir özel gösterge çağırmayı reddeder ve bunun yerine göstergenin gövdesini Expert Advisor'ın OnTick()'ine yerleştirirdim. Ve veri hesaplamaları uzmanın kendisi tarafından yapılacaktır.

..Gösterge .ex5 formatındaysa ve kodu eksikse sorun ortaya çıkar.

 

Burada şunu hatırladım: "Bilgisayarın belleğini artık kullanılmayan bir göstergeden kurtarmak için, bu göstergenin tutamacının geçtiği IndicatorRelease() işlevi kullanılır" (Bunu bir Expert Advisor'ı sıfırlarken kullanıyorum).

Ama yine de: her tikte yeni bir tutamaç zordur.

 

Kulpların birikmesi ile ilgili olarak, soruyu inceleyeceğim ..

Bu yüzden hindiyi ekspertize koymayı planlıyorum.Teşekkürler.

 
Karlson :

Kulpların birikmesi ile ilgili olarak, soruyu inceleyeceğim ..

Bu yüzden hindiyi ekspertize koymayı planlıyorum.Teşekkürler.

Göstergeyi olduğu gibi bırakabilir ve bir zamanlayıcıda veya bir olayda bunun bir kopyasını oluşturabilirsiniz.
 
Interesting :
Göstergeyi olduğu gibi bırakabilir ve bir zamanlayıcıda veya bir olayda bunun bir kopyasını oluşturabilirsiniz.

Göstergenin bir kopyasının nerede oluşturulacağı ne fark eder: OnTick(), OnTimer() veya OnChartEvent() içinde? Her durumda, her olayla birlikte "göstergenin kopyaları" oluşturulacak ve zaten büyük yığını ağırlaştıracaktır.

Ya da ben mantığınızı yanlış anladım.

 
Yedelkin :

Göstergenin bir kopyasının nerede oluşturulacağı ne fark eder: OnTick(), OnTimer() veya OnChartEvent()? Her durumda, her olayla birlikte "göstergenin kopyaları" oluşturulacak ve zaten büyük yığını ağırlaştıracaktır.

Ya da ben mantığınızı yanlış anladım.

Burada böyle bir hile var - Göstergedeki parametreleri değiştirmeniz gerekmiyorsa (hindi'nin yeni bir kopyasını oluşturmaya gerek yok), o zaman göstergeyi başlatma bloğunda bir kez oluşturmak daha mantıklıdır.

Ancak çalışma sırasında göstergelerin parametrelerinin otomatik olarak değiştirilmesi gerekiyorsa, bunu mümkün olduğunca verimli bir şekilde yapmanız gerekecektir.

Her onay işareti üzerinde yeni bir kopya oluşturmak en verimsiz yoldur, bir zamanlayıcıda işlem yapmak daha verimli olacaktır (her zamanlayıcı işleminde olması gerekmez).

En etkili yol, belirli bir olay (birkaç olay) gerçekleştiğinde türkiye'nin yeni bir kopyasının oluşturulması olacaktır.

not

Bu durumda, hindiyi hesaplamak için harcanan zamanı hesaba katmanız ve "ekstra" kopyalardan kurtulduğunuzdan emin olmanız gerekir.

 

Böyle bir fikir değerlendirilmeli.. Yeni araba sayma benim için günde veya haftada bir yapılabilir.. Bir zamanlayıcı ayarladım:

 bool    EventSetTimer (
   int   seconds       // количество секунд
   );

Gerçek şu ki, bir gün veya bir haftadaki saniye sayısını karıştırıyor...))) Veya yeni günlük barı kullanabilirsiniz..

Daha sonra OnTimer() fonksiyonunda ise ilk önce bir önceki hindiyi IndicatorRelease () yardımıyla silerim ardından değiştirilen periyot ile yeni bir tick oluşturuyorum.

 void OnTimer () 
{

IndicatorRelease ( ma_handle );

ma_handle= iMA ( Symbol (), 0 , newMA , 0 ,MA_EMA, PRICE_CLOSE );

}

Genel olarak böyle bir şey..

 
Renat :

Hiçbir durumda bunu yapmamalısınız:

Gerçekte biz “ yeni bir gösterge oluşturuyoruz” derken, “göstergeyi biz alıyoruz ” sözleriyle kendinizi kandırmayın.

Ek olarak, bir kol sızıntısı var.

MQL5'in şafağında, bunun birçok kopyası kırıldı, otomatik ticaret geliştirmenin önemli bir bölümünü kestiniz, sonuç olarak insanlar süper optimize edilmiş OnCalculate() 'inizi bir kukla ile bastırıyor ve hesaplamaları olaylara koyuyor. Biraz yavaş ama yine de her dinamik parametre için kendi tanıtıcınızı oluşturmaktan daha hızlı.