
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
Basit çözüm yerine çok sayıda hesaplamada
Double'ları karşılaştırmak amacıyla double'ları int'lere dönüştüren bu çözüme ulaştım. . .
Ben de (şimdiye kadar) fiyatları karşılaştırmak için işe yarayan yaratıcı bir çözüm buldum:
Fiyatı, tam sayı olarak ifade edilen noktalar olarak fiyatı temsil eden bir int değerine yükseltirim. Böylece:
asla doğru olamaz.
stdlib.mq4'teki CompareDoubles() bu tartışmadan diskalifiye edildi mi? Fiyat için kullanılırsa benim için iyi çalışıyor.
Kayan bölme, kayan toplama, int'ye dönüştürme, işlev çağrısı (kopyala, atla, dönüş = 3,) * 2 her zaman iki. (18) Ve bu, böl ve dönüştür'ün diğer işlemlerle eşit olduğunu varsayıyor - değiller.
vs
bir çıkarma, bir test, 1/2 olumsuzlama (ortalama) ve karşılaştırma. (başlangıçta nokta/2 yapılırsa ve ABS bir IF ile değiştirilirse 1/2)
İşleri fazla karmaşıklaştırma
if (a > b)
if (a >= b)
if (a != b)
Kayan bölme, kayan toplama, int'ye dönüştürme, işlev çağrısı (kopyala, atla, dönüş = 3,) * 2 her zaman iki. (18) Ve bu, böl ve dönüştür'ün diğer işlemlerle eşit olduğunu varsayıyor - değiller.
vs
bir çıkarma, bir test, 1/2 olumsuzlama (ortalama) ve karşılaştırma. (başlangıçta nokta/2 yapılırsa ve ABS bir IF ile değiştirilirse 1/2)
İşleri fazla karmaşık hale getirme
2013.04.03 17:39:11 TestSpeed-CompareDbls USDJPY,M5: 1887 ms'de 9000000 kez ConvertToPoints.
2013.04.03 17:46:02 TestSpeed-CompareDbls USDJPY,M5: Düz(fiyat) 3604 ms'de 9000000 kez.
"MathAbs(ab)" yöntemi, ConvertToPoints() yönteminden yaklaşık 7 kat ve benim "Flat()" yöntemimden neredeyse 14 kat daha hızlıdır
2013.04.04 14:27:38 TestSpeed-CompareDbls EURUSD,H4: MathAbs(a - b) HalfAPPoint 99999999 kez 3403 ms'de.
2013.04.04 14:27:42 TestSpeed-CompareDbls EURUSD,H4: (intRecord > intCheck) 2505 ms'de 999999999 kez.
Ancak 3'üncü pratik olamaz ve 2'nci olan (intRecord > intCheck) karşılaştırmadan önce intCheck için 1 atama daha içeriyordu.
Test ettim (intRecord > fiyat/puan) ve
2013.04.04 14:27:38 TestSpeed-CompareDbls EURUSD,H4: MathAbs(a - b) HalfAPPoint 99999999 kez 3403 ms'de.
2013.04.04 14:27:42 TestSpeed-CompareDbls EURUSD,H4: (intRecord > intCheck) 2505 ms'de 999999999 kez.
Ancak 3'üncü pratik olamaz ve 2'nci olan (intRecord > intCheck) karşılaştırmadan önce intCheck için 1 atama daha içeriyordu.