MQL4MQL5 口座情報
AccountInfoDouble()
- できること
- 残高・有効証拠金・余剰証拠金など口座の数値を取得する
- 対応
- MQL4・MQL5
AccountInfoDouble() とは
口座の小数の情報(残高・有効証拠金・余剰証拠金・証拠金維持率など)を、項目を指定して取得する関数です。MQL5 の標準の書き方で、MQL4 でも使えます。
AccountInfoDouble() の書式と引数
double AccountInfoDouble(ENUM_ACCOUNT_INFO_DOUBLE property_id)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
property_id | ENUM_ACCOUNT_INFO_DOUBLE | 必須 | 取得する項目。ACCOUNT_BALANCE(残高)、ACCOUNT_EQUITY(有効証拠金)、ACCOUNT_PROFIT(含み損益)、ACCOUNT_MARGIN(使用中の証拠金)、ACCOUNT_MARGIN_FREE(余剰証拠金)、ACCOUNT_MARGIN_LEVEL(証拠金維持率 %)など。 |
戻り値
指定した項目の値。
AccountInfoDouble() の使い方(コード例)
MQL4・MQL5 共通
double balance = AccountInfoDouble(ACCOUNT_BALANCE);
double equity = AccountInfoDouble(ACCOUNT_EQUITY);
double free = AccountInfoDouble(ACCOUNT_MARGIN_FREE);
Print("残高=", balance, " 有効証拠金=", equity, " 余剰証拠金=", free);OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
AccountInfoDouble() の注意点
- ACCOUNT_MARGIN_LEVEL はポジションがないときは 0 です。
MQL4 と MQL5 の違い
MQL4 には AccountBalance()・AccountEquity() などの個別の関数もありますが、AccountInfoDouble() を使っておくと MQL5 にそのまま移せます。
AccountInfoDouble() を使う逆引きレシピ
- チャートの左上に情報を表示したいComment() を使います。"\n" で改行しながら、残高やスプレッドなどを並べられます。
- 含み損益の合計を計算したいポジションをループして、損益にスワップと手数料を足して合計します。
- 資金の◯%のリスクでロット数を計算したい「許容損失額 ÷(損切り幅 × 1ロットあたりの1ポイントの価値)」で計算し、最小ロット・刻み幅に合わせます。
- 注文する前に証拠金が足りるか確認したいMQL4 は AccountFreeMarginCheck()、MQL5 は OrderCalcMargin() で必要証拠金を計算し、余剰証拠金と比べます。
- 損失が一定を超えたら EA を止めたい有効証拠金が開始時の残高の◯%を下回ったら新規注文をやめ、必要なら ExpertRemove() で EA を外します。












