IsTesting関数|テスト実行中かを確認

2024年10月1日

執筆者

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

MetaTrader4(MT4)は、多くのトレーダーに利用されているトレーディングプラットフォームです。このプラットフォームでは、プログラムがテストで実行されているのかどうかを確認することができます。特に初心者にとっても簡単に行える方法があります。本記事では、MT4でテスト実行中かを確認するための方法について詳しく説明します。

IsTesting関数|テスト実行中かを確認する方法

MT4では、プログラムがテストで実行されているかどうかを確認するために `IsTesting` 関数を使用します。この関数は、プログラムがテスト環境で実行されているかどうかをチェックします。以下に関数の仕様とサンプルコードを示します。

関数仕様
bool IsTesting()

この関数は引数を取らず、テストで実行されている場合は `true` を、テスト以外で実行されている場合は `false` を返します。

以下のサンプルコードを使って、MT4でテスト実行中かどうかを確認することができます。

サンプルコード
// テスト実行中かどうかを確認して表示するサンプルコード
if(IsTesting()) {
    Print(“Currently conducting tests");
} else {
    Print(“otherwise..");
}

上記のコードを実行すると、テスト実行中かどうかに応じて以下のいずれかのメッセージがターミナルに表示されます。

実行結果
Currently conducting tests

または

otherwise..

実際の使用例

MT4でテスト実行中かを確認することは、特にプログラムのデバッグやバックテストを行う際に重要です。例えば、プログラムがテスト環境で実行されている場合にのみ特定の処理を行うようにすることで、実際のトレード環境に影響を与えずにプログラムを検証することができます。

以下は、MT4でテスト実行中かを確認する簡単なエキスパートアドバイザー(EA)の例です。

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

//+——————————————————————+
//| Expert initialization function                                   |
//+——————————————————————+
int OnInit()
  {
  // テスト実行中かどうかを確認して表示する
  if(IsTesting()) {
      Print(“Currently conducting tests");
  } else {
      Print(“otherwise..");
  }
 
  // EAの初期化が成功したことを示す
  return(INIT_SUCCEEDED);
  }
//+——————————————————————+
//| Expert deinitialization function                                 |
//+——————————————————————+
void OnDeinit(const int reason)
  {
  // EAが終了する際に必要な処理をここに記述します
  }
//+——————————————————————+
//| Expert tick function                                             |
//+——————————————————————+
void OnTick()
  {
  // 各ティックごとに実行されるコードをここに記述します
  }
//+——————————————————————+

このエキスパートアドバイザーをMT4のターミナルに導入すると、初期化時にテスト実行中かどうかの状態が表示されます。これにより、簡単にテスト実行中かどうかを確認することができます。

まとめ

MetaTrader4でテスト実行中かを確認する方法は非常に簡単で、`IsTesting` 関数を使用するだけです。初心者でも理解しやすいこの方法を利用して、プログラムがテスト環境で実行されているかどうかを確認し、適切なトレード環境を維持しましょう。
この記事が初心者の方にも役立つことを願っています。

MQL4

Posted by 佐川直弘