![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
İnanılmaz sonuç! Bir rakamın ne olduğunu "hiç anlamamış olsanız" bile, herhangi bir rakam için size bunu düşündüren nedir?
İnanılmaz sonuç! Bir rakamın ne olduğunu "hiç anlamamış olsanız" bile, herhangi bir rakam için size bunu düşündüren nedir?
Bu tür açıklamalara katılmamayı tercih ettiğimi hemen söyleyeceğim, çünkü özünde söylenecek bir şey yoksa neden konuşalım ki?
Eğitim programı için tüm profesyonellere derin şükranlarımı sunmak istiyorum!
Irtron, senin versiyonunu kendim için seçtim, gerçekten beğendim. Genel durumlar için biraz ince ayar yapıldı, kontrol edildi - bir saat gibi çalışıyor:
int ComparePrice(çift a, çift b, çift haneli)
{
a -= b;
b = rakam;
(a > b) ise
dönüş(1);
eğer (a < -b)
dönüş(-1);
dönüş(0);
}
Teşekkür ederim.
çift haneli14 = 0.000000000000001;
çift haneli12=0.000000000001;
çift hane8=0.00000001;
çift basamak4=0,0001;
çift hane2=0.01;
bu gerekli doğruluğu belirleyecektir.
Bu tür işlevsellik için çok hızlı çalışır.
Irtron, tekrar teşekkürler.
İnanılmaz sonuç! Bir rakamın ne olduğunu "hiç anlamamış olsanız" bile, herhangi bir rakam için size bunu düşündüren nedir?
Bu tür açıklamalara katılmamayı tercih ettiğimi hemen söyleyeceğim, çünkü özünde söylenecek bir şey yoksa neden konuşalım ki?
Neden nitpick, yazdıklarını yeni okudum. Anlayışınız açıkça "açık sözlülüğünüz ... (kelimeyi kendiniz söyleyin)" tarafından engelleniyor.
VBAG, iki sayıyı ComparePrice()'den daha hızlı karşılaştıran bir NormalizeDouble () işlevi varken neden tekerleği yeniden icat etsin?
VBAG, iki sayıyı ComparePrice()'den daha hızlı karşılaştıran bir NormalizeDouble () işlevi varken neden tekerleği yeniden icat etsin?
Benzer bir bisiklet veya daha iyi alternatif çözümler önerirseniz, bunları kullanmaktan memnuniyet duyarım.
Samimi olarak,
Vladimir
VBAG, iki sayıyı ComparePrice()'den daha hızlı karşılaştıran bir NormalizeDouble () işlevi varken neden tekerleği yeniden icat etsin?
Benzer bir bisiklet veya daha iyi alternatif çözümler önerirseniz, bunları kullanmaktan memnuniyet duyarım.
Samimi olarak,
Vladimir
2007.09.12 07:15:09 $CheckCompareDouble USDJPY,M5: CD: 20485, xNormalize: 51265
Çözüm:
CD işlevi iki double'ı karşılaştırır, 14 ondalık basamakla <, > veya = yanıtını verir ve basit bir NormalizeDouble() yürütmesinden 2 kat daha hızlıdır (karşılaştırma mantığı olmadan bile).
Birçok kişi, karşılaştırma için yerleşik NormalizeDouble () işlevini kullanmanız gerektiğini yazar. (geliştiricilerin önerdiği gibi)
Bu nedenle, önce şunu tanımlamak istiyorum: "NormalizeDouble() nedir?", yani. nasıl çalışır, çalışma algoritması nedir.
Kayan nokta sayısını belirtilen duyarlılığa yuvarlama.
...
MQL4'te yuvarlamayı nasıl organize edeceğimi bilmiyorum (geliştiricilere sormalısınız), ancak bir kayan noktalı sayıyı belirli bir doğruluğa yuvarlama standart yöntemini biliyorum:
İşte fonksiyon:
Bu fonksiyondan, önce gerçek sayıdan tam sayıya, sonra tekrar gerçek sayıya geçtiğimiz görülebilir.
Karşılaştırma için sadece bir tamsayıya geçmek yeterlidir.
Bu nedenle, en hızlı ve en güvenilir olanın gerçek sayıları tam sayılara dönüştürmek olduğunu düşünüyorum.
Karşılaştırma şöyle görünecek:
Bütün bunlar bir fonksiyona dönüştürülebilir ve kullanılabilir. Yazıyı bozar, fonksiyon nasıl yapılır belli!
Bu yolun NormalizeDouble()'ı çağırmaktan daha hızlı olduğunu düşünüyorum.
Güvenilirlik için MathRound () işlevinin bir tamsayı döndürmesini de sağlayabilirsiniz, aksi takdirde varsayılan olarak iki katı döndürür.
Bunu yapmanın en kolay yolu
O zaman sadece tamsayılar karşılaştırılacak ve iyi karşılaştırıyorlar!
Bu yöntemin genellikle en doğru olduğunu düşünüyorum, ya siz?
Bu nedenle, en hızlı ve en güvenilir olanın gerçek sayıları tam sayılara dönüştürmek olduğunu düşünüyorum.
Karşılaştırma şöyle görünecek:
Bu yöntemin genellikle en doğru olduğunu düşünüyorum, ya siz?
Irtron'un önerdiği kodun güzelliği, kompaktlığıdır (kesinlikle başka bir şey değil - değişkenlerden tasarruf bile!)
Ve en azından her operasyon için teklif veriyorsunuz iki işlem daha asmak
İşte hız kaybı!
bence hayır. Kendin için yargıla