Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Karşılaştırma içinse, kendi işlevinizi kolayca oluşturabilirsiniz:
Bu sadece bir düşünce.
Karşılaştırma içinse, kendi işlevinizi kolayca oluşturabilirsiniz:
Bu sadece bir düşünce.
Bu iyi bir fikir, bunun için teşekkür ederim :-)
"Puan" veya "Puan/2.0" kullanımı çok iyi bir fark değeri değil, IMO. NormalizeDouble tarafından sunulan yuvarlama hatası (bugün tarafından yakıldı), kesinlikle 8 basamaktan çok daha küçük, daha büyük olasılıkla 15 basamak.
Önceki ipuçları göz önüne alındığında ve bazı değişiklikler yaptı ve henüz tam olarak test edilmemiş olmasına rağmen, iyi çalışıyor gibi görünen ("fark" 15 ondalık basamağa kadar kullanılsa bile) aşağıdaki rutini bir araya getirdi:
Karşılaştırabilen, ancak aynı zamanda A ve/veya B'yi dahili olarak normalleştirebilen ve ayrıca (AB veya BA'nın) karşılaştırma farkını "rakamlara" dayalı daha büyük bir sayıya gevşetebilecek bir başka olası rutin daha. Yukarıdaki basit "AvsB" ile karşılaştırıldığında bu rutinin gerekli olduğundan şüpheliyim, ancak istediğiniz gibi kullanımınız için sunulmaktadır:
"Puan" veya "Puan/2.0" kullanımı çok iyi bir fark değeri değil, IMO. NormalizeDouble tarafından sunulan yuvarlama hatası (bugün tarafından yakıldı), kesinlikle 8 basamaktan çok daha küçük, daha büyük olasılıkla 15 basamak.
Yuvarlama hatası sayılamayacak en büyük değeri veya eşdeğeri, fiyat değişikliği sayılamayacak en küçük değeri istiyorsunuz. Fiyatlar yalnızca noktanın katları kadar değişebileceğinden, nokta/2 tam da budur.
Aracının çifte değeri 1.2345750000000000 ile 1.2345849999999999999 arasında olabilir ve yine de aynı 1.23458 fiyat olarak kabul edilir.
Bunu kullanmış olsaydın, problemin olmazdı:
if (a > b)
if (a >= b)
if (a != b)
normalizedouble kullanmaktan kaçınmalı mıyız?
ya da olabilir.. MathRound işlevini kullanabileceğimizi düşündüm.
eski . çift x= ( MathRound ( 1.37883 * 100000)) / 100000 ;
böylece fonksiyon yapabiliriz
*Kravatını iki parmağıyla yerine sallar* Sadece double olan her yerde değil, double değeri içeren hesaplamalarda sadece double'ı normalleştirmeyi kullanın.
normalizedouble kullanmaktan kaçınmalı mıyız?
ya da olabilir.. MathRound işlevini kullanabileceğimizi düşündüm.
eski . çift x= ( MathRound ( 1.37883 * 100000)) / 100000 ;
Hala bir çift ve hala fiyat olasılığı var != fiyat
Double'ları karşılaştırmak amacıyla double'ları int'lere dönüştüren bu çözüme ulaştım. . .
Böylece . . .
asla doğru olmayacak.