Windows yerel saatinin MT5 sunucusuyla senkronizasyonu - sayfa 14

 
Alexey Kozitsyn :
BCS'de gerçek para açma talimatlarını buraya atın lütfen.
Her seferinde incelememek için profilimde paylaştım .
 
fxsaber :
Her seferinde incelememek için profilimde paylaştım .
Teşekkür ederim.
 

Alexey Kozitsyn :
Спасиб

şimdiden yaptım teşekkürler
Dosyalar:
 

Yazışmalar yapıyorum, farklılıklar var ama önemsiz.

Benim düşünceme göre, geçmişteki sipariş kenelerini kaydetme işlevi doğru çalışmıyor (işlemlerde her şey yolunda).

300 satır yapıp karşılaştırma dosyasını yayınlayacağım.

Katma

Yanlış mıyım kontrol edin

Dosyalar:
Book2.zip  671 kb
 
prostotrader :

Tam olarak 10-00 ve 14-05'te çalıştı

2017.01 . 26 10 : 00 : 00.000 Time_sync_forts (URKA- 3.17 ,H1)  Local time sync is done. Symbol = RTS- 3.17 Sync hour = 10 Sync min = 0 Sync sec = 0 Sync ms = 0
2017.01 . 26 14 : 05 : 00.005 Time_sync_forts (URKA- 3.17 ,H1)  Local time sync is done. Symbol = RTS- 3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 5

Katma

Muhtemelen BR'yi kaldıracağım, böylece her şey 3 ay boyunca otomatik olarak gerçekleşir :)

Ticaretin 19:00 ya da 19:05'te başlayabileceğini düşünürsek, akşam takasının nasıl "sabitleneceğine" dair bir fikriniz var mı?
 

Bu kadar.

Hem sabah seansı hem de her iki takastan sonra.

Dosyalar:
 

Çok sıkı çalışma yapıldı. Önerilen yöntem, ping değerinin dikkate alınmasına dayandığından, bir soru var .

TERMINAL_PING_LAST tanımlayıcısına sahip terminal istek üzerine (MQL belgelerine göre) " Ticaret sunucusuna mikrosaniye cinsinden bilinen son ping değeri" verir.

Nedir, değerleri sabit midir ve ne kadar büyüktür? Uzun yıllar boyunca bu özelliği günlük dosyalarında gördüm, şimdi terminaldeki sunucular listesinde ping'leri görebilirsiniz. Ve çok kararlı. Bu ne?

Aklıma gelen sadece iki seçenek var.

1. Bu, yönlendiricilerin, ICMP ağ protokolü aracılığıyla elde edilen ve aslında yalnızca geçen donanım sinyalini dikkate alarak IP paketlerinin yollarını analiz etmek için kullandıkları bir ağ özelliğidir. Bir istemci bilgisayar ve bir sunucu arasındaki ping ölçümü özel durumda, ağ kartları arasında ileri geri anlamına gelir. Bu protokole sahip paketler genellikle uygulamalara ulaşmaz, bu gerekli değildir https://ru.wikipedia.org/wiki/ICMP .

2. Bu, sunucudaki uygulamadan istemcideki uygulamaya sinyal geçiş süresinin iki katıdır.

Biri bana söylesin mi?

ICMP — Википедия
  • ru.wikipedia.org
ICMP Название: Уровень (по модели OSI): Семейство: Спецификация: ICMP (англ.   — протокол межсетевых управляющих сообщений[1]) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга...
 
Vladimir :

Çok sıkı çalışma yapıldı. Önerilen yöntem, ping değerinin dikkate alınmasına dayandığından, bir soru var .

TERMINAL_PING_LAST tanımlayıcısına sahip terminal istek üzerine (MQL belgelerine göre) " Ticaret sunucusuna mikrosaniye cinsinden bilinen son ping değeri" verir.

Nedir, değerleri sabit midir ve ne kadar büyüktür? Uzun yıllar boyunca bu özelliği günlük dosyalarında gördüm, şimdi terminaldeki sunucular listesinde ping'leri görebilirsiniz. Ve çok kararlı. Bu ne?

Aklıma gelen sadece iki seçenek var.

1. Bu, yönlendiricilerin, ICMP ağ protokolü aracılığıyla elde edilen ve aslında yalnızca geçen donanım sinyalini dikkate alarak IP paketlerinin yollarını analiz etmek için kullandıkları bir ağ özelliğidir. Bir istemci bilgisayar ve bir sunucu arasındaki ping ölçümü özel durumda, ağ kartları arasında ileri geri anlamına gelir. Bu protokole sahip paketler genellikle uygulamalara ulaşmaz, bu gerekli değildir https://ru.wikipedia.org/wiki/ICMP .

2. Bu, sunucudaki uygulamadan istemcideki uygulamaya sinyal geçiş süresinin iki katıdır.

Biri bana söylesin mi?

Sadece geliştiriciler bu soruyu kesin olarak cevaplayabilir.

ikinci seçeneğe güvendim

>   Bu, sunucudaki uygulamadan istemcideki uygulamaya sinyal seyahat süresinin iki katıdır.

 
prostotrader :

Bu kadar.

Hem sabah seansı hem de her iki takastan sonra.

Her şey "saat gibi" çalışır :)

2017.01 . 30 10 : 00 : 00.000 Time_symc_forts (URKA- 3.17 ,H1)  Local time sync is done. Symbol = Si- 3.17 Sync hour = 10 Sync min = 0 Sync sec = 0 Sync ms = 0
2017.01 . 30 14 : 05 : 00.002 Time_symc_forts (URKA- 3.17 ,H1)  Local time sync is done. Symbol = Si- 3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2
2017.01 . 30 19 : 00 : 00.003 Time_symc_forts (URKA- 3.17 ,H1)  Local time sync is done. Symbol = Si- 3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3

Katma

Müzayede 19-05'te başlayana kadar beklemeye devam ediyor

Market closed
Market closed
  • www.mql5.com
Ребята разработчики! Ну когда же Вы синхронизируете время терминала с временем Биржи...
 
prostotrader :

Her şey "saat gibi" çalışır :)

2017.01 . 30 10 : 00 : 00.000 Time_symc_forts (URKA- 3.17 ,H1)  Local time sync is done. Symbol = Si- 3.17 Sync hour = 10 Sync min = 0 Sync sec = 0 Sync ms = 0
2017.01 . 30 14 : 05 : 00.002 Time_symc_forts (URKA- 3.17 ,H1)  Local time sync is done. Symbol = Si- 3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2
2017.01 . 30 19 : 00 : 00.003 Time_symc_forts (URKA- 3.17 ,H1)  Local time sync is done. Symbol = Si- 3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3

Katma

Müzayede 19-05'te başlayana kadar beklemeye devam ediyor

Katma

Sergey için

https://www.mql5.com/ru/forum/166646

İlgi için, zor değilse açın, zamanın ne kadar doğru senkronize edildiğini görelim:

//+------------------------------------------------------------------+
//|                                            Delta Time Server.mq5 |
//+------------------------------------------------------------------+
struct _SYSTEMTIME
  {
   short              year;
   short              mon;
   short              day_of_week;
   short              day;
   short              hour;
   short              min;
   short              sec;
   short              msc;
  };

_SYSTEMTIME loc_time;

#import "kernel32.dll"
void GetLocalTime(_SYSTEMTIME &sys_time);
bool SetLocalTime(_SYSTEMTIME &sys_time);
#import
//---
MqlTick tick;
MqlDateTime sv_time;
int tick_msc,ping,time_server,time_local,delta= 0 ,mdelta[ 10 ],n= 0 ;
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   loc_time.year= 0 ;
   GetLocalTime(loc_time);
   if (loc_time.year> 0 )
     {
       if (! SymbolInfoTick ( _Symbol ,tick)) { Print ( "error SymbolInfoTick: " , GetLastError ()); return ; }
      ping= TerminalInfoInteger ( TERMINAL_PING_LAST )/ 1000 ;
      tick_msc= int (tick.time_msc% 1000 );
       TimeToStruct (tick.time,sv_time);

      time_server=(sv_time.sec+sv_time.min* 60 )* 1000 +tick_msc;
      time_local=(loc_time.sec+loc_time.min* 60 )* 1000 +loc_time.msc;

      delta=AvgDelta(time_server-time_local);
      
     Print (
           "ping : " ,ping,
           " | time server: " ,sv_time.hour, ":" ,sv_time.min, ":" ,sv_time.sec, "," ,tick_msc,
           " | time local: " ,loc_time.hour, ":" ,loc_time.min, ":" ,loc_time.sec, "," ,loc_time.msc,
           " | delta ms: " ,delta,
           " | min max delta: " ,mdelta[ ArrayMaximum (mdelta)], " : " ,mdelta[ ArrayMinimum (mdelta)],
           "" );
     }
  }
//+------------------------------------------------------------------+
int AvgDelta( int d)
  {
   int avgd= 0 ;
   mdelta[n]=d;
   n++; if (n>= 10 ) n= 0 ;
   for ( int i= 0 ;i< 10 ;i++) avgd+=mdelta[i];
   return (avgd/ 10 );
  }
//+------------------------------------------------------------------+