mql5言語の特徴、微妙なニュアンスとテクニック - ページ 74

 
Vitaly Muzichenko:

休みの日だから相場がないのか、木曜日にディーリングルームのサーバーがフリーズして相場がないのか、どうすれば分かるのでしょうか?

休日であることは、現地時間から 判断することが可能です。

また、GMTOffsetの計算はOnTickの中だけで行う必要があります。ティックが来ないうちは、サーバーの時刻を計算に使わないでください。ほとんどの場合、それは本当に必要ありません。

最後の手段として、週末にGMTOffsetが必要だった場合、ユーザーにメッセージを送り、GMTOffsetサーバーをリクエストすることもできます。

 
GMTオフセットは、取引週の終値/始値によって決定されます。何しろ、このイベントの現地 時間は既知なのだ。
 
イホル・ヘラスコ

休みの事実は、現地の時間によって判断できる。

しかし、サーバーのGMTOffsetの計算はOnTickの時だけ行われるべきです。ティックが到着していない限り、サーバー時刻を計算に使用しないでください。ほとんどの場合、それは本当に必要ありません。

最後の手段として、週末にGMTOffsetが必要な場合、ユーザーにメッセージを発行し、場合によってはサーバーのGMTOffsetをリクエストします。

fxsaber
GMTオフセットは、取引週の終値/始値によって決定されます。何しろ、このイベントの現地時間は既知なのだ。

土日のサーバー時刻は分からず、最後の見積もり時の到着時刻のみ分かるようになっています。また、サーバーがどのタイムゾーンで動作しているかは不明です。

サーバーの現在時刻を 表示する関数が必要です。例えば、TimeServer(); そうすれば、サーバーの時刻が最後に引用した時刻より 大きいことが常に分かります。GMTOffsetでは救われない。

P.S. 質問は、FXのシンボルについてだけではありません。
 
ヴィタリー・ムジチェンコ

土日のサーバー時刻はわからず、最後に引用した時刻だけがわかる。また、サーバーがどのタイムゾーンで動作しているかはわかりません。

FXの場合は、上に書いたように解決します。

 
ヴィタリー・ムジチェンコ

土曜日と日曜日のサーバーの時間はわかりません

現地の時間がわかるという点で

最後の見積もりの到着時間しかわからない。また、サーバーがどのタイムゾーンにあるのかもわかりません。

そうすれば、サーバーの時間が最後に引用 した時間より長いかどうか、つまりサーバーがオフになっているかハングアップしているかどうかが常にわかるようになります GMTOffsetでは救われない。

現地時間がわかっていれば、推測する必要すらありません。週末かどうかの判断に使っています。また、GMTOffsetサーバーを知ることは、サーバーの時間を計算する機会を与えてくれるに過ぎない。関数TimeServer()が有用であることに異論はない。とはいえ、今はそれがなくても、私たちは逃げ出すことができます。

 
イホール・ヘラスコ

現地時刻がわかる。

現地時間がわかっていれば、推測する必要すらありません。休日かどうかの判断に使われます。また、サーバーの GMTオフセットを 知ることで、サーバーの時刻を計算することができます。関数TimeServer()が有用であることに異論はない。とはいえ、それがなくても、今なら大丈夫。

サーバーの時間じゃない んです。

Документация по MQL5: Дата и время / TimeGMTOffset
Документация по MQL5: Дата и время / TimeGMTOffset
  • www.mql5.com
Возвращает текущую разницу между временем GMT и локальным временем компьютера в секундах с учетом перехода на зимнее или летнее время. Зависит от настроек времени на компьютере пользователя.
 
ヴィタリー・ムジチェンコ

サーバーの時間じゃないんです。

TimeLocal()についてです。当然、TimeGMTOffsetも必要です。刻みがあれば、ServerGMTOffsetを簡単に計算することができます。EAが少なくとも1つのリアルティックを受信していれば、TimeLocal()を使用して現在の サーバー時刻を 計算することができます。

ティックが到着しないままEAが起動してしまった場合に発生します。この場合、週末かどうかを判断する必要があります。週末である場合、実際のサーバー時間に関連するすべての計算は、週末が終わるまで延期しなければなりません。週末に計算を行う必要がある場合は、ServerGMTOffsetを指定するようユーザーに依頼してください。このデータを取得し、TimeLocal() と TimeGMTOffset() を使って、現在のサーバー時刻を取得します。

 
イホル・ヘラスコ

TimeLocal()についてです。当然、TimeGMTOffsetも必要です。刻みがある場合は、ServerGMTOffsetの算出に問題はありません。EAが少なくとも1つのリアルティックを受信していれば、TimeLocal()を使用して現在の サーバー時刻を 計算することができます。

ティックが到着しないままEAが起動してしまった場合に発生します。この場合、週末かどうかを判断する必要があります。週末であれば、実際のサーバー時間に関連するすべての計算は、週末が終わるまで延期しなければなりません。週末に計算を行う必要がある場合は、ServerGMTOffsetを指定するようユーザーに依頼してください。このデータを受け取り、TimeLocal()とTimeGMTOffset()を使って、現在のサーバーの時刻を取得する。

その通りです。Expert Advisorを「ティックなし」のタイミングでチャートにぶら下げる。これは何でもいいし、週末でもいい。

最後のティックの時刻は15分前ですが(EAはそれを知らないし、我々も知らない)、サーバーは何時に動いているのでしょうか?本当に15分前なのか、1時間15分なのか、それとも3時間15分なのか?

 
Vitaly Muzichenko:

その通りです。ティックなし」期間中にEAをチャートにぶら下げる。これは何でもいいし、週末でもいい。

最後のティックの時刻は15分前ですが(EAはこれを知らないし、我々も知らない)、サーバーは何時を使用しているのでしょうか?本当に15分前なのか、それとも1時間15分なのか、3時間15分なのか。

Vitaly 時間帯が 1時間以上違うんですよ。正確には、1時間の倍数です。それぞれ、1時間以上の差があれば、何かが起こったということになる。

具体的には、OnInitでローカルとサーバーの時刻の差を受け取り、現在の差と比較することが可能である。一般的には、ファン向けのオプションです。

 
Alexey Viktorov:

Vitaly 時間帯が1時間以上違うんです。正確には、1時間の倍数です。従って、1時間以上の差があれば、何かあったということになる。

具体的には、OnInitでローカルとサーバーの時刻の差を受け取り、現在の差と比較することが可能である。一般的に、アマチュアのためのオプション。

土曜日にEAをチャート上に置いたのですが、EAが最後のティックの時間を受信してしまうことがあります。例えば、Market Watchでは23:58ですが、私のローカルタイムは04:45です。サーバーの 時間はわかりません。

質問は、最後のティックからサーバー時刻(端末時刻)までの経過時間です。

理由: