WindowsのローカルタイムをMT5サーバーと同期させる - ページ 14

 
Alexey Kozitsyn:
BCSのリアル口座の開設方法をこちらにお送りください。
いちいち検索しなくてもいいように、プロフィールに書いて います。
 
fxsaber:
いちいち掘り返さなくてもいいように、プロフィールに載せて います。
ありがとうございます。
 

Alexey Kozitsyn:
Спасиб

ありがとうございます、もう自分でやってしまいました。
ファイル:
 

マッチングを図っている、違いはあるが、大きな違いはない。

私見ですが、注文のティックを履歴に記録する機能が正しく動作していません(トレードでは全てOKです)。

300行作って比較ファイルを投稿します。

追加

間違っているかもしれないので、確認してください。

ファイル:
Book2.zip  671 kb
 
prostotrader:

10:00と14:05の両方で正確に動作しました。

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

追加

3ヶ月間、すべてが自動的に行われるようにBRを削除しようと思います :)

また、19-00にオークションを開始し、19-05にオークションを開始できることを考えると、夕方のクリアリングを「ねじ込む」方法について何かアイデアはありますか?
 

というわけで、これでおしまいです。

そして、午前の部もアフターもクリアー。

ファイル:
 

多くの苦労があったのですね。 提案の方法による時刻同期は、Ping 値を考慮したものであるため、質問があります。

TERMINAL_PING_LAST識別子でリクエストすると、ターミナルは(MQLドキュメントによると)「取引サーバーへのPingの最後の既知の値(マイクロ秒 )」を提供します。

それは何なのか、その価値は安定しているのか、どれくらいの大きさなのか。長年、ログファイルでこの特性を確認していましたが、今ではターミナルで直接サーバーの一覧でPingを確認することができるようになりました。そして、とても安定しています。何ですか?

想像できるのは2つのバリエーションだけです。

1) ルータがIPパケットの経路解析に用いるネットワーク特性で、ICMPネットワークプロトコルを用いて取得し、実際にはハードウェアの信号伝播のみを考慮したものです。クライアントコンピュータとサーバー間のPing計測の場合、両者のNIC間を往復することになる。このプロトコルのパケットは、通常、アプリケーションに到達していない、それは必要ありませんhttps://ru.wikipedia.org/wiki/ICMP。

2. サーバー上のアプリケーションからクライアント上のアプリケーションまでの信号の移動時間が2倍になる。

どなたか、手がかりをお持ちの方はいらっしゃいませんか?

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

多くの苦労があったのですね。 提案の方法による時刻同期は、Ping 値を考慮したものであるため、質問があります。

TERMINAL_PING_LAST識別子を要求することで、ターミナルは(MQLドキュメントによると)「マイクロ秒単位で取引サーバーへのPingの最後の既知の値 」を提供します。

それは何なのか、その価値は安定しているのか、どれくらいの大きさなのか。長年、ログファイルでこの特性を確認していましたが、今ではターミナルで直接サーバーの一覧でPingを確認することができるようになりました。そして、とても安定しています。何ですか?

想像できるのは2つのバリエーションだけです。

1) ルータがIPパケットの経路解析に用いるネットワーク特性で、ICMPネットワークプロトコルを用いて取得し、実際にはハードウェアの信号伝播のみを考慮したものです。クライアントコンピュータとサーバー間のPing計測の場合、両者のNIC間を往復することになる。このプロトコルのパケットは、通常、アプリケーションに到達していない、それは必要ありませんhttps://ru.wikipedia.org/wiki/ICMP。

2. サーバー上のアプリケーションからクライアント上のアプリケーションまでの信号の移動時間が2倍になる。

どなたか、手がかりをお持ちの方はいらっしゃいませんか?

この質問には、開発者だけが確実に答えることができます。

2枚目を基準にしていました。

> これは、サーバー上のアプリケーションからクライアント上のアプリケーションまでの信号の移動時間の2 倍に相当します。

 
prostotrader:

というわけで、これでおしまいです。

そして、午前の部もアフターもクリアー。

すべてが "時計仕掛け "のように動いていますね。)

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

追加

19-05の入札開始を待つのみ

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

すべてが "時計仕掛け "のように動いていますね。)

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

追加

19-05の入札開始を待つのみ

追加

セルゲイさんへ

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

ちょっと面白いので、差し支えなければスイッチを入れて、どれだけ正確に時刻が同期されているか見てみましょう。

//+------------------------------------------------------------------+
//|                                            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);
  }
//+------------------------------------------------------------------+