アカウントのトレードモードの定数
アカウントのトレードモードの定数は、アカウントでトレードが可能かどうか判別するときに使用されます。
主に、AccountInfoInteger関数で使用されます。
それぞれ、AccountInfoInteger関数の ACCOUNT_TRADE_MODEの返り値として使用されます。
アカウントのトレードモードの定数(ENUM_ACCOUNT_TRADE_MODE)
| 定数 | 説明 |
| ACCOUNT_TRADE_MODE_DEMO | デモモードのアカウント |
| ACCOUNT_TRADE_MODE_CONTEST | コンテストモードのアカウント |
| ACCOUNT_TRADE_MODE_REAL | リアルモードのアカウント |
アカウントのトレードモードの定数の使い方
主に、AccountInfoInteger関数で使用されます。
それぞれ、AccountInfoInteger関数の ACCOUNT_TRADE_MODEの返り値として使用されます。
ENUM_ACCOUNT_TRADE_MODE型の変数を作り、その変数にAccountInfoInteger関数の返り値を代入しましょう。
例えば、以下のように使用します。
AccountInfoInteger関数の返り値を ENUM_ACCOUNT_TRADE_MODE型にキャスト(型変換)し、変数に代入しています。
//AccountInfoInteger関数
//アカウントのトレードモードを取得
ENUM_ACCOUNT_TRADE_MODE accountTradeMode = (ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);
返り値は ENUM_ACCOUNT_TRADE_MODE型です。
サンプルプログラム
以下は、アカウントのトレードモードを取得し、モードに応じたメッセージをエキスパートログに出力するサンプルプログラムです。
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数 |
//+------------------------------------------------------------------+
void OnStart()
{
// アカウントのトレードモードを取得
ENUM_ACCOUNT_TRADE_MODE accountTradeMode = (ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);
// トレードモードに応じてメッセージを出力
switch(accountTradeMode)
{
case ACCOUNT_TRADE_MODE_DEMO:
Print("現在のアカウントはデモモードです。");
break;
case ACCOUNT_TRADE_MODE_CONTEST:
Print("現在のアカウントはコンテストモードです。");
break;
case ACCOUNT_TRADE_MODE_REAL:
Print("現在のアカウントはリアルモードです。");
break;
default:
Print("トレードモードを判定できませんでした。");
break;
}
}
このサンプルでは、AccountInfoInteger関数にACCOUNT_TRADE_MODEを指定してトレードモードを取得し、switch文で各モードに応じた処理を行っています。
【補足】アカウントのトレードモードの定数の列挙型(ENUM_ACCOUNT_TRADE_MODE)
アカウントのトレードモードの定数は、ENUM_ACCOUNT_TRADE_MODEという列挙型に含まれています。
列挙型は、定数群をひとまとめにしたものです。
以下のように使います。
ENUM_ACCOUNT_TRADE_MODE accountTradeMode = (ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);上記のようにプログラムすると、accountTradeMode変数に現在のアカウントのトレードモードに対応する定数値が代入されます。





