GetTickCount関数|経過時間の取得

2024年10月1日

執筆者

佐川直弘(株式会社トリロジー取締役)

MetaTrader4(MT4)は、多くのトレーダーに利用されているトレーディングプラットフォームです。このプラットフォームでは、システムが開始してからの経過時間を取得することができます。特に初心者にとっても簡単に行える方法があります。本記事では、MT4で経過時間を取得するための方法について詳しく説明します。

GetTickCount関数|経過時間を取得する方法

MT4では、システムが開始してからの経過時間を取得するために `GetTickCount` 関数を使用します。この関数は、システムの起動後からの経過時間をミリ秒単位で返します。以下に関数の仕様とサンプルコードを示します。

関数仕様
int GetTickCount()

この関数は引数を取らず、戻り値としてシステムが開始してからの経過時間をミリ秒単位で返します。

以下のサンプルコードを使って、MT4で経過時間を取得することができます。

サンプルコード
// システムが開始してからの経過時間を取得して表示するサンプルコード
int start;
int OnInit() {
  start = GetTickCount();
  return(INIT_SUCCEEDED);
}
void OnTick() {
  Print(“Elapsed calculation time: “, GetTickCount() – start, " milliseconds.");
}

上記のコードを実行すると、以下のように経過時間がターミナルに表示されます。

実行結果
Elapsed calculation time:1234 milliseconds.

実際の使用例

MT4でシステムが開始してからの経過時間を取得することは、特にパフォーマンスの測定やデバッグを行う際に役立ちます。例えば、特定の処理がどれだけの時間を要したかを確認することで、プログラムの最適化に役立てることができます。

以下は、MT4で経過時間を表示する簡単なエキスパートアドバイザー(EA)の例です。

EA(mql4スクリプト)の例
//+——————————————————————+
//|                                     GetElapsedTime.mq4           |
//|                        Copyright 2024, Your Name                 |
//|                                   https://yourwebsite.com        |
//+——————————————————————+
#property strict

int start;

//+——————————————————————+
//| Expert initialization function                                   |
//+——————————————————————+
int OnInit() {
  start = GetTickCount();
  return(INIT_SUCCEEDED);
}

//+——————————————————————+
//| Expert deinitialization function                                 |
//+——————————————————————+
void OnDeinit(const int reason) {
  // EAが終了する際に必要な処理をここに記述します
}

//+——————————————————————+
//| Expert tick function                                             |
//+——————————————————————+
void OnTick() {
  Print(“Elapsed calculation time: “, GetTickCount() – start, " milliseconds.");
}

このエキスパートアドバイザーをMT4のターミナルに導入すると、各ティックごとに経過時間が表示されます。これにより、簡単にシステムのパフォーマンスを確認することができます。

まとめ

MetaTrader4でシステムが開始してからの経過時間を取得する方法は非常に簡単で、`GetTickCount` 関数を使用するだけです。初心者でも理解しやすいこの方法を利用して、システムのパフォーマンスを確認し、より効率的なトレーディング環境を構築しましょう。
この記事が初心者の方にも役立つことを願っています。

MQL4

Posted by 佐川直弘