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
Bir zamanlar aşağıdan ve yukarıdan yuvarlama işlevleri yaptım
Belki biri yardım eder
Bir zamanlar aşağıdan ve yukarıdan yuvarlama işlevleri yaptım
Belki biri yardım eder
0,999999999999999999 sonucunu almaya çalışın
X = 0,999999999999999999
10*X = 10*0.9999999999999999999
10*XX = 10*0.999999999999999999-0.999999999999999999
9*X = 9*0.9999999999999999999
9*X = 9 elde ederiz veya X 1 (bir) olur
v1 = (1/3) = 0.33333333 | v2 = 3*(1/3) = 1.00000000
veya 0,999999999999999999 = 1,0
v1 (1.00000000) >= 1.0
Yardımcı konu için herkese teşekkürler!
Kendim için, NormalizeDouble aracılığıyla 1 basamak daha yuvarlama çözümünü seçtim ve ardından son basamağı kestim. Şimdiye kadar mükemmel uyuyor.
Ve yine yuvarlama hakkında ......
duruma göre söyleyin lütfen (domates atmayın ben hümanistim),
bu değişken var:
double delta=NormalizeDouble(new_lot-sum_lots,Lots_Digits);
if(delta>0) delta-=OrderLots();
if(delta<0) delta+=OrderLots();
teorik olarak delta başlangıçta normalleştirilir,
OrderLots muhtemelen normalleştirilmiş çiftleri döndürmelidir,
ama bir şekilde bazen nadir durumlarda 2.775557561562891e-17 gibi sayılar alıyorum
yani neredeyse sıfır ama sıfır değil ......
İlk soru, bu normal mi?
ikinci soru - anladığım kadarıyla, ikinci normalleştirme kuyrukların görünmemesi için benim için yeterli olacak mı?
üçüncü soru (hâlâ anlamadığım bir önsezi var ama yine de soracağım):
Normalleştirilmiş iki sayı eklemek, normalleştirilmemiş verebilir mi?
Not: Bunu tekrar gündeme getirdiğim için özür dilerim, ancak tüm bunları tekrar okuyacak gücüm yok
Ve yine yuvarlama hakkında ......
duruma göre söyleyin lütfen (domates atmayın ben hümanistim),
bu değişken var:
double delta=NormalizeDouble(new_lot-sum_lots,Lots_Digits);
if(delta>0) delta-=OrderLots();
if(delta<0) delta+=OrderLots();
teorik olarak delta başlangıçta normalleştirilir,
OrderLots muhtemelen normalleştirilmiş çiftleri döndürmelidir,
ama bir şekilde bazen nadir durumlarda 2.775557561562891e-17 gibi sayılar alıyorum
yani neredeyse sıfır ama sıfır değil ......
İlk soru, bu normal mi?
ikinci soru - anladığım kadarıyla, ikinci normalleştirme kuyrukların görünmemesi için benim için yeterli olacak mı?
üçüncü soru (hâlâ anlamadığım bir önsezi var ama yine de soracağım):
Normalleştirilmiş iki sayı eklemek, normalleştirilmemiş verebilir mi?
Not: Bunu tekrar gündeme getirdiğim için özür dilerim, ancak tüm bunları tekrar okuyacak gücüm yok
Not: Bunu tekrar gündeme getirdiğim için özür dilerim, ancak tüm bunları tekrar okuyacak gücüm yok
Farklı örneklerle kendiniz kontrol etmenizde fayda var, bu bir anlayış sağlayacaktır.
Yanlış yaptığım tek şey:
ve bu yüzden
çiftler için. Bunun gerçekten önemli olup olmadığını bilmiyorum, ancak sürümüme göre hiç bir hatayla karşılaşmadım (sadece aynı tür değişkenleri karşılaştırmaya çalışıyorum).
Bunun gerçekten önemli olup olmadığını bilmiyorum, ancak sürümüme göre hiç bir hatayla karşılaşmadım (yalnızca aynı tür değişkenleri karşılaştırmaya çalışıyorum).