Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 84
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
Bunu göstermek için kıyaslama kodunu sağlayabilir misiniz?
Sonuç ( Yayın )
PS Profil oluşturma modunda çalıştırırsanız olan budur
Ne yazık ki, bu durumda profil oluşturucuya güvenilemez.
Sonuç ( Yayın )
PS Profil oluşturma modunda çalıştırırsanız olan budur
Sadece bu değil, bu durumda profil oluşturucuya güvenemezsiniz, Bench1 ayrıca Sürüm sürümünden 10 kat daha hızlı çalışır!
Sayesinde.
Sonuç ( sürüm )
Bir strateji danışmanı ile test edilmiştir.
2018.04.16 14:24:28.049 Core 1 OnTester result 39725470 (µs bench1)
2018.04.16 14:26:14.629 Core 1 OnTester result 39270950 (µs bench2)
2018.04.16 14:27:13.566 Core 1 OnTester result 20467067 (µs bench3)
2 kat daha hızlı (ancak 10 kattan fazla değil, bu kesinlikle derleyici optimizasyonundan kaynaklanıyor).
Bir strateji danışmanı ile test edilmiştir.
2018.04.16 14:24:28.049 Core 1 OnTester result 39725470 (µs bench1)
2018.04.16 14:26:14.629 Core 1 OnTester result 39270950 (µs bench2)
2018.04.16 14:27:13.566 Core 1 OnTester result 20467067 (µs bench3)
2 kat daha hızlı (ancak 10 kattan fazla değil, bu kesinlikle derleyici optimizasyonundan kaynaklanıyor).
Yalnızca OnTick hesaplamasını değil, kene oluşturma süresini de ölçersiniz.
İşte sadece OnTick dondurma
tezgah1
tezgah3
Üç kere. BenchX fonksiyonunun çoklu çağrılması nedeniyle 10 kat hızlanma elde edilmez. StringToDouble2'nin kendisi gerçekten 10 kat daha hızlıdır.
Yalnızca OnTick hesaplamasını değil, kene oluşturma süresini de ölçersiniz.
...Haklısın.
10 kat daha hızlı olmasına gerçekten şaşırdım, ancak işleviniz yalnızca dizenin geçerli bir çift değer içerdiğini bildiğinizde kullanılabilir.
2018.04.16 17:14:16.183 170952_180416(EURUSD, H1) StringToDouble2(abcdef)=5456784.0
Teşekkürler, ancak bu komut dosyası da yanlış kaydediliyor.
Monitörümde sağ taraftaki kısıtlama dikey bir çizgi ile işaretlenmiş ve ekran bu çizginin çok ötesine geçmiş.
Servis masasından alıntı yapmak için:
Bu durumda ChartScreenShot yardımı tam anlamıyla alınmalıdır.
align_mode=ALIGN_RIGHT
[içinde] Dar ekran görüntüsü çıktı modu. ENUM_ALIGN_MODE numaralandırmasının değeri. ALIGN_RIGHT, sağa hizalama anlamına gelir (sondan çıktı). ALIGN_LEFT, sola hizalamayı belirtir.
Bu, ALIGN_RIGHT hizalaması belirtildiğinde, grafiğin, komutun yürütülmesine eşdeğer olan sağ sınıra kaydırılacağı anlamına gelir.
Bu davranış, uzun yıllar önce (tarihsel olarak böyle), henüz ChartNavigate () işlevi olmadığında ortaya konmuştu. align_mode=ALIGN_RIGHT ayarının yapılması, grafiğin tam olarak sağ kenarının yakalanmasını sağlamıştır.
Ve ChartNavigate() işlevi eklendiğinde, ChartScreenShot işlevinin davranışı değişmedi.
Bu nedenle, istediğiniz efekti elde etmek istiyorsanız (grafiği sağ kenara kaydırmayın) - align_mode parametresi için ALIGN_LEFT değerini kullanın.
işleviniz yalnızca dizenin geçerli bir çift değer içerdiğini bildiğinizde kullanılabilir.
2018.04.16 17:14:16.183 170952_180416(EURUSD, H1) StringToDouble2(abcdef)=5456784.0
Düzeltildi, şimdi orijinali gibi çalışıyor
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri
fxsaber , 2018.04.16 13:23
Tahsis edilen const'ı kaldırırsanız, işlevin yürütme süresi iki katına çıkar. Bu, derleyicinin her zaman optimal kod üretmediğini ve bu tür ipuçlarına ihtiyaç duyduğunu gösterir.
Tahsis edilen const'ı kaldırırsanız, işlevin yürütme süresi iki katına çıkar. Bu, derleyicinin her zaman optimal kod üretmediğini ve bu tür ipuçlarına ihtiyaç duyduğunu gösterir.
İlginç, teşekkürler.
Lütfen zaten bir cevabınız varken kodunuzu düzenlemeyin, güncellediğiniz bildirimi almadım.
Tahsis edilen const'ı kaldırırsanız, işlevin yürütme süresi iki katına çıkar. Bu, derleyicinin her zaman en uygun kodu üretmediğini ve bu tür ipuçlarına ihtiyaç duyduğunu gösterir.
Çok ilginç...
Bunun neden olduğu hakkında bir fikriniz var mı?
Mekanizma nedir?
MQL5 kullanılarak ekrandan alınan ve belirli bir süre boyunca dolu çubuklar içerecek bir ekran görüntüsünün genişliğini belirlemek için aşağıda sunulan çözüm önerilmiştir.
Tuhaflık, grafiğin farklı yaklaşımlarında ekran görüntüsünün genişliğini düzeltmenin gerekli olduğu gerçeği olarak ortaya çıktı.
Ölçekli ve ölçeksiz seçenek için gerçek "katsayıların" (özellikle benim için) farklı olduğu ortaya çıktı.