通貨ペアのトレードモードの定数
通貨ペアのトレードモードの定数は、選択した通貨ペアでトレードが可能かどうか判別するときに使用されます。
主に、SymbolInfoInteger関数で使用されます。
それぞれ、SymbolInfoInteger関数の SYMBOL_TRADE_MODEの返り値として使用されます。
通貨ペアのトレードモードの定数(ENUM_SYMBOL_TRADE_MODE)
| 定数 | 説明 |
| SYMBOL_TRADE_MODE_DISABLED | トレード禁止 |
| SYMBOL_TRADE_MODE_LONGONLY | 買いトレードのみ許可 |
| SYMBOL_TRADE_MODE_SHORTONLY | 売りトレードのみ許可 |
| SYMBOL_TRADE_MODE_CLOSEONLY | 決済のみ許可 |
| SYMBOL_TRADE_MODE_FULL | トレード許可 |
通貨ペアのトレードモードの定数の使い方
主に、SymbolInfoInteger関数で使用されます。
それぞれ、SymbolInfoInteger関数の SYMBOL_TRADE_MODEの返り値として使用されます。
ENUM_SYMBOL_TRADE_MODE型の変数を作り、その変数にSymbolInfoIntegerの返り値を代入しましょう。
例えば、以下のように使用します。
SymbolInfoIntegerの返り値を ENUM_SYMBOL_TRADE_MODE型にキャスト(型変換)し、変数に代入しています。
//SymbolInfoInteger関数
//通貨ペアのトレードモード情報を取得
ENUM_SYMBOL_TRADE_MODE symbolTradeMode = (ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(_Symbol, SYMBOL_TRADE_MODE);
返り値は ENUM_SYMBOL_TRADE_MODE型です。
サンプルプログラム
以下は、現在の通貨ペアのトレードモードを取得し、エキスパートログに出力するサンプルプログラムです。
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数 |
//+------------------------------------------------------------------+
void OnStart()
{
// 現在の通貨ペアのトレードモードを取得
ENUM_SYMBOL_TRADE_MODE tradeMode = (ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(_Symbol, SYMBOL_TRADE_MODE);
// トレードモードに応じたメッセージを表示
switch(tradeMode)
{
case SYMBOL_TRADE_MODE_DISABLED:
Print(_Symbol, " はトレード禁止です。");
break;
case SYMBOL_TRADE_MODE_LONGONLY:
Print(_Symbol, " は買いトレードのみ許可されています。");
break;
case SYMBOL_TRADE_MODE_SHORTONLY:
Print(_Symbol, " は売りトレードのみ許可されています。");
break;
case SYMBOL_TRADE_MODE_CLOSEONLY:
Print(_Symbol, " は決済のみ許可されています。");
break;
case SYMBOL_TRADE_MODE_FULL:
Print(_Symbol, " はすべてのトレードが許可されています。");
break;
default:
Print(_Symbol, " のトレードモードは不明です。");
break;
}
}
このサンプルでは、SymbolInfoInteger関数で現在の通貨ペアのトレードモードを取得し、switch文で各定数に応じたメッセージをエキスパートログに出力しています。
【補足】通貨ペアのトレードモードの定数の列挙型(ENUM_SYMBOL_TRADE_MODE)
通貨ペアのトレードモードの定数は、ENUM_SYMBOL_TRADE_MODEという列挙型に含まれています。
列挙型は、定数群をひとまとめにしたものです。
以下のように使います。
ENUM_SYMBOL_TRADE_MODE symbolTradeMode = SYMBOL_TRADE_MODE_FULL;上記のようにプログラムすると、symbolTradeMode変数に SYMBOL_TRADE_MODE_FULLの数値が代入されます。





