AccountInfoDouble()の使い方
MQL4 (MT4)のAccountInfoDouble()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。
使用GPTs:EA Creator
MT4 MQL4のAccountInfoDoubleの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。
使い方
AccountInfoDouble
関数は、アカウントに関する特定の数値情報をdouble型で取得するために使用されます。この関数を使用することで、アカウントのバランス、エクイティ、マージンレベルなど、double型で表される様々なアカウント情報を取得できます。
AccountInfoDouble関数の使用法
double AccountInfoDouble(
int property_id // プロパティの識別子
);
property_id
: 取得したいアカウント情報の識別子です。ACCOUNT_BALANCE
、ACCOUNT_EQUITY
、ACCOUNT_MARGIN
など、AccountInfoDouble
関数で使用できる識別子があります。property_id
パラメータに設定できるENUM_ACCOUNT_INFO_DOUBLE
値の一覧表です。これらの値を使用して、アカウントに関連する特定の数値情報を取得できます。
ENUM_ACCOUNT_INFO_DOUBLE 値 | 説明 |
---|---|
ACCOUNT_BALANCE | アカウントのバランス(残高)。 |
ACCOUNT_CREDIT | アカウントのクレジット額。 |
ACCOUNT_PROFIT | アカウントの現在の浮動損益。 |
ACCOUNT_EQUITY | アカウントのエクイティ(資産額)。 |
ACCOUNT_MARGIN | アカウントで使用中のマージン。 |
ACCOUNT_FREE_MARGIN | アカウントのフリーマージン(使用可能マージン)。 |
ACCOUNT_MARGIN_LEVEL | アカウントのマージンレベル(%)。 |
ACCOUNT_MARGIN_SO_CALL | マージンコールのレベル(%)。 |
ACCOUNT_MARGIN_SO_SO | ストップアウトのレベル(%)。 |
ACCOUNT_MARGIN_INITIAL | 現在のポジションを開くために必要な初期マージン。 |
ACCOUNT_MARGIN_MAINTENANCE | 現在のポジションを維持するために必要な維持マージン。 |
property_id
パラメータに指定することで、アカウントの金融状態に関する具体的な情報を取得できます。例えば、アカウントのエクイティやフリーマージンを取得することで、リアルタイムでのリスク管理や取引戦略の調整に役立つデータを得ることが可能です。
使用する際は、取得したい情報に対応するENUM_ACCOUNT_INFO_DOUBLE
の値を正確に指定してください。これにより、アカウントの状態を正確に把握し、より効果的なトレーディング判断を下すことができます。
使用例: アカウントのエクイティを取得
以下の例では、アカウントのエクイティ(資産額)を取得し、それを表示します。
void OnStart()
{
// アカウントのエクイティを取得
double equity = AccountInfoDouble(ACCOUNT_EQUITY);
// エクイティを表示
Print("アカウントのエクイティ: ", equity);
}
注意点
AccountInfoDouble
関数を使用する際には、正しいプロパティ識別子を指定する必要があります。間違った識別子を指定すると、関数は0.0
を返すか、意図しない値を返す可能性があります。- 取得される情報は、アカウントの状態や市場の状況によって変動する可能性があるため、リアルタイムでの取引や分析に使用する場合は、これらの変動を考慮する必要があります。
- エクスパートアドバイザーやスクリプトをリアルアカウントで実行する前に、デモアカウントなどで十分にテストを行い、取得した情報を基にした処理が正しく動作することを確認してください。
AccountInfoDouble
関数は、アカウントの金融状態を監視し、リスク管理や取引戦略の調整に役立つ重要な情報を提供します。
MQL4リファレンス
正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/account/accountinfodouble
他のアカウント情報関数の利用方法
以下のそれぞれのリンク先で確認していますので、ご参照ください。
関数名 | 概要 |
---|---|
AccountInfoDouble | アカウントの数値情報をdouble型で返します(例: バランス、エクイティなど)。 |
AccountInfoInteger | アカウントの数値情報をlong型で返します(例: レバレッジ、ストップアウトレベルなど)。 |
AccountInfoString | アカウントの文字列情報を返します(例: アカウント名、通貨など)。 |
AccountBalance | アカウントの現在のバランスを返します。 |
AccountCredit | アカウントのクレジット額を返します。 |
AccountCompany | アカウントを提供するブローカー会社の名前を返します。 |
AccountCurrency | アカウントの通貨を返します。 |
AccountEquity | アカウントのエクイティ(資産額)を返します。 |
AccountFreeMargin | アカウントの利用可能なマージンを返します。 |
AccountFreeMarginCheck | 指定されたシンボルとロット数で取引を行った場合の、アカウントの利用可能なマージンを計算します。 |
AccountFreeMarginMode | アカウントのマージン計算モードを返します。 |
AccountLeverage | アカウントのレバレッジを返します。 |
AccountMargin | アカウントの使用中のマージンを返します。 |
AccountName | アカウントの名前を返します。 |
AccountNumber | アカウントの番号を返します。 |
AccountProfit | アカウントの現在の浮動損益を返します。 |
AccountServer | アカウントを提供するサーバーの名前を返します。 |
AccountStopoutLevel | ストップアウトレベル(マージンコールレベル)を返します。 |
AccountStopoutMode | ストップアウトの計算モードを返します。 |
コメント