Pazar kapalı - sayfa 8

 
fxsaber :

Grafik yorumundaki komut dosyası bu hatayı gösteriyor

SD'de bu konu için bir uygulama var mı? Yüzden fazlasına sahip gibisin, hâlâ açık mı?
 

Vasiliy Pushkaryov :
В СД есть заявка по этой проблеме?

Destek Ekibi 2018.01.24 07:13

Windows'un (Unix de) hiçbir zaman gerçek zamanlı bir işletim sistemi olmadığını unutmamalısınız. Bu, böyle bir sistemde zaman ölçümünün bir öncelik olmadığı ve hatalara izin verdiği anlamına gelir.

İkincisi, sistemdeki zamanlayıcı, mesajlara ve sıralarına dayanmaktadır. Bir Windows uygulamasında, tüm mesajlar ana iş parçacığında işlenir. Sürekli. Bundan sonraki tüm sonuçlarla.

Sizin durumunuzda, kritik zamanlayıcı artışını seçmelisiniz. En düşük - 1 milisaniyeyi seçerseniz, mesaj oluşturma, mesaj alma, mesaj işlemede 1000 ms'lik artıştan 1000 kat daha fazla kaybetmeye hazır olun. Yani, kendiniz için makul bir uzlaşma arayın.

Yüzden fazlasına sahip gibisin, hâlâ açık mı?

Evet.

 

fxsaber :

senkronize etmeye çalıştım

Çalışmıyor. Ve MT5 gecikmesine karşı kötü düşüncelerim var. Komut dosyanızın bu değişikliklerle nasıl davranacağını kendiniz görün.

Kodunuzla denedim, hala geride kalıyor. SD, gecikmelerin norm olduğunu yazdığı için, daha fazla kişinin veya şirketin daha etkili çalışanlarının buna dikkat etmesini bekleyeceğiz.


 
Vasiliy Pushkaryov :

Kodunuzla denedim, hala geride kalıyor. SD, gecikmelerin norm olduğunu yazdığı için, daha fazla kişinin veya şirketin daha etkili çalışanlarının buna dikkat etmesini bekleyeceğiz.

Eh, her şey mantıklı görünüyor, Market Watch'ta herhangi bir sembol için son tik zamanı ve sembol penceresinde - sembolün tik zamanı. Bundan ve anlaşmazlıklardan tikler aynı anda gelmez

 
Vitaly Muzichenko :

Eh, her şey mantıklı görünüyor, Market Watch'ta herhangi bir sembol için son tik zamanı ve sembol penceresinde - sembolün tik zamanı. Bundan ve anlaşmazlıklardan tikler aynı anda gelmez

TimeCurrent - yardıma bakın.

 
fxsaber :

TimeCurrent - yardıma bakın.

Bu doğru: son sunucu zamanı . Kene yok - zaman yok, ancak bazı çiftler için piyasa incelemesinde her zaman bir onay işareti vardır, bu nedenle zaman, işaretin "uzun zaman önce" olduğu sembolün zamanına karşılık gelmez

 
Vitaly Muzichenko :

Bu doğru: son sunucu zamanı. Kene yok - zaman yok, ancak bazı çiftler için piyasa incelemesinde her zaman bir onay işareti vardır, bu nedenle zaman, işaretin "uzun zaman önce" olduğu sembolün zamanına karşılık gelmez

TimeCurrent, herhangi bir zamanda herhangi bir MQL programı için aynı değerleri döndürür .

 
Vitaly Muzichenko :

Bu doğru: son sunucu zamanı. Kene yok - zaman yok, ancak bazı çiftler için piyasa incelemesinde her zaman bir onay işareti vardır, bu nedenle zaman, işaretin "uzun zaman önce" olduğu sembolün zamanına karşılık gelmez

Ben de bunu hatırladım. Ama bir ek var:

"Diğer durumlarda (OnInit(), OnDeinit(), OnTimer() ve benzeri işleyicileri çağırın), bu, Piyasa İzleme penceresinde bulunan herhangi bir sembol için son teklifin zamanıdır, aynı zamanda bu pencerelerin başlığı ."

Kodda, 0,5 saniye aralıklarla OnTimer'dır. Yukarıdaki ekran görüntüsünde de görebileceğiniz gibi, pencere başlığında gösterilen zaman TimeCurrent() ile eşleşmediğinde PrintScreen'i manuel olarak kolayca yakalayabiliyorum.

 
Vasiliy Pushkaryov :

Ben de bunu hatırladım. Ama bir ek var:

"Diğer durumlarda (OnInit(), OnDeinit(), OnTimer() ve benzeri işleyicileri çağırın), bu, Piyasa İzleme penceresinde bulunan herhangi bir sembol için son teklifin zamanıdır, aynı zamanda bu pencerelerin başlığı ."

Yardım başlangıçta yalan söyledi:

OnTick() işleyicisinde bu işlev, gelen işlenmiş onayın zamanını döndürür

Bu, elbette, doğru değil. Emin olmak için komut dosyası
 void OnTick ()
{
   Print ( TimeCurrent ());
  
   Sleep ( 10000 );

   Print ( TimeCurrent ());  
}
 
fxsaber :

Yardım başlangıçta yalan söyledi:

Bu, elbette, doğru değil. Emin olmak için komut dosyası
Burada neyin yanlış olduğu tam olarak belli değil.
Neden: