AccountInfoString()の使い方
MQL4 (MT4)のAccountInfoString()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。
使用GPTs:EA Creator
MT4 MQL4のAccountInfoStringの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。
使い方
AccountInfoString
関数は、アカウントに関する特定の文字列情報を取得するために使用されます。この関数を使用することで、アカウント名、アカウントのブローカー会社名、アカウントの通貨などの文字列型の情報を取得できます。
AccountInfoString関数の使用法
string AccountInfoString(
int property_id // プロパティの識別子
);
property_id
: 取得したいアカウント情報の識別子です。例えば、ACCOUNT_NAME
、ACCOUNT_COMPANY
、ACCOUNT_CURRENCY
などが指定できます。property_id
パラメータに設定できるENUM_ACCOUNT_INFO_STRING
値の一覧表です。これらの値を使用して、アカウントに関連する特定の文字列情報を取得できます。
ENUM_ACCOUNT_INFO_STRING 値 | 説明 |
---|---|
ACCOUNT_NAME | アカウント名。 |
ACCOUNT_SERVER | アカウントが接続されているサーバー名。 |
ACCOUNT_CURRENCY | アカウントの基本通貨。 |
ACCOUNT_COMPANY | アカウントを提供するブローカー会社の名前。 |
ACCOUNT_TRADE_SERVER | トレードサーバーの名前(MT5でのみ使用可能)。 |
ACCOUNT_CLIENT_ID | クライアントID(ブローカーによって異なる)。 |
ACCOUNT_LOGIN | アカウントログイン名(MT5でのみ使用可能)。 |
これらの値をAccountInfoString
関数のproperty_id
に指定することで、アカウントの名前、アカウントが接続されているサーバー名、アカウントの基本通貨、アカウントを提供するブローカー会社の名前など、アカウントに関連する重要な文字列型の情報を取得できます。これらの情報は、ユーザーインターフェイスのカスタマイズ、レポートの生成、トレード戦略の調整などに役立ちます。
使用する際は、必要な情報に対応するENUM_ACCOUNT_INFO_STRING
の値を選択してください。これにより、プログラム的にアカウント情報にアクセスし、トレーディング戦略やリスク管理プロセスに活用することができます。
使用例: アカウントの会社名と通貨を取得
以下の例では、アカウントのブローカー会社名とアカウントの通貨を取得し、それらを表示します。
void OnStart()
{
// アカウントのブローカー会社名を取得
string company = AccountInfoString(ACCOUNT_COMPANY);
// アカウントの通貨を取得
string currency = AccountInfoString(ACCOUNT_CURRENCY);
// 取得した情報を表示
Print("アカウントのブローカー会社名: ", company);
Print("アカウントの通貨: ", currency);
}
注意点
- 正確な識別子の使用:
property_id
には、取得したい情報に適した正確な識別子を使用してください。不適切な識別子を指定すると、期待しない結果が返される可能性があります。 - 情報の利用: 取得した情報は、アカウントの管理やトレーディング戦略の調整、表示用のメッセージの作成などに役立ちます。ただし、取得した情報を基に重要なトレード判断を行う場合は、その情報の正確性と最新性を確認してください。
- エラーハンドリング:
AccountInfoString
関数は、指定された識別子に対応する情報が存在しない場合に空の文字列を返すことがあります。取得した情報を利用する前に、空でないことを確認することが重要です。
AccountInfoString
関数を使用することで、プログラム的にアカウントに関する重要な文字列型の情報を取得し、それを基にしたロジックの実装やユーザーへの情報提供などが可能になります。
MQL4リファレンス
正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/account/accountinfostring
他のアカウント情報関数の利用方法
以下のそれぞれのリンク先で確認していますので、ご参照ください。
関数名 | 概要 |
---|---|
AccountInfoDouble | アカウントの数値情報をdouble型で返します(例: バランス、エクイティなど)。 |
AccountInfoInteger | アカウントの数値情報をlong型で返します(例: レバレッジ、ストップアウトレベルなど)。 |
AccountInfoString | アカウントの文字列情報を返します(例: アカウント名、通貨など)。 |
AccountBalance | アカウントの現在のバランスを返します。 |
AccountCredit | アカウントのクレジット額を返します。 |
AccountCompany | アカウントを提供するブローカー会社の名前を返します。 |
AccountCurrency | アカウントの通貨を返します。 |
AccountEquity | アカウントのエクイティ(資産額)を返します。 |
AccountFreeMargin | アカウントの利用可能なマージンを返します。 |
AccountFreeMarginCheck | 指定されたシンボルとロット数で取引を行った場合の、アカウントの利用可能なマージンを計算します。 |
AccountFreeMarginMode | アカウントのマージン計算モードを返します。 |
AccountLeverage | アカウントのレバレッジを返します。 |
AccountMargin | アカウントの使用中のマージンを返します。 |
AccountName | アカウントの名前を返します。 |
AccountNumber | アカウントの番号を返します。 |
AccountProfit | アカウントの現在の浮動損益を返します。 |
AccountServer | アカウントを提供するサーバーの名前を返します。 |
AccountStopoutLevel | ストップアウトレベル(マージンコールレベル)を返します。 |
AccountStopoutMode | ストップアウトの計算モードを返します。 |
コメント