現在、mql4は受信ティックに対して秒単位までの時間しか提供することができません。以下の関数を使用しています。
MarketInfo(Symbol(), MODE_TIME)
1) ミリ秒のタイムスタンプを提供できる別の関数、またはプラットフォームに来るティックデータのミリ秒を決定するために使用できる関数はありますか?
2) mql5の機能を組み合わせた新しいmql4は、受信ティックのミリ秒(またはサブ秒)タイムスタンプを要求または取得することができるのでしょうか?
mt4 (および mt5) プラットフォームは、「同じ時間」に入力されたティックをどのように適切に区別するのでしょうか?
1) GetTickCount(), Liveで動作するはずです。ヒストリカルデータでは無意味です。
2) mt5_data でさえ、ミリ秒単位で保存されていない。しかし、Liveではノープロブレム。
3)どこがどうなっているのかわからない。ミリ秒単位で同じ時間なら、ミリ秒があってもしょうがないでしょう。ミリ秒単位で異なる時間なら、GetTickCount()で解決できるかもしれません。この場合、コードが1ミリ秒以内に現在のティックを処理するという意味で役に立ちます。どの程度重要かは、何を達成しようとしているかによると思います。
4evermaat: ティックはVolumeで区別されていると思います。ブローカーから新しいティックが送信されるたびに、ボリュームは1つずつ増えていきます。例えば、M1チャートを見ている場合、特定のバーのボリュームは、その分、何ティックが送信されたかを示します。
実は昨日、ミリ秒単位で時間を記録する関数を作ろうとしたんです。TimeCurrent() とGetTickCount()を使って いました。数学的には正しいのですが、GetTickCount()は十分に正確ではありません。イベント時間を最後の1秒に丸める(つまりTimeCurrent()を使う)方が、私の関数よりも誤差が小さいことが分かりました... :/。
また別の日に試してみますが、私が見る限り、1秒以内の精度が必要な場合は、GetTickCount()に頼ることはできません。
多分、C++の専門家は、より正確なGetTickCount()の同等物にアクセスできるのではないでしょうか...?
少なくとも2つの選択肢があります。
1.MQLのGetTickCount()で刻みを区別する、これは16msの精度です。
2.2. Kernell32.dllのGetLocalTime()を使ってPCの時刻にアクセスし、ナノ秒の精度を得る(これはLinuxのエミュレータでは動作しません、彼らはまだ16ミリ秒の精度を返します)。
1) 私のテストから、私はGetTickCount()が16msの精度を持っているとは思えません。確かに、16msは私が得る小さな値ですが(0を除いて)、16msについての値が最も近い16msに正確であるとは思いません :/。
2) ああ、それは素晴らしいアイデアです。試してみます。
1) 私のテストでは、GetTickCount()が16msの精度を持つとは思えません。確かに16msは(0を除けば)小さな値ですが、16ms程度の値が最も近い16msの精度を持つとは思えません :/。
2) ああ、それはいい考えですね。試してみます。
すみません、私は精度と正確さをよく混乱させるので、どちらがどちらなのか今でもよくわかりません。
すみません、私はよく精度と正確さを混同してしまうので、今でもどれがどれだかよくわかりません。
私もそうです。私が知っているのは、数学的にうまくいくはずの数式が、現実にはうまくいかないということだけです...だから、GetTickCount() のせいにしています :)
現在、mql4は受信ティックに対して秒単位までの時間しか提供することができません。 以下の関数を使用しています。
MarketInfo(Symbol(), MODE_TIME)
1) ミリ秒のタイムスタンプを提供できる別の関数、またはプラットフォームに来るティックデータのミリ秒を決定するために使用できる関数はありますか?
2) mql5の機能を組み合わせた新しいmql4は、受信ティックのミリ秒(またはサブ秒)タイムスタンプを要求または取得することができるのでしょうか?
mt4 (および mt5) プラットフォームは、「同じ時間」に入力されたティックをどのように適切に区別するのでしょうか?
![MQL5 - MetaTrader 5クライアントターミナルにビルトインされたトレードストラテジーの言語](https://c.mql5.com/i/registerlandings/logo-2.png)
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
現在、mql4は受信ティックに対して秒単位までの時間しか提供することができません。 以下の関数を 使用しています。
MarketInfo(Symbol(), MODE_TIME)
1) ミリ秒のタイムスタンプを提供できる別の関数、またはプラットフォームに来るティックデータのミリ秒を決定するために使用できる関数はありますか?
2) mql5の機能を組み合わせた新しいmql4は、受信ティックのミリ秒(またはサブ秒)タイムスタンプを要求または取得することができるのでしょうか?
mt4 (および mt5) プラットフォームは、「同じ時間」に入力されたティックをどのように適切に区別するのでしょうか?