Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 93

 
Renat Fatkhullin'in fotoğrafı.

WinAPI böyledir.

Katılmıyorum.
WinAPI, GetMicrosecondCount'tan farklı olarak yerel saat ayarlamalarına yanıt vermez.


Dosyalar:
 
Nikolay Semko :

Katılmıyorum.
WinAPI, GetMicrosecondCount'tan farklı olarak yerel saat ayarlamalarına yanıt vermez.

Çünkü zamanı mutlak değil, programın başlangıcından itibaren delta gösteriyoruz:

GetMicrosecondCount() işlevi, MQL5 programının başlangıcından bu yana geçen mikrosaniye sayısını döndürür.

Uygulama başlangıcındaki sayaç değeri sabit olduğu için bu delta tarih değişikliğinden etkilenir. Zamana bağlı yazılım çalışırken bilgisayardaki tarihi ciddi şekilde değiştirmek sabotaj ve Japon testere ile Rus adamlarının yaklaşımı. Şaka için iyi.

"Ne de olsa arka plan zaman düzeltici çalışıyor" gerekçesi buraya uymuyor - düzeltmesi günde milisaniyedir ve hiçbir etkisi yoktur.

Zamanın başlangıcından itibaren sayaçlar için değil, küçük periyotların doğru ölçümü için bir mikrosaniye zamanlayıcı gereklidir.

 
Nikolay Semko :

Katılmıyorum.
WinAPI, GetMicrosecondCount'tan farklı olarak yerel saat ayarlamalarına yanıt vermez.

Ancak GetMicrosecondCount'un mevcut sürümde programın tüm çalışmasını bozan pratik uygulamasını nasıl görüyorsunuz? pratik uygulamayı tarif et

örneğin, C ++ veya burada Renat tarafından açıklananlar dışında herhangi bir seçenek görmüyorum, yani. kod yürütme süresinin mcs cinsinden doğrulukla ölçülmesi

onlar. Dürüst olmak gerekirse inatçılığını anlamıyorum

 
Renat Fatkhullin'in fotoğrafı.

Uygulama başlangıcındaki sayaç değeri sabit olduğu için bu delta tarih değişikliğinden etkilenir. Zamana bağlı yazılım çalışırken bilgisayardaki tarihi ciddi şekilde değiştirmek sabotaj ve Japon testere ile Rus adamlarının yaklaşımı. Şaka için iyi.

Özellikle internet üzerinden zaman senkronizasyonunu animasyonlu bir gif üzerinde gösterdim. Bu tür senkronizasyon varsayılan olarak herkes için otomatiktir ve programa göre birinin katılımı olmadan ve oldukça sık gerçekleşir.
Ve bu senkronizasyonun ölçüm sırasında gerçekleşebileceğinin garantisi yoktur.
Kendim için endişelenmiyorum çünkü GetMicrosecondCount()'un bu özelliği hakkında zaten bilgim var ve bu fonksiyon GetTickCount'tan bir büyüklük mertebesinden daha yavaş.
Ancak bu konuyu okumayan, ancak bu fonksiyondaki yardımı çok dikkatli bir şekilde okuyan diğerleri, GetMicrosecondCount'u gerçek bir Expert Advisor mantığında kullanırlarsa sorun yaşayabilirler, çünkü. test sırasında her şey yolunda gidecek, ancak planlanan zaman senkronizasyonu veya kış (yaz) saatine geçiş sırasında gerçek ticaret sırasında, özellikle zaman azalır ve ulong tipinde bir taşma meydana gelirse OH oluşabilir.
Ve bu arada, benim için yeni olan bu belgelenmemiş bilgi, aynı anda birkaç zamanlayıcının çalışmasını organize eden multitimer sınıfının şu anda yaratılan mantığında önemli ayarlamalar yaptı. Bu sınıfın çalışmasında, güçlü ve ana ile mikrosaniye işlevi kullanılmıştır. Ama şimdi anlıyorum ki, hızını artırmak da dahil olmak üzere 15625 μs'lik bir doğruluğu feda etmem gerekecek.
Faber dönüş pliz. O kaba değil, o sadece kaba, ama o iyi.
Kahretsin, şimdi ben de yasaklandım :(((

 
Renat Fatkhullin'in fotoğrafı.

Çünkü zamanı mutlak değil, programın başlangıcından itibaren delta gösteriyoruz:

Uygulama başlangıcındaki sayaç değeri sabit olduğu için bu delta tarih değişikliğinden etkilenir. Zamana bağlı yazılım çalışırken bilgisayardaki tarihi ciddi şekilde değiştirmek sabotaj ve Japon testere ile Rus adamlarının yaklaşımı. Şaka için iyi.

"Ne de olsa arka plan zaman düzeltici çalışıyor" gerekçesi buraya uymuyor - düzeltmesi günde milisaniyedir ve hiçbir etkisi yoktur.

Zamanın başlangıcından itibaren sayaçlar için değil, küçük periyotların doğru ölçümü için bir mikrosaniye zamanlayıcı gereklidir.

Onlar. terminali periyodik olarak yeniden başlatmak mantıklı mı?

 
Nikolay Semko :

Özellikle internet üzerinden zaman senkronizasyonunu animasyonlu bir gif üzerinde gösterdim. Bu tür senkronizasyon varsayılan olarak herkes için otomatiktir ve programa göre birinin katılımı olmadan ve oldukça sık gerçekleşir.

Açık ve net yazdım - otomatik olarak milisaniyeler için günlük düzeltme.

Ve evet, bir testereye levye taktığınızda, tarihi saniyeler içinde bile değiştirdiğinizde, saf bir WinAPI işleviyle ( GetTickCount nedir, QueryPerformanceCounter nedir) havaya uçacaksınız. Genel olarak, varlığından bahsettiğiniz iddia edilen hiçbir koruma yoktur. Bir sorun olarak parmaktan emildi ve sözde bir çözüm.

Bu doğru - WinAPI böyle ve gerçeklik böyle.

 
Alexey Vyazmikin :

Onlar. terminali periyodik olarak yeniden başlatmak mantıklı mı?

Numara.
 
Renat Fatkhullin'in fotoğrafı.
Numara.

Benim haftamda mum kapanış saati sayacı 5 saniye acele etmeye başlar, sorunun programda olduğunu düşündüm.

Uygun hizmetle zamanı yeniden başlatmaya ve senkronize etmeye yardımcı olur.

Çok uzun zaman önce annenin pilini değiştirdi.

 
Alexey Vyazmikin :

Benim haftamda mum kapanış saati sayacı 5 saniye acele etmeye başlar, sorunun programda olduğunu düşündüm.

Uygun hizmetle zamanı yeniden başlatmaya ve senkronize etmeye yardımcı olur.

Çok uzun zaman önce annenin pilini değiştirdi.

Pool.ntp.org ile her gün gece (veya daha sık) senkronizasyon yapmak için normal bir Windows Saati hizmeti ayarlayın; günlük düzeltme milisaniye cinsinden olacaktır.
 
Renat Fatkhullin'in fotoğrafı.
Pool.ntp.org ile her gün gece (veya daha sık) senkronizasyon yapmak için normal bir Windows Saati hizmeti ayarlayın; günlük düzeltme milisaniye cinsinden olacaktır.

Yapılandırılmış, ancak yardımcı olmuyor - nedenini anlamıyorum. Doğru, sunucum ntp2.stratum2.ru

Neden: