マーケットクローズ - ページ 8

 
fxsaber:

チャートコメント内のスクリプトでこのバグを確認

この問題を解決するアプリケーションはSDにあるのでしょうか?まだ100本以上、未開封のものがあるのでは?
 

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

サポートチーム2018.01.24 07:13

Windowsは(Unixも)決してリアルタイムOSではないことを念頭に置く必要があります。つまり、このようなシステムでの時間計測は優先順位が低く、誤差が生じる可能性がある。

第二に、システム内のタイマーはメッセージとそのキューに基づいている。Windsアプリケーションでは、すべてのメッセージはメインスレッドで処理されます。順次処理される。そのすべての意味を込めて。

あなたの場合は、クリティカル・タイマーのサンプルを選ぶとよいでしょう。もし、最小の1ミリ秒を選択した場合、1000ミリ秒のサンプルを選択した場合に比べて、メッセージ生成、メッセージ取得、メッセージ処理に1000倍以上の無駄が発生することを覚悟しておいてください。そこで、合理的な妥協点を探します。

まだ100本以上開いてないんですか?

はい。

 

fxsaber:

このように同期をとってみました

動作しない。そして、MT5のラグに対して悪い印象を持っています。これらの変更によって、あなたのスクリプトがどのように動作するか、ご自身でお確かめください。

あなたのコードで試してみましたが、まだラグがあります。SDはラグが当たり前と書いているので、もっと多くの人や会社の有力な社員が注目するのを待ちましょう。


 
Vasiliy Pushkaryov:

あなたのコードで試してみましたが、まだ遅れています。SDでは遅延が当たり前と書かれているので、もっと多くの人、あるいは会社の有力な社員が注目してくれるのを待ちたいと思います。

まあ、それは論理的なようだ、マーケットウォッチで任意のシンボルの最後のティックの時間、およびシンボルウィンドウで - シンボルのティックの時間。だから意見が分かれる、ダニが同時に来ない

 
Vitaly Muzichenko:

まあ、それは理にかなっているようだ、市場の概要では、任意のシンボルの最後のティックの時間、およびシンボルウィンドウで - シンボルのティックの時間です。だから意見が分かれる、ダニが同時に来ない

TimeCurrent- ヘルプを参照してください。

 
fxsaber:

TimeCurrent - ヘルプを参照してください。

そう、最新のサーバー時刻 です。ティックなし - 時間なし、しかし、いくつかのペアの市場概要には常にティックがあるので、時間はティックが「ずっと前」にあったシンボル上の時間に対応しません。

 
Vitaly Muzichenko:

その通り、最新のサーバー時刻です。No tick - no time, but there is always a tick in market review for some pair, so time does not correspond to the time on symbol, where the tick was "long ago".

TimeCurrentは、どのMQL-progでも、どの時間帯でも同じ値を出力します。

 
Vitaly Muzichenko:

その通り、最新のサーバー時刻です。ティックなし - 時間なし、しかし、いくつかのペアの市場概要には常にティックがあるので、時間はティックが "ずっと前" であったシンボルの時間に対応しません。

私もそれを思い出しました。しかし、そこでの言及が追加された。

"その他の場合 (OnInit()、OnDeinit()、 OnTimer() などのハンドラでの 呼び出し)、これはMarket Watchウィンドウで利用できる任意のシンボルの最後の引用の到着時刻 で、このウィンドウのタイトルに表示されるのと同じ時刻 です。"

コード中ではOnTimerとなっており、間隔は0.5秒です。上のスクリーンショットにあるように、ウィンドウのタイトルに表示されている時間がTimeCurrent()と一致しない場合、PrintScreenで簡単に手動でキャッチすることができます。

 
Vasiliy Pushkaryov:

私もそれを思い出しました。しかし、そこでヘルプが追加された。

"その他の場合 (OnInit()、OnDeinit()、 OnTimer() などのハンドラでの 呼び出し)には、Market Watchウィンドウで利用できる任意のシンボルによる最後の引用の到着時刻 で、このウィンドウのタイトルに表示されているのと同じ時刻に なります。"

もともとヘルプは嘘。

OnTick()ハンドラではこの関数が処理中のティックの到着時刻を返します

もちろん、これは事実ではありません。念のため、スクリプト
void OnTick()
{
  Print(TimeCurrent());
  
  Sleep(10000);

  Print(TimeCurrent());  
}
 
fxsaber:

証明書は当初、嘘だった。

確かにそうでしたね。を確認するためのスクリプトです。
何が問題なのか、よくわからない。
理由: