MQL5 プログラム実行プロパティ

実行中の MQL5 プログラムの情報取得には ENUM_MQL_INFO_INTEGER 及び ENUM_MQL_INFO_STRING からの定数が使用されます。

MQLInfoInteger 関数

ENUM_MQL_INFO_INTEGER

識別子

説明

Type

MQL_HANDLES_USED

現在アクティブなオブジェクトハンドルの数。動的(newで作成)オブジェクトと非動的オブジェクトの両方、グローバル/ローカル変数、またはクラスメンバーが含まれます。プログラムが使用するハンドルが多いほど、プログラムが消費するリソースも多くなります。

int

MQL_MEMORY_LIMIT

MQL5 プログラムの最大動的メモリ量( MB 単位)。

int

MQL_MEMORY_USED

MQL5 プログラムのメモリ使用量( MB 単位)。

int

MQL_PROGRAM_TYPE

MQL5 プログラムの種類。

ENUM_PROGRAM_TYPE

MQL_DLLS_ALLOWED

指定された実行プログラムで DLL を使用する許可。

bool

MQL_TRADE_ALLOWED

指定された実行プログラムでの取引許可

bool

MQL_SIGNALS_ALLOWED

指定された実行プログラムでシグナルを変更する許可。

bool

MQL_DEBUG

デバグモードを示すフラグ。

bool

MQL_PROFILER

プログラムがコードプロファイリングモードで動作することを示すフラグ。

bool

MQL_TESTER

テスタプロセスを示すフラグ。

bool

MQL_FORWARD

プログラムがフォワードテストプロセスで実行されていることを示すフラグ

bool

MQL_OPTIMIZATION

最適化プロセスを示すフラグ。

bool

MQL_VISUAL_MODE

ビジュアルテスタプロセスを示すフラグ。

bool

MQL_FRAME_MODE

エキスパートアドバイザーが最適化結果のフレーム収集モード で動作されるというフラグ。

bool

MQL_LICENSE_TYPE

EX5 モジュールのライセンスの種類。ライセンスは MQLInfoInteger(MQL_LICENSE_TYPEを使用してリクエストされた EX5 モジュールを指します。

ENUM_LICENSE_TYPE

MQL_STARTED_FROM_CONFIG

スクリプト/EAが設定ファイルのStartUpセクションから起動された場合、trueを返します。これは、このスクリプト/EAがターミナルの起動に使用された設定ファイルに登録されたことを意味します。

bool

MQLInfoString 関数

ENUM_MQL_INFO_STRING

識別子

説明

Type

MQL_PROGRAM_NAME

実行される MQL5 プログラムの名称。

string

MQL5_PROGRAM_PATH

指定されたプログラムのパス。

string

 

実行中のプログラムの情報には、ENUM_PROGRAM_TYPE の値が使用されます。

ENUM_PROGRAM_TYPE

識別子

説明

PROGRAM_SCRIPT

スクリプト。

PROGRAM_EXPERT

エキスパート。

PROGRAM_INDICATOR

指標。

PROGRAM_SERVICE

サービス

 

ENUM_LICENSE_TYPE

識別子

説明

LICENSE_FREE

無制限の無料版。

LICENSE_DEMO

マーケットから購入した製品の試用版。ストラテジーテスターー内のみで使用出来ます。

LICENSE_FULL

購入したライセンス版では、少なくとも 5 アクティベーションが可能です。アクティベーションの数は、売主によって指定されます。売主は、アクティベーションの許容数を増加させることが出来ます。

LICENSE_TIME

期間限定ライセンス版。

例:

  ENUM_PROGRAM_TYPE mql_program=(ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE);
  switch(mql_program)
    {
    case PROGRAM_SCRIPT:
       {
        Print(__FILE__+" is script");
        break;
       }
    case PROGRAM_EXPERT:
       {
        Print(__FILE__+" is Expert Advisor");
        break;
       }
    case PROGRAM_INDICATOR:
       {
        Print(__FILE__+" is custom indicator");
        break;
       }
    default:Print("MQL5 type value is ",mql_program);
  //---
  Print("MQLInfoInteger(MQL_MEMORY_LIMIT)=", MQLInfoInteger(MQL_MEMORY_LIMIT), " MB");
  Print("MQLInfoInteger(MQL_MEMORY_USED)=", MQLInfoInteger(MQL_MEMORY_USED), " MB");
  Print("MQLInfoInteger(MQL_HANDLES_USED)=", MQLInfoInteger(MQL_HANDLES_USED), " handles");