AccountInfoInteger()の使い方
MQL4 (MT4)のAccountInfoInteger()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。
使用GPTs:EA Creator
MT4 MQL4のAccountInfoIntegerの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。
使い方
AccountInfoInteger
関数は、アカウントに関する特定の整数情報を取得するために使用されます。この関数を使用することで、アカウントのレバレッジ、アカウント番号などの整数型の情報を取得できます。
AccountInfoInteger関数の使用法
long AccountInfoInteger(
int property_id // プロパティの識別子
);
property_id
: 取得したいアカウント情報の識別子です。例えば、ACCOUNT_LOGIN
(アカウント番号)、ACCOUNT_LEVERAGE
(レバレッジ)などが指定できます。property_id
パラメータに設定できるENUM_ACCOUNT_INFO_INTEGER
値の一覧表です。これらの値を使用して、アカウントに関連する特定の整数情報を取得できます。
ENUM_ACCOUNT_INFO_INTEGER 値 | 説明 |
---|---|
ACCOUNT_LOGIN | アカウント番号。 |
ACCOUNT_TRADE_MODE | アカウントのトレードモード(デモ、リアル)。 |
ACCOUNT_LEVERAGE | アカウントのレバレッジ。 |
ACCOUNT_LIMIT_ORDERS | アカウントで許可されているリミットオーダーの最大数。 |
ACCOUNT_MARGIN_SO_MODE | マージンコールに関するアカウントのモード(パーセンテージまたは通貨でのマージンコール)。 |
ACCOUNT_TRADE_ALLOWED | アカウントでトレードが許可されているかどうか(0 = トレード禁止、1 = トレード許可)。 |
ACCOUNT_TRADE_EXPERT | 専門家アドバイザー(EA)によるトレードが許可されているかどうか。 |
ACCOUNT_MARGIN_SO_CALL | アカウントのマージンコールレベル。 |
ACCOUNT_MARGIN_SO_SO | アカウントのストップアウトレベル。 |
ACCOUNT_MARGIN_MODE | マージン計算のモード。 |
ACCOUNT_CURRENCY_DIGITS | アカウントの通貨の小数点以下の桁数。 |
ACCOUNT_STATUS | アカウントのステータス(例: EMAIL未認証など)。 |
ACCOUNT_STOPOUT_MODE | ストップアウトモード(パーセンテージまたは基本通貨)。 |
これらの値をproperty_id
に指定することで、アカウントのレバレッジ、アカウント番号、トレード許可状態など、整数型で表される様々なアカウント情報を取得できます。これらの情報は、アカウントの状態を把握したり、トレード条件を確認したりするのに役立ちます。
使用する際は、必要な情報に対応するENUM_ACCOUNT_INFO_INTEGER
の値を選択してください。これにより、プログラム的にアカウント情報にアクセスし、トレーディング戦略やリスク管理プロセスに活用することができます。
使用例: アカウントのレバレッジとアカウント番号を取得
以下の例では、アカウントのレバレッジとアカウント番号を取得し、それらを表示します。
void OnStart()
{
// アカウントのレバレッジを取得
long leverage = AccountInfoInteger(ACCOUNT_LEVERAGE);
// アカウント番号を取得
long accountNumber = AccountInfoInteger(ACCOUNT_LOGIN);
// 取得した情報を表示
Print("アカウントレバレッジ: ", leverage);
Print("アカウント番号: ", accountNumber);
}
注意点
- 正確な識別子の使用:
property_id
には、取得したい情報に適した正確な識別子を使用してください。不適切な識別子を指定すると、期待しない結果が返される可能性があります。 - 戻り値の解釈: この関数から返される値は
long
型です。取得したい情報に応じて、適切な形で解釈する必要があります。 - エラーハンドリング: 関数が期待する値を返さない場合は、
GetLastError
関数を使用してエラーコードを確認することが有効です。ただし、AccountInfoInteger
関数自体は通常エラーコードを生成しませんが、取得した情報を元にした後続の操作でエラーが発生する可能性があります。
AccountInfoInteger
関数を使用することで、プログラム内でアカウントに関する重要な整数型の情報を取得し、それを基にしたロジックの実装や、ユーザーへの情報提供などが可能になります。
MQL4リファレンス
正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/account/accountinfointeger
他のアカウント情報関数の利用方法
以下のそれぞれのリンク先で確認していますので、ご参照ください。
関数名 | 概要 |
---|---|
AccountInfoDouble | アカウントの数値情報をdouble型で返します(例: バランス、エクイティなど)。 |
AccountInfoInteger | アカウントの数値情報をlong型で返します(例: レバレッジ、ストップアウトレベルなど)。 |
AccountInfoString | アカウントの文字列情報を返します(例: アカウント名、通貨など)。 |
AccountBalance | アカウントの現在のバランスを返します。 |
AccountCredit | アカウントのクレジット額を返します。 |
AccountCompany | アカウントを提供するブローカー会社の名前を返します。 |
AccountCurrency | アカウントの通貨を返します。 |
AccountEquity | アカウントのエクイティ(資産額)を返します。 |
AccountFreeMargin | アカウントの利用可能なマージンを返します。 |
AccountFreeMarginCheck | 指定されたシンボルとロット数で取引を行った場合の、アカウントの利用可能なマージンを計算します。 |
AccountFreeMarginMode | アカウントのマージン計算モードを返します。 |
AccountLeverage | アカウントのレバレッジを返します。 |
AccountMargin | アカウントの使用中のマージンを返します。 |
AccountName | アカウントの名前を返します。 |
AccountNumber | アカウントの番号を返します。 |
AccountProfit | アカウントの現在の浮動損益を返します。 |
AccountServer | アカウントを提供するサーバーの名前を返します。 |
AccountStopoutLevel | ストップアウトレベル(マージンコールレベル)を返します。 |
AccountStopoutMode | ストップアウトの計算モードを返します。 |
コメント