マーケットクローズ - ページ 6 123456789101112 新しいコメント prostotrader 2017.09.22 08:48 #51 fxsaber:このような場合のみ、タイミングが異なることがわかります。MqlTickが tickをそのまま返さないことは、何度か議論されています。見積もりと取引の2つのティックストリームがあること。また、CopyTicksでは、ストリームが非同期であるため、時には遡ってマージされることがあります。そして、MqlTickとCopyTicksのタイミングが一致しない場合があること。10SEK.が一致しないことは本当にあるのでしょうか?2017.09.22 11:18:38.257 Test_time (RTS-12.17,M1) CopyTicks time = 11:18:27; SymbolInfoTick = 11:18:37 fxsaber 2017.09.22 08:50 #52 prostotrader:10SEC.はマッチングしないのでしょうか?Metaquotes-Demoにそのようなものはありません。 prostotrader 2017.09.22 08:53 #53 fxsaber:Metaquotes-Demoでは、そのようなことはありません。デモオープナーなので、本番で試してみます...。追加ああ、現実じゃないほうが楽しいな。2017.09.22 11:58:03.892 Test_time (Si-12.17,M1) CopyTicks time = 11:58:03; SymbolInfoTick = 11:58:03 2017.09.22 11:58:03.922 Test_time (Si-12.17,M1) CopyTicks time = 11:58:03; SymbolInfoTick = 11:58:03 2017.09.22 11:58:05.186 Test_time (Si-12.17,M1) CopyTicks time = 11:58:03; SymbolInfoTick = 11:58:04 2017.09.22 11:58:06.110 Test_time (Si-12.17,M1) CopyTicks time = 11:58:03; SymbolInfoTick = 11:58:05 2017.09.22 11:58:06.230 Test_time (Si-12.17,M1) CopyTicks time = 11:58:06; SymbolInfoTick = 11:58:06 2017.09.22 11:58:06.350 Test_time (Si-12.17,M1) CopyTicks time = 11:58:06; SymbolInfoTick = 11:58:06 2017.09.22 11:58:06.430 Test_time (Si-12.17,M1) CopyTicks time = 11:58:06; SymbolInfoTick = 11:58:06 2017.09.22 11:58:06.430 Test_time (Si-12.17,M1) CopyTicks time = 11:58:06; SymbolInfoTick = 11:58:06 2017.09.22 11:58:07.174 Test_time (Si-12.17,M1) CopyTicks time = 11:58:07; SymbolInfoTick = 11:58:07 fxsaber 2017.09.22 09:04 #54 prostotrader:現実にはない方が面白い。ミリ秒などの データがある。 prostotrader 2017.09.24 15:35 #55 fxsaber:ミリ秒などの データが得られます。とりあえず、以下を行うことにした。//bool CheckMarketTime(const string a_symbol) bool CheckMarketTime() { sv_time.year = 0; TimeTradeServer(sv_time); if(sv_time.year > 0) { if((sv_time.day_of_week == int(FirstDay)) || //первый выходной (sv_time.day_of_week == int(SecondDay))) return(false); //Второй выходной sv_time.year = 0; TimeCurrent(sv_time); if(sv_time.year > 0) { ulong cur_time = sv_time.hour * 3600 + sv_time.min * 60 + sv_time.sec; if(((cur_time >= time_st_mon) && (cur_time < 50370)) || ((cur_time >= time_st_day) && (cur_time < 67470)) || ((cur_time >= time_st_evn) && (cur_time < 85770))) { return(true); } } } } prostotrader 2017.09.24 15:42 #56 良いアイデアは、単純にサーバー(交換機)の時刻を翻訳することですの代わりに、Market Watch の直近の気配値から取得される TimeCurrent() を使用します。は、交換の時間を単純に変換する関数TimeServer()を作る。そうすれば、TimeTradeServer() は不要になります。この2つの機能で十分ですTimeLocal()とTimeServer() fxsaber 2017.09.24 16:37 #57 prostotrader: とりあえず、このように作ることにしたこのスレッドでのTCの振る舞いを思い出す。 Перевод string в часы и минуты 2017.09.06www.mql5.com Когда встаёт задача задать во входных параметрах время в формате ЧЧ:ММ, приходится решать дилему: удобство пользователя при вводе значений или удоб... Vasiliy Pushkaryov 2018.01.23 01:23 #58 写真では、チャート上の出力はTimeTradeServer()関数で、時間はより速く実行されます。 TimeCurrent()を出力すると、現在のシンボルによる最新の気配値の時刻になるため、不整合もしばしば発生します。 Market Watchの時刻と同期して、直近の気配値の時刻を出力するにはどうしたらよいですか。 fxsaber 2018.01.23 05:18 #59 Vasiliy Pushkaryov:Market Watchの時刻と同期して、直近の気配値の時刻を出力するにはどうしたらよいですか。TimeCurrent。 Vasiliy Pushkaryov 2018.01.23 12:22 #60 fxsaber:TimeCurrent。ええ、それもあまり良いものではありません。OnTimerを使って1秒に1回出力しているので、メッセージ出力もprintに追加することにしました。そこに同じ時間が2回流れているのがわかる。OnTimerのTimeCurrentは「 Market Watchウィンドウで利用可能な任意のシンボルの最終気配値の時間、このウィンドウのヘッダーに表示されているのと同じ時間」とヘルプに書いてありました。つまり、これが必要なのです。理論上は。しかし、実際には何か違和感がある。 123456789101112 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
このような場合のみ、タイミングが異なることがわかります。
MqlTickが tickをそのまま返さないことは、何度か議論されています。見積もりと取引の2つのティックストリームがあること。また、CopyTicksでは、ストリームが非同期であるため、時には遡ってマージされることがあります。そして、MqlTickとCopyTicksのタイミングが一致しない場合があること。
10SEK.が一致しないことは本当にあるのでしょうか?
10SEC.はマッチングしないのでしょうか?
Metaquotes-Demoにそのようなものはありません。
Metaquotes-Demoでは、そのようなことはありません。
デモオープナーなので、本番で試してみます...。
追加
ああ、現実じゃないほうが楽しいな。
現実にはない方が面白い。
ミリ秒などの データがある。
ミリ秒などの データが得られます。
とりあえず、以下を行うことにした。
良いアイデアは、単純にサーバー(交換機)の時刻を翻訳することです
の代わりに、Market Watch の直近の気配値から取得される TimeCurrent() を使用します。
は、交換の時間を単純に変換する関数TimeServer()を作る。
そうすれば、TimeTradeServer() は不要になります。
この2つの機能で十分です
TimeLocal()とTimeServer()
とりあえず、このように作ることにした
このスレッドでのTCの振る舞いを思い出す。
写真では、チャート上の出力はTimeTradeServer()関数で、時間はより速く実行されます。
TimeCurrent()を出力すると、現在のシンボルによる最新の気配値の時刻になるため、不整合もしばしば発生します。
Market Watchの時刻と同期して、直近の気配値の時刻を出力するにはどうしたらよいですか。
Market Watchの時刻と同期して、直近の気配値の時刻を出力するにはどうしたらよいですか。
TimeCurrent。
TimeCurrent。
ええ、それもあまり良いものではありません。OnTimerを使って1秒に1回出力しているので、メッセージ出力もprintに追加することにしました。そこに同じ時間が2回流れているのがわかる。OnTimerのTimeCurrentは「 Market Watchウィンドウで利用可能な任意のシンボルの最終気配値の時間、このウィンドウのヘッダーに表示されているのと同じ時間」とヘルプに書いてありました。
つまり、これが必要なのです。理論上は。しかし、実際には何か違和感がある。