[SERVICE DESK] Zamanlayıcıda kıdemli TF'nin zamanı alınırken hata oluştu! - sayfa 2
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
Tekrar. Bu hiçbir yerde bahsedilmiyor. Bu ilk. İkincisi, neden önce 4066 hata kodunu gösterip sonra değil de yanlış yönlendiriyor?
Veriler kısımlar halinde pompalanır ve ardından terminal tarafından da işlenir ve bir zamanlayıcı üzerinde çalıştığınız için bir duraklamaya girersiniz. Evet bundan hiçbir yerde açıkça bahsedilmiyor ama MTF uygulamaları yazan birçok programcı genellikle bunu bilir, hemen şunu söyledim.
https://docs.mql4.com/ru/series/timeseries_access dikkatlice okuyun.
Eh, yukarıda zaten tarihin kullanılabilirliğini kontrol etme seçeneği verdiler. Mükemmel değil, ama basit ve net.
Bu seçenek işe yaramazsa, aşağıdakileri kontrol edin.
Veriler kısımlar halinde pompalanır ve ardından terminal tarafından da işlenir ve bir zamanlayıcı üzerinde çalıştığınız için bir duraklamaya girersiniz. Evet bundan hiçbir yerde açıkça bahsedilmiyor ama MTF uygulamaları yazan birçok programcı genellikle bunu bilir, hemen şunu söyledim.
https://docs.mql4.com/ru/series/timeseries_access dikkatlice okuyun.
Eh, yukarıda zaten tarihin kullanılabilirliğini kontrol etme seçeneği verdiler. Mükemmel değil, ama basit ve net.
"Duraklat" a basmakla ilgili kanıtlar nerede?
Dikkatlice okuyun (ve daha önce okuyun). Verilerin (özellikle daha eski zaman dilimlerinin) her zaman hemen mevcut olmadığının farkındayım. Sorun yok. Ama o zaman neden SeriesInfoInteger() işlevi hata döndürmüyor!? Soru bu!
İsteğin bir tür duraklatma/değişim/güncelleme/ara verme vb. üzerine düştüğünü varsayarsak. != 0 hata kodunu döndürmesine izin verin. Ve hiçbir sorun olmayacak!
Eh, yukarıda zaten tarihin kullanılabilirliğini kontrol etme seçeneği verdiler. Mükemmel değil, ama basit ve net.
Bu noktada @Ihor Herasko tarafından yukarıda cevaplandı.
Bu noktada @Ihor Herasko tarafından yukarıda cevaplandı.
Yukarıda testin versiyonunu verdim. Bu neden geliştiriciler için bir sorudur, ancak bu nokta çok uzun zamandır bilinmektedir!
Testin versiyonunu kesinlikle deneyeceğim ve sonuçları hakkında yazacağım.
Testin versiyonunu kesinlikle deneyeceğim ve sonuçları hakkında yazacağım.
@Ihor Herasko'nun ilk cevabı. Çoğaltılacak kod:
Sonuç:
Günlük girişlerine göre. Terminal saat 14:25'te kapatıldı. Ayrıca, 14:30'da açılır. M15 çubuğunun zamanını kontrol ediyoruz. TF M1 ile başlayın. Gösterge (yukarıdaki kod), gerçek açılış saatini 12:15 (terminal saati, yerel saatimden 2 saat geride) gösterdi. Sonuç 12:30 olmalıydı! Sonuç - bir hata var. Ve @Ihor Herasko tarafından önerilen verilen yöntem çalışmıyor.
Abone olmayı unutmayın! Benim için çalışıyor! Ama işe yaramazsa her türlü tuzak olabilir, başka ne yapılabilir diye düşünürüz.
abonelikten çıkıyorum kod:
Sonuç:
Terminali 14:48'de kapattım, 15:01'de açtım. 13:00 saatini almış olması gerekirdi. Alınan - 12.45. Daha çok soru?
TF'yi M1'den M5'e değiştiriyorum, doğru sonucu alıyorum:
Ve anladığım gibi! Türkiye terminal ile hemen başlıyor mu? Evet ise, kontrol etmeden önce, IsConnected () sunucusuyla bir bağlantı olduğunu bekleyin, çok hızlı bir zamanlayıcınız var, senkronize etmek için zamanınız yok!
Ya da böyle yap
Ancak Sunucu saati ile yerel saat arasındaki farkı hesaba katmalısınız. Sonuçlar için abone olun!