Hangi durumlarda robot kodunun bir kısmını göstergede tutmak mantıklıdır? - sayfa 22

 
Integer :


Bununla da ilgiliydi. Poltergeis ve tavandan damlayan su ile tamamen aynı argüman.

Zor değilse, kaçırdıklarımı tekrarlayın (kopyala-yapıştır yapabilirsiniz). Ve bunun neyle ilgili olduğunu anlamıyorum. Size kodum REAL için uygun değil gibi görünüyorsa. Sebebini belirtmenizi rica ediyorum, böylece sadece özellikle akıllı insanlar için net değil. Ne düşündüğünüzü ifade edebilirsiniz.
 
hrenfx :
Zor değilse, kaçırdıklarımı tekrarlayın (kopyala-yapıştır yapabilirsiniz). Ve bunun neyle ilgili olduğunu anlamıyorum. Size kodum REAL için uygun değil gibi görünüyorsa. Sebebini belirtmenizi rica ediyorum, böylece sadece özellikle akıllı insanlar için net değil. Ne düşündüğünüzü ifade edebilirsiniz.

DeJaVu! 19. sayfanın en başından okumaya başlayabilirsiniz. Mutlak tekrar. Break veya return ifadesini unutmayın veya döngü sayısına önceden karar verin.
 
Okudum, ancak Uzman Danışmanımın REAL için uygun olmadığına neden karar verdiğinizi hala anlamıyorum. "Her şey zaten yazıldı, yeniden okundu" su dökebilir veya özellikle (bu başlıkta birkaç kez aradım) bakış açınızı tartışabilirsiniz. Ve şimdiye kadar, bir nedenden dolayı anlamıyorum bir su.
 
hrenfx :
Okudum, ancak Uzman Danışmanımın REAL için uygun olmadığına neden karar verdiğinizi hala anlamıyorum. "Her şey zaten yazıldı, yeniden okundu" su dökebilir veya özellikle (bu başlıkta birkaç kez aradım) görüşünüzü tartışabilirsiniz. Ve şimdiye kadar, bir nedenden dolayı anlamıyorum bir su.

Bu soru vardı, YAPMAYACAĞIM diye cevapladım! Açıklama da vardı. O halde 19. sayfaya geçelim & while(true)...
 
hrenfx :
Okudum, ancak Uzman Danışmanımın REAL için uygun olmadığına neden karar verdiğinizi hala anlamıyorum. "Her şey zaten yazıldı, yeniden okundu" su dökebilir veya özellikle (bu başlıkta birkaç kez aradım) bakış açınızı tartışabilirsiniz. Ve şimdiye kadar, bir nedenden dolayı anlamıyorum bir su.


Doğru hesaplama için, IndicatorCounted() analogunuzu kullanmanız gerekir. Çubuklar ile fonksiyonumuzun (değişken) değeri arasındaki fark 1'den büyükse, tam bir yeniden hesaplama yapmak gerekir.

Fark 1 ise, önceki çubuğun hesaplanması ve yenisinin hesaplanması. 0 ise, yalnızca mevcut çubuğun yeniden hesaplanması

 
Gösterge hesaplamasını bir Uzman Danışmana aktarırken hala bir sorun olmasına rağmen. Bu, 5 veya 10 veya daha fazla çubuk değerlerine başvurmanız gerekiyorsa geçerlidir. Sorun elbette bazı sapkınlıklarla çözülür. Ama çözülebilir
 
Vinin :


Doğru hesaplama için, IndicatorCounted() analogunuzu kullanmanız gerekir. Çubuklar ile fonksiyonumuzun (değişken) değeri arasındaki fark 1'den büyükse, tam bir yeniden hesaplama yapmak gerekir.

Fark 1 ise, önceki çubuğun hesaplanması ve yenisinin hesaplanması. 0 ise, yalnızca mevcut çubuğun yeniden hesaplanması

Bu kod hakkında sevmediğiniz bir şey var mı?:

 double GetEMA()
{
   static int PrevTime = 0 ;
  
   if (PrevTime == Time[ 0 ])
     return (EMA);

   int i = iBarShift( Symbol (), Period (), PrevTime) - 1 ;  

  PrevTime = Time[ 0 ];    
  
   while (i >= 0 )
  {
    EMA = EMA * Alpha + ( 1 - Alpha) * GetPrice(i);
    
    i--;
  }
  
   return (EMA);
} 
 
hrenfx :

Bu kod hakkında sevmediğiniz bir şey var mı?:


Tabii ki sevmiyorsun. Hatalarla boşuna sayıyor
 
Spesifik olun lütfen.
 
hrenfx :
Spesifik olun lütfen.

Bağlantı koptuğunda EMA değerleri yanlış alınır. En son hesaplanarak alınır. Ama bu doğru değil. Sonuç olarak, işlev hatalı bir şekilde n çubuk üzerinde değil, çok daha fazla sayıda çubuk üzerinde çalışacaktır. Tabii ki, değerlerini kaydetmek için
Neden: