【MQL5】TimeLocal関数について

MQL5リファレンス

スポンサーリンク

TimeLocal関数の働き・役割

TimeLocal関数はトレーダーが自分の端末におけるローカル時間を取得するために使用されます

TimeLocal関数はプログラムが実行されているコンピュータのシステム時計に基づいた時間を返します。

TimeLocal関数とTimeCurrent関数の違いについて

TimeLocal関数TimeCurrent関数の主な違いは、それぞれが返す時間の種類にあります。

TimeLocal関数がトレーダーの端末のローカル時間を返すのに対し、TimeCurrent関数はトレードサーバーの現在の時刻を返します。これは、特に異なるタイムゾーンにいるトレーダーにとって重要な情報となります。

例えば、ロンドン市場が開くのは日本時間では夕方になりますが、ニューヨーク市場は深夜まで開いています。これらの情報を把握しプログラムとして管理できれば、トレーディングセッションを適切に計画できます。

TimeCurrent関数については↓の記事をご参照ください

タイムゾーンについては↓の記事をご参照ください

TimeLocal関数の引数について

TimeLocal関数引数を必要としないシンプルな関数ですが、オーバーロードされたバージョンでは、MqlDateTime構造体インスタンス引数(参照渡し)として取ることもできます。

このバージョンを使用すると、取得した時間情報を直接MqlDateTime構造体型のインスタンスに格納する事ができます。

オーバーロードについての詳細は↓の記事をご参照ください

MqlDateTime構造体についての詳細は↓の記事をご参照ください

参照渡しについての詳細は↓の記事をご参照ください

インスタンスについての詳細は↓の記事をご参照ください

TimeLocal関数の戻り値について

TimeLocal関数戻り値は取得した現在のクライアント端末の日時情報になります。

必然的にデータ型dateTime型となります。

MqlDateTime構造体引数にとるヴァージョンの場合、引数に記述したMqlDateTime構造体インスタンスに格納されている各メンバの値も更新されます

TimeLocal関数を使う際の注意点

TimeLocal関数を使う際は、高精度のタイマーを必要とする場合には適していないことに注意が必要です。

ミリ秒単位での精度が必要な場合は、GetTickCount関数を使用することを検討してください。

GetTickCount関数については↓の記事をご参照ください

また、ストラテジーテスターでのバックテスト中にはTimeLocal関数は、シミュレーションされたサーバータイムであるTimeCurrent関数と同じ値を返します。

TimeLocal関数を使ったサンプルコード

以下のサンプルコードでは、TimeLocal関数TimeCurrent関数の違いを示しています。

void OnStart()
  {
    datetime localTime = TimeLocal();
    datetime serverTime = TimeCurrent();

    Print("ローカル時間: ", TimeToString(localTime, TIME_DATE|TIME_MINUTES));
    Print("サーバー時間: ", TimeToString(serverTime, TIME_DATE|TIME_MINUTES));
  }

<参照>

TimeCurrent関数/TimeToString関数/EnumToString関数/UNIXタイム/タイムスタンプ/datetime型/iTime関数/StringToTime関数/ENUM_TIMEFRAMES/TimeToStruct関数/GetTickCount関数/MqlDateTime構造体/GetTickCount関数/タイムゾーン/TimeDaylightSavings関数/TimeGMT関数/TimeGMTOffset関数/TimeTradeServer関数/

ローカル時間/サーバー時間

————————————————————————————–

※当サイトでは、プログラミング経験ゼロの方でも、プログラミングの基礎から学べる

<MQL5でEAを作ろう講座>

をメインコンテンツとして展開しています。

【言語基礎編】

【中級実際にEAを作ろう編】

【発展編・MT5用EAを作る工程をカスタマイズしていく】

第0回から、順を追って勉強していけばプログラミングの経験がなくてもMQL5を使って、MT5用のEAが作れるように書いています。最初は難しいと感じるかもしれませんが、繰り返し勉強していく事で自然とスキルが身についていくはずです。興味ある方は是非ご覧ください。

タイトルとURLをコピーしました