Пожалуйста, проясните, с какой точностью идут часы, используемые системой ФОРТС для временной разметки сделок. Меня интересует, синхронизируются ли часы с какими либо высокоточными часами реального времени (GPS, атомными часами или т.п.), как часто происходит синхронизация, какова погрешность времени на ФОРТС между периодами синхронизации...
そんなことはない!
MT5サーバーを経由して取引するため、MT5サーバーの時間以外のものは正しくありません。
追加
MT5サーバーの時刻が取引所の時刻と正しく同期していることを強く望みます。
http://forum.moex.com/viewtopic.asp?t=15432&topicdays=0&postorder=asc&start=0 の最初の2ページには、FORTS exchange の時刻同期に関する多くの興味深い情報があり、すべてのブローカーが時刻を同期できる RTS exchange の ntp.rtsnet.ru NTP サーバーのアドレスも記載されています。お客様にはご利用いただけませんでした。確かに、これは2009年から2010年にかけての話です。ブローカーのテクニカルサポートでは、当該ブローカーが今どうなっているかを回答してくれると思います。
同期そのものは別として、後続のイベントがブローカーから前の時刻を取得しないように、「スムーズな」タイムシフトアルゴリズムを適用してほしいです。この仕組みは、NTP同期には含まれません。
http://forum.moex.com/viewtopic.asp?t=15432&topicdays=0&postorder=asc&start=0 の最初の2ページには、FORTS取引所の時刻同期に関する多くの興味深い情報と、RTS取引所のNTPサーバーであるntp.rtsnet.ruのアドレスが含まれており、これを通じてすべてのブローカーが時刻同期を行うことができます。お客様にはご利用いただけませんでした。確かに、これは2009年から2010年にかけての話です。あなたのブローカーの技術サポートは、おそらく、与えられたブローカーで今のように、答えるだろう。
同期そのものは別として、後続のイベントがブローカーから前の時刻を取得しないように、「スムーズな」タイムシフトアルゴリズムを適用してほしい。この仕組みは、NTP同期には含まれません。
С уважением,
Глеб Кочнев
Техническая поддержка ПАО Московская Биржа
+7 (495) 733-95-07 | help@moex.com
なぜこのコードでは正確に時刻が同期されないのか、誰か説明してください。
結局、プレマーケットには、新しいサーバー(取引所)時間で、「新鮮な」相場が表示されるのです。
{
loc_time.wYear=0;
GetLocalTime(loc_time);
if(loc_time.wYear>0)
{
if((loc_time.wHour==9) && (loc_time.wMinute>=50) && (loc_time.wMinute<=59))
{
MqlTick curr_tick[1];
if(CopyTicks(symbol,curr_tick,COPY_TICKS_INFO,0,1)==1)
{
MqlDateTime sv_time;
TimeToStruct(curr_tick[0].time,sv_time);
if(!is_sync)
{
if((loc_time.wDayOfWeek==ushort(sv_time.day_of_week)) &&
(loc_time.wHour==ushort(sv_time.hour)))
{
long last_ping=long(NormalizeDouble((double(TerminalInfoInteger(TERMINAL_PING_LAST))/1000)/2,0));
long mls_time=long(curr_tick[0].time_msc%1000);
if((mls_time+last_ping)>999)
{
mls_time=long(curr_tick[0].time_msc)+last_ping;
if(!ConvertToTime(mls_time, loc_time)) return;
}
else
{
loc_time.wMinute = ushort(sv_time.min);
loc_time.wSecond = ushort(sv_time.sec);
loc_time.wMilliseconds=ushort(mls_time);
}
if(SetLocalTime(loc_time))
{
is_sync=true;
Print("Local time sync is done. Symbol = ", symbol, " Sync min = ", loc_time.wMinute,
" Sync sec = ", loc_time.wSecond, " Sync ms = ", loc_time.wMilliseconds);
}
}
}
}
}
else is_sync=false;
}
}
上記のコードが何を根拠にしているのかを説明します。
CopyTicks()関数とフラグCOPY_TICKS_INFO
フラグは、直近の気配値(Bid, Ask)をサーバー時間と共に返します。
OnBookEvent()イベントで、最後に引用された時刻を 取得することができます。
チェック
(loc_time.wHour==ushort(sv_time.hour)))
新鮮な見積りであることを確認します。
10時以降、サーバーの時刻が数秒単位で合わないのはなぜか
を、同期されたローカルタイムで表示しますか?
С уважением,
Глеб Кочнев
Техническая поддержка ПАО Московская Биржа
+7 (495) 733-95-07 | help@moex.com
また、「MT5サーバーの時刻が 取引所の時刻と正しく同期していることを強く希望する!」という重要な質問はどのように解決されたのでしょうか?
また、「MT5のサーバーの時刻が為替時刻と正しく同期していることを強く希望する」という重要なご質問は、どのように解決されたのでしょうか。
解決していません。開発者がどのようにMT5サーバーの時間を取引所の時間と同期させているのか、どうすれば知ることができますか?
ブローカー(オトコイチエ)が自動的に書き込んだのだが、具体的にどうなのかは、開発者しかわからない。
が、議論に巻き込まれることはない。
追加
そして、これは私の重要な質問ではありません
私の疑問は
ローカルタイムと MT5 FORTSサーバーの時刻をできるだけ正確に同期させるにはどうしたらいいですか?
MT5 FORTSのサーバーの時刻と、自分のローカル時刻をできるだけ正確に同期させるにはどうしたらいいですか?
OnTick
OnTickはプレマーケットとクリアリングでは来ませんし、時
入札前にシンクロさせる必要があります。
OnTickはプレマーケットとクリアリングでは来ませんし、時
入札前にシンクロさせる必要があります。
取引前に時間を同期させる理由はないと思います。11:32にターミナルを開くと、最初のティックで同期されました。
2017.01.13 10:00:03.969 Trades 'xxxxx': sell limit 1.00 ED-6.17 at 1.0813
2017.01.13 10:00:03.975 Trades 'xxxxx': accepted buy limit 2.00 ED-6.17 at 1.0642
2017.01.13 10:00:03.975 Trades 'xxxxx': accepted sell limit 1.00 ED-6.17 at 1.0813
2017.01.13 10:00:03.978 Trades 'xxxxx': failed buy limit 2.00 ED-6.17 at 1.0642 [Market closed]
2017.01.13 10:00:03.979 Trades 'xxxxx': failed sell limit 1.00 ED-6.17 at 1.0813 [Market closed]
ブローカーからの回答
2017.01.13 09:59:58.098 * request transfered to dealers * (buy limit 2.00 ED-6.17 at 1.0642)
2017.01.13 09:59:58.099 * request transfered to dealers * (sell limit 1.00 ED-6.17 at 1.0813)
2017.01.13 09:59:58.099 * request from '*' (buy limit 2.00 ED-6.17 at 1.0642)
2017.01.13 09:59:58.099 * request from '*' (sell limit 1.00 ED-6.17 at 1.0813)
2017.01.13 09:59:58.100 * reject (Market closed) for '*' (buy limit 2.00 ED-6.17 at 1.0642)(1.0641 / 1.0814 / 1.0695)
2017.01.13 09:59:58.100 * reject (Market closed) for '*' (sell limit 1.00 ED-6.17 at 1.0813)(1.0641 / 1.0814 / 1.0695)
そして、それを見ている。
追加
そして、90日間ずっと端末を起動させています(先物変更前)。
追加
私のロボットは、私が参加する必要がないので、時には近づかないこともあります。
1週間はパソコンに向かわない。何か極端なことが起きると、メールが届きます。