Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 820

 

Malzemeyi inceliyoruz. İki çam arasında dolanmış..

Bu var:

 int OnCalculate ( const int rates_total,       // размер массива price[] 
                 const int prev_calculated,   // обработано баров на предыдущем вызове 
                 const int begin,             // откуда начинаются значимые данные 
                 const double & price[]       // массив для расчета 

Başlangıçla ilgili sorular:

1. Bu nedir? Değeri = 0. Bir indeks mi?

2. Özünde nedir? Anlamlı veri nedir? Ve başka neler var?

3. Bu değer neye göre hesaplanır? Ve olası seçenekler nelerdir? Örneğin, anlamlı veriler dizin 0'da değil, dizin 5'te başlayabilir?

4. Bu parametre neden OnCalculate'e eklendi?

Yardımda bunun nerede yazdığını kaçırdıysam, lütfen burnunuzu dürtün.

 

Hata ayıklama penceresindeki bu çok değerli değerlerden nasıl kurtulacağımı söyleyen var mı (değişkenler normalleştirildi)?


 
Андрей :

Birisi bana hata ayıklama penceresindeki bu çok değerli değerlerden nasıl kurtulacağımı söyleyebilir mi (değişkenler normalleştirilir)?


Bir dize değişkeni ekleyin , onu DoubleToString() olarak ayarlayın ve hata ayıklama penceresinde izleyin.

Tüm bunları #ifdef _DEBUG makrosuna koyabilirsiniz.

 
Alexey Viktorov :

Bir dize değişkeni ekleyin , onu DoubleToString() olarak ayarlayın ve hata ayıklama penceresinde izleyin.

Tüm bunları #ifdef _DEBUG makrosuna koyabilirsiniz.

Teşekkür ederim, ancak soru ortaya çıkıyor - bunlar çok değerli değerler, gerçekliğe mi, yoksa "ışık oyununa" mı karşılık geliyorlar.

Mesele güzel görünmek değil, daha sonraki hesaplamalar için hangi değerlerin kullanıldığı.

 
Андрей :

Teşekkür ederim, ancak soru ortaya çıkıyor - bunlar çok değerli değerler, gerçekliğe mi, yoksa "ışık oyununa" mı karşılık geliyorlar.

Mesele güzel görünmek değil, daha sonraki hesaplamalar için hangi değerlerin kullanıldığı.

Bunlar çok değerli karşılık gelir. Ve onlar, piçler, bazen özellikle karşılaştırma açısından resmi bozarlar.
Emin olmak için, belirli bir kesinlikle NormalizeDouble() kullanılması önerilir.
 
Ve kimse Begin hakkında bunu söyleyemedi. Görüyorsun, bu tamamen yabancı bir şey ..
 
User_mt5 :
Bunlar çok değerli karşılık gelir. Ve onlar, piçler, bazen özellikle karşılaştırma açısından resmi bozarlar.
Emin olmak için, verilen hassasiyetle NormalizeDouble() kullanılması önerilir.
Ve böylece bu "piçler" de normalleştirilmiş değerlerden doğar. Bu çorbada bir şeyler eksik gibi görünüyor (MT5).
 
Андрей :
Ve böylece bu "piçler" de normalleştirilmiş değerlerden doğar. Bu çorbada bir şeyler eksik gibi görünüyor (MT5).

Şimdiye kadar saf bir şekilde normalleşmenin nihai gerçek olduğuna inanıyordum.
Sorunun nerede olduğunu kod parçacığını gösterebilir misiniz? Belki de nedeni başka bir şeydir.

 
User_mt5 :

Şimdiye kadar saf bir şekilde normalleşmenin nihai gerçek olduğuna inanıyordum.
Sorunun nerede olduğunu kod parçacığını gösterebilir misiniz? Belki de nedeni başka bir şeydir.

İşte, ancak "etkiyi" görmek için yeterli olan bir parça.

İşte sonuç:

Normalleşme ile ne, ne olmadan - aynı.

 

Андрей :

Normalleşme ile ne, ne olmadan - aynı.

Evet.

Genel olarak, karşılaştırma ifadelerinde ("anında" gibi) normalleştirme çalışır.
Anladığım kadarıyla basit bir hesaplama sırasında sorunlar çıkıyor.
Ancak sayı normalleştirilmişse, normalleştirilmiş sayı saklanmalıdır.

Ama ne yazık ki.

Geliştiricilerin bu konuda ne diyeceğini merak ediyorum.