Hatalar, hatalar, sorular - sayfa 2360

 
Aliaksandr Hryshyn :

Geliştiriciler için hata.

Komut dosyası derlenmiyor, nedenini belirleyin))). Lütfen ekteki dosyayı kullanın.


Aynı dosya:


Her şey derlenir, satırı kaldırın Hata

 
Vladimir Pastushak :

Her şey derlenir, satırı kaldırın Hata

düzenleyicide satır uzunluğu sınırı

 
Fast528 :

düzenleyicide satır uzunluğu sınırı

Dize 4095 karakterden uzun olduğunda görüntülenmez.

 
fxsaber :

Lütfen aptala açıkla, çünkü burada neler oluyor?

Diyelim ki sadece tek sayılarla işlem yapabiliriz ve bir aritmetik işlemin sonucu çift olursa, en üste en yakın tek sayıya eşit olduğu varsayılır, o zaman:

( 43 -   5 ) - 7   = ( 38 ) 39 - 7   = ( 32 ) 33
 43 - ( 5   + 7 ) = 43 - ( 12 ) 13 = ( 30 ) 31 

33 != 31

 
fxsaber :
Tutarsızlıkları aramak için birkaç saat harcadım. Bunu buldum


Double'nin özelliklerini biliyorum, ancak toplama sırasını değiştirirseniz (nispeten çok farklı sayılar hariç), sonuç farklı olacak şekilde değil! Lütfen aptala açıkla, çünkü burada neler oluyor?

Kaynakta sadece en alttaki iki satıra bakmanız gerekiyor.

Sizin de söylemekten hoşlanacağınız gibi, belirtilen doğruluk sınırında iki katı aynı basamağa yuvarlamanın doğruluğuna dayanan algoritma bir "eğri" dir. Nedeni açık. çünkü çift gösterimde farklı yollarla elde edilen aynı değer (ters çarpanlar, parantezler vb.) farklı yönlerden istenilene mümkün olduğunca yakın farklı sayılara dönüşebilmektedir. Bir sonraki basamağa yuvarlayın ve ardından son rakama nasıl devam edeceğinize kendiniz karar verin ...

 
fxsaber :

Boyut+nokta yaptığınızda, sonraki yuvarlama/bırakma ile mantisi taşarsınız (fpu'ya bağlı olarak.

   float avg = 0.7 ;
   float size = 0.3 ;
   float point = 0.4 ;

   float r1 = avg - size - point;
   float r2 = avg - (size + point);
   cout << "r1 == r2 ? " << (r1 == r2) << '\n' ;

   cout << "-----avg-----\n" ;  prfl(avg);
   cout << "-----size-----\n" ; prfl(size);
   cout << "-----point-----\n" ; prfl(point);
   cout << "-----avg - size------\n" ; prfl(avg - size);
   cout << "-----(avg - size) - point------\n" ; prfl((avg - size) - point);
   cout << "-----size + point------\n" ; prfl(size + point);
   cout << "-----avg - (size + point)------\n" ; prfl(avg - (size + point));
r1 == r2 ? 0
-----avg-----
implicit_1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
exponenta = - 1
sign = 0
-----size-----
implicit_1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0
exponenta = - 2
sign = 0
-----point-----
implicit_1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1
exponenta = - 2
sign = 0
-----avg - size------
implicit_1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
exponenta = - 2
sign = 0
-----(avg - size) - point------
implicit_1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
exponenta = - 25
sign = 1
-----size + point------
implicit_1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0
exponenta = - 1
sign = 0
-----avg - (size + point)------
implicit_1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
exponenta = - 24
sign = 1

Genel olarak, iki çiftin sonucu ancak aynı şekilde elde edildiğinde aynı olacaktır (tamsayılarla uğraşırken durumları saymazsak).

 
A100 :
İlya Malev :
pavlick_ :

Cevaplar için teşekkürler, her biri takdir edildi. FİYAT'a aynı noktaları farklı bir sırayla eklemenin farklı FİYATLAR oluşturduğuyla ilk kez karşılaştım (not ettim). Dolayısıyla Test Cihazında farklı sonuçlar elde edilmektedir.

Çiftleri tartışırken, onları ne zaman ve neden birbirleriyle karşılaştırabileceğiniz açıktı. Ancak fiyat artı pip ve çıkışta farklı bir sonuç - ilk kez TS'nin sonucunu bu kadar net bir şekilde etkiledi.


Bu belirsizlikleri önlemek için hesaplanan fiyata yarım puandan daha az bir eksi eklemeniz ve ardından normalleştirmeniz gerektiği ortaya çıkıyor.

 
fxsaber :

Bu belirsizlikleri önlemek için hesaplanan fiyata yarım puandan daha az bir eksi eklemeniz ve ardından normalleştirmeniz gerektiği ortaya çıkıyor.

Ayrıca, bir TS'nin sonuçları bu kadar önemsiz şeylerden çok değişiyorsa, "teşekkür ederim" demeniz ve böyle bir TS'yi çöp kutusuna atmanız gerektiğine dair bir görüş var.

 
fxsaber :

Cevaplar için teşekkürler, her biri takdir edildi. FİYAT'a aynı noktaları farklı bir sırayla eklemenin farklı FİYATLAR oluşturduğuyla ilk kez karşılaştım (not ettim). Dolayısıyla Test Cihazında farklı sonuçlar elde edilmektedir.

Çiftleri tartışırken, onları ne zaman ve neden birbirleriyle karşılaştırabileceğiniz açıktı. Ancak fiyat artı pip ve çıkışta farklı bir sonuç - ilk kez TS'nin sonucunu bu kadar net bir şekilde etkiledi.


Bu belirsizlikleri önlemek için hesaplanan fiyata yarım puandan daha az bir eksi eklemeniz ve ardından normalleştirmeniz gerektiği ortaya çıkıyor.

Belki özelliklerde gösterilmelidir?

Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.02.24
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 
Ilya Malev :

Ayrıca, bir TS'nin sonuçları bu kadar önemsiz şeylerden çok değişiyorsa, "teşekkür ederim" demeniz ve böyle bir TS'yi çöp kutusuna atmanız gerektiğine dair bir görüş var.

Çok değişmezler, sadece değişirler. Bu, bir soruşturma başlatmak için yeterlidir.