NormalizeDouble kullanarak MT4'te sayıları yuvarlama - sayfa 15

 
pavlick_ :
Ondalık olarak 1/3 gibi bazı sayılar yalnızca sonsuz bir kesir olarak gösterilebilir. Ancak 1/3, üçüncül sistemde == 0.1 olduğu sonsuz bir kesir değildir. Onlar. farklı sayı sistemlerinin kendi sonsuz kesirleri vardır. Bu nedenle, ondalık olarak sonsuz olmayan bir kesir ikili olarak böyle olabilir. Örneğin: 0.1, 0.2, 0.3, 0.4, ... tam bir ikili gösterime sahip değildir. NormalizeDouble'ı en az on kez arayın , ya 0.1999999999..1 ya da 0.20000...1 olacaktır. Haber mi bilmiyorum.

Doğruyu konuş! Açıklığa kavuşturmak için, ND temsil için değil, SADECE karşılaştırma için gereklidir. Ve uzun süredir modası geçmiş.

 
pavlick_ :
Ondalık olarak 1/3 gibi bazı sayılar yalnızca sonsuz bir kesir olarak gösterilebilir. Ancak 1/3, == 0.1 olduğu üçüncül sistemde sonsuz bir kesir değildir. Onlar. farklı sayı sistemlerinin kendi sonsuz kesirleri vardır. Bu nedenle, ondalık olarak sonsuz olmayan bir kesir ikili olarak böyle olabilir. Örneğin: 0.1, 0.2, 0.3, 0.4, ... tam bir ikili gösterime sahip değildir. NormalizeDouble'ı en az on kez arayın , ya 0.1999999999..1 ya da 0.20000...1 olacaktır. Haber mi bilmiyorum.

Bunu hatırlıyorum ama bu durumda 0 + 0 var ama 0 değil çıkıyor

 
transcendreamer :

Bunu hatırlıyorum ama bu durumda 0 + 0 var ama 0 değil çıkıyor

Hangi durumda? Bunu ne zaman yaptığınıza dair bir örnek verin.
 
fxsaber :

Doğruyu konuş! Açıklığa kavuşturmak için, ND temsil için değil, SADECE karşılaştırma için gereklidir. Ve uzun süredir modası geçmiş.

NormalizeDouble , yalnızca bekleyen emirler ve stoplar verirken fiyatı normalleştirmek için gereklidir. Ve başka hiçbir şey için.

Bu, belgelerde açıkça belirtilmiştir.

StopLoss, TakeProfit'in hesaplanan değerleri ve bekleyen emirlerin açılış fiyatları, değeri Digits() işleviyle elde edilebilecek bir doğrulukla normalleştirilmelidir.

 
Sergei Vladimirov :
Hangi durumda? Bunu ne zaman yaptığınıza dair bir örnek verin.

bu, değişken 0 olduğunda ve buna 0 eklendiğinde olur

(Aslında 0 olmadığından şüpheleniyorum)

 
Slawa :

NormalizeDouble , yalnızca bekleyen emirler ve stoplar verirken fiyatı normalleştirmek için gereklidir. Ve başka hiçbir şey için.

Bu, belgelerde açıkça belirtilmiştir.

Gerçek sayıları karşılaştırmaya ne dersiniz?
 
transcendreamer :

bu, değişken 0 olduğunda ve buna 0 eklendiğinde olur

(Aslında 0 olmadığından şüpheleniyorum)


Aynen öyle. Toplama-çıkarma sırasında "gerçek" sıfırlar sıfır olarak kalır. Bu yüzden bir örnek vermeni istedim.

 
Alexander Bereznyak :
Gerçek sayıları karşılaştırmaya ne dersiniz?

İlişkili yan etki.

Uygun olduğu ortaya çıktı. Ancak bu kullanım başlangıçta amaçlanmamıştır.

Gerçek bir sayıyı gerekli doğrulukta yazdırmak için özel işlevler vardır.

Söyle bana, hesaplama sürecinde neden gerçek sayıları yuvarlamanız gerekiyor? Gerçekten de, bu durumda, hesaplamaların doğruluğu kaybolur!

 
Sergei Vladimirov :

Aynen öyle. Toplama-çıkarma sırasında "gerçek" sıfırlar sıfır olarak kalır. Bu yüzden bir örnek vermeni istedim.

NormalizeDouble (new_lot-sum_lots, Lots_Digits); tam olarak 0 vermez ama bir tür kuyruk tutar
 
Slawa :

NormalizeDouble , yalnızca bekleyen emirler ve stoplar verirken fiyatı normalleştirmek için gereklidir . Ve başka hiçbir şey için.

Bu, belgelerde açıkça belirtilmiştir.

kullanımdan kaldırıldı

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Standart özelliklerin/yaklaşımların alternatif uygulamaları

Renat Fatkhullin , 2016.09.02 00:55

Yani aşırı yükleyemezsiniz. Aynı işlev imzaları.

Ancak fikir açıktır - kene granülasyonunu dikkate alarak normalleştirme işlevi.