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
Biliyorum. Bunu neden yapıyorsun?
Birine, ki:
Ayrıca Piyasa İzleme "Hacim" "Son İşlem Yapıldı" sütunlarında da vardır. Bu işlevin yalnızca son işaretin .zamanını döndürdüğüne dair şüpheler vardır.
İşlev SymbolInfoInteger ( _Symbol , SYMBOL_TIME ) sadece son tik saatini döndürür. Çünkü alıntıdaki bir değişiklik, yeni bir bilgi kenesinin ortaya çıkmasını gerektirir.
Son teklifin gelişi ile son onay işaretinin zamanı arasındaki süreyi ölçmek istiyorsunuz. Saniyeler içinde, her zaman 0 olacak gibi görünüyor. Bu nedenle, terminal her şeyi anında döndürür.
Birine, ki:
İşlev SymbolInfoInteger ( _Symbol , SYMBOL_TIME ) sadece son tik saatini döndürür. Çünkü alıntıdaki bir değişiklik, yeni bir bilgi kenesinin ortaya çıkmasını gerektirir.
Son teklifin gelişi ile son onay işaretinin zamanı arasındaki süreyi ölçmek istiyorsunuz. Saniyeler içinde, her zaman 0 olacak gibi görünüyor. Bu nedenle, terminal her şeyi anında döndürür.
Bir kez daha, sorunu nerede görüyorum?
Verilen:
Yerel saat ve sunucu saati aşağı yukarı senkronizedir, yani yeni kenelerin .time_msc'si ile yerel saat arasındaki fark birkaç saniyedir.
18:00:00 bilgisayar saatinde SymbolInfoTick kullanarak SBER sembolü için yeni bir onay işareti almaya çalışıyoruz, bize 17:57:00 saatiyle bir onay işareti veriliyor.
18:00:01 bilgisayar saatinde tekrar SymbolInfoTick kullanarak SBER sembolü için yeni bir tik almaya çalışıyoruz, 17:58:30 saatiyle bize bir tik veriliyor.
Bence çalışır durumda değil.
Artık bilgisayarın yerel saatinden uzaklaştım ve bunun yerine piyasa saatindeki tüm semboller arasında son tıklamanın maksimum süresini kullandım.
Bir kez daha, sorunu nerede görüyorum?
Verilen:
Yerel saat ve sunucu saati aşağı yukarı senkronizedir, yani yeni kenelerin .time_msc'si ile yerel saat arasındaki fark birkaç saniyedir.
18:00:00 bilgisayar saatinde SymbolInfoTick kullanarak SBER sembolü için yeni bir onay işareti almaya çalışıyoruz, bize 17:57:00 saati ile bir onay işareti veriliyor.
18:00:01 bilgisayar saatinde tekrar SymbolInfoTick kullanarak SBER sembolü için yeni bir tik almaya çalışıyoruz, 17:58:30 saatiyle bize bir tik veriliyor.
Bence çalışır durumda değil.
Artık bilgisayarın yerel saatinden uzaklaştım ve bunun yerine piyasa saatindeki tüm semboller arasında son tıklamanın maksimum süresini kullandım.
Bilgisayarın saatinin herhangi birine ayarlanabileceğini anlıyor musunuz? Ona bağlanamazsın. Bu size zaten söylendi. Bu ilk.
İkinci olarak, Market Watch'taki tüm semboller arasında son tik'in maksimum süresi de kullanılamaz. Bir SBER sembolünün (SymbolInfoTick) son işaretinin zaman gecikmesini bir SBER sembolünün (SymbolInfoInteger) son alıntı zamanından bulmak istiyorsunuz. Onlar. yazdığım gibi bir şey yapmanız gerekiyor (yaklaşık çünkü daha fazla doğruluk için size tavsiye edildiği gibi bir bardak kullanmanız gerekiyor).
Üçüncüsü, işte burada:
kanıt olmadan iddia etti. Kodunuzun kanıt olduğunu düşünüyorsanız, "İkinci" bölümüne bakın.
Bilgisayarın saatinin herhangi birine ayarlanabileceğini anlıyor musunuz? Ona bağlanamazsın. Bu size zaten söylendi. Bu ilk.
Milisaniyelerden hatta saniyelerden bahsedersen ona bağlanamazsın. Dakikalardaki gecikmelerden bahsetmek oldukça mümkündür. Şimdi farkı onunla değil, piyasa saatindeki tüm semboller için son tik için maksimum süre .time_msc ile ölçüyorum.
Bir SBER sembolünün (SymbolInfoTick) son işaretinin zaman gecikmesini bir SBER sembolünün (SymbolInfoInteger) son alıntı zamanından bulmak istiyorsunuz.
İstemiyorum.
İkinci olarak, Market Watch'taki tüm semboller arasında son tik'in maksimum süresi de kullanılamaz.
Niye ya ? (Bilgisayara göre) son işareti ALMA zamanı değilim, yani .time_msc ile karşılaştırıyorum.
kanıt olmadan iddia etti. Kodunuzu kanıt olarak görüyorsanız - bkz. "ikinci".
Genellikle geliştiriciler, sorunu yeniden oluşturmak için kod ister. İşte yakın zamanda yakalanan 2 saniyelik bir gecikme.
(yaklaşık çünkü daha fazla doğruluk için size tavsiye edildiği gibi bir bardak kullanmanız gerekir).
pivomoe :
İşte sadece birkaç satır, ne istediğiniz açık görünüyor. Semboller arası senkronizasyon gibi bir şeyle ilgileniyorsunuz. Onlar. ihtiyacınız olan araçlar için verilerin genel uygunluğu.
Şu anda yardımcı olabileceğim bir şey yok, konuyla ilgilenmedim. Geliştiricilerle iletişim kurun.
İşte sadece birkaç satır, ne istediğiniz açık görünüyor. Semboller arası senkronizasyon gibi bir şeyle ilgileniyorsunuz. Onlar. ihtiyacınız olan araçlar için verilerin genel uygunluğu.
Şu anda yardımcı olabileceğim bir şey yok, konuyla ilgilenmedim. Geliştiricilerle iletişim kurun.
Alexey (katılmak istemedi ama...).
Bu konunun 2. sayfasındaki "alaka düzeyi" (NEW_TICK) kodu değil mi?
Katma
CUR_TICK ile, bunun eskisi ile aynı kene olup olmadığını da kontrol edebilirsiniz.
yeni onay paketi, önceki pakette aktarılmayan bir onay işareti içeriyor.
Alexey (katılmak istemedi ama...).
Bu konunun 2. sayfasındaki "alaka düzeyi" (NEW_TICK) kodu değil mi?
Hayır gibi görünüyor. Çünkü:
TimeTradeSunucusu
Ticaret sunucusunun tahmini geçerli saatini döndürür. TimeCurrent() işlevinin aksine, zaman değeri istemci terminalinde hesaplanır ve kullanıcının bilgisayarındaki zaman ayarlarına bağlıdır.
Onlar. yine, bilgisayarın saatine bağlıdır (ki bu, ölçümün doğruluğu için olmamalıdır).
Burada, elbette, pivomoe kodunun doğruluğunu kontrol etmeniz ve gerçekten bir söve varsa geliştiricilerle iletişim kurmanız gerekir.
Görünüşe göre kontrolün TimeGMTOffset aracılığıyla yapılması gerekiyor. Daha sonra bir örnek yayınlayacağım.
Hayır gibi görünüyor. Çünkü:
Koda dikkatlice bakın!
TimeTradeServer() sadece günü ve HER ŞEYİ belirlemek için alınır (bu kontrol "her ihtimale karşı" yapılır)!
TimeTradeServer() tamamen atlanabilir!
Katma
tekrarlıyorum
" CUR_TICK ile, bunun öncekiyle aynı onay olup olmadığını da kontrol edebilirsiniz veya
yeni onay paketi, önceki pakette aktarılmayan bir onay işareti içeriyor ve paket 1 onay işaretinden ("eski") "
Burada, elbette, pivomoe kodunun doğruluğunu kontrol etmeniz ve gerçekten bir söve varsa geliştiricilerle iletişim kurmanız gerekir.
Cant, piyasa genel görünümünde düzinelerce sembol varsa veya genel bakışta birkaç sembol açıksa, ancak opera tarayıcısında birkaç düzine depozito varsa görünür. Geliştiricilere özel mesaj yoluyla yazdım.
Daha önce yazdığım gibi, sorun yeterince büyük bir Sleep ile çağrılar arasında çözülür, uyku(10) 40 karakter için yeterlidir. Doğru, karakter sayısındaki artışla birlikte, daha fazla sigara molası gerekiyor.