![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
float, herhangi bir avantaj sağlamayan sayıların hadım edilmesidir. Dönüşümlerdeki tüm kayıplarla daha iyi başa çıkın ve mümkün olan en yüksek hassasiyeti kullanın - iki katı.
Teşekkür ederim. Nerede hata yaptığımı bulmaya çalışacağım. Bu arada, float pah pah çalışır. Başladığım şeyi bırakmaya alışık değilim. Ama bu hata beni çıkmazdan kurtardı.
Şahsen, asla hesaplamalarda kullanmam ve sayıları karşılaştırırken, farkı kabul edilen minimum bir değerle karşılaştırırken, her zaman 16. basamağa kadar mümkün olan en yüksek doğrulukla çalışırım ve sadece en son işlemde normalleştirme yaparım. Double'nin doğru kullanımıyla, yapmanızı tavsiye ettiğim hiçbir sorun yoktur, aksi takdirde bazı hesaplama / dönüştürme adımlarında doğruluk kaybıyla ilişkili sonuçların bozulmasında ince sorunlarla karşılaşırsınız.
Tabii ki, bu bir usta işidir, ancak TÜM standart matematiksel fonksiyonların çift sayılarla çalıştığına ve çift sonuç ürettiğine dikkat edin. Bu işlevleri kayan sayılara uygularken, yine de çifte dahili bir dönüşüm gerçekleşir, bu nedenle her durumda elde edilen sonuçların doğruluğunu ve güvenilirliğini kaybedersiniz.
Şahsen, asla hesaplamalarda kullanmam ve sayıları karşılaştırırken, farkı kabul edilen minimum bir değerle karşılaştırırken, her zaman 16. basamağa kadar mümkün olan en yüksek doğrulukla çalışırım ve sadece en son işlemde normalleştirme yaparım. Double'nin doğru kullanımıyla, yapmanızı tavsiye ettiğim hiçbir sorun yoktur, aksi takdirde bazı hesaplama / dönüştürme adımlarında doğruluk kaybıyla ilişkili sonuçların bozulmasında ince sorunlarla karşılaşırsınız.
2017'deki fiyat değerlendirmesi kesinlikle doğru
2017'deki fiyat değerlendirmesi kesinlikle doğru
bu böyle olmalı
double AUTOPRICE= MathFloor ( NormalizeDouble (Averab, 2 ) )* _Point ;
bu böyle olmalı
double AUTOPRICE= MathFloor ( NormalizeDouble (Averab, 2 ) )* _Point ;
Kodunuzu birkaç kez değiştirdiniz.
Ben de aynısını yaptım. deneyerek, double ve int'nin ne olduğunu anlayarak, ancak açık hesaplamalarla ihtiyacım olanı alamadım.
ilk satır önerdiğin şey
2017.02 . 26 18 : 24 : 59.133 2017.01 . 02 00 : 03 : 00 Exp - DOUBLE TEST MATHFLOOR EURUSD,M30: DOUBLE askP2= 105146 bidP2= 105141 Averab2= 105143.5000000000 AUTOPRICE= 1.0514300000
2017.02 . 26 18 : 24 : 59.133 2017.01 . 02 00 : 03 : 00 Exp - DOUBLE TEST MATHFLOOR EURUSD,M30: FLOAT askP= 105146 bidP= 105141 Averab= 105143.5000000000 AUTOPRICE= 1.0514299870
yani her şey doğru 105143.5000000000 aşağı yuvarlanmış 43 çıkıyor...
(46-41)/2=2,5 aşağı yuvarlama = 2
yani her şey doğru 105143.5000000000 aşağı yuvarlanmış 43 çıkıyor...
(46-41)/2=2,5 aşağı yuvarlama = 2
ve evet,
ancak farklı spreadlerde (2,3,4,5,6,7) aşağı yuvarlama farklıdır ve bazen tam olarak doğru değildir. sorun şu.