MT5 のアカウント(口座)には、ヘッジアカウント と ネットアカウント の 2 種類があり、それぞれポジションの取り方が異なります。 どちらを使用できるかは、FX 会社によって異なります。
- ヘッジカウント
- 同一シンボル(通貨)でも、注文ごとにポジションが作られるため 両建てが可能です。ポジションを決済するときは、ポジションを特定するチケット番号 (MqlTradeRequest 構造体 の
position
フィールド) の指定が必要です。 - ネットアカウント
- シンボル(通貨)ごとに 1 つにマージされたポジションになるため、両建てができません。例えば、USDJPY を 0.1 ロット買い、次に 0.5 ロット売ると、USDJPY の 0.4 ロットのショートポジションが残ります。2 つのロングポジションを取ると、加重平均のオープン価格でポジションを取ったのと同じ扱いになります。注文時のパラメータ指定は、基本的にシンボル情報+売買タイプだけの指定になります。
以前はネットアカウントの FX 会社が多かったのですが、現在は多くの FX 会社がヘッジアカウントを採用しています。 MT4 で両建てが可能だったのに、MT5 でできなくなったことに対して不満が出たためでしょう。 『くるくるワイド』 みたいな両建て手法は、基本的にはヘッジアカウントでなければ実行できません。
MQL でアカウントのタイプを調べる方法
MT5 のタイトルバーで確認する
MetaTrader アプリケーションのタイトルバーに、次のような感じで Headge と表示されていれば、ヘッジアカウントであることが分かります。
MQL プログラムで確認する
AccountInfoInteger
関数を使って、ヘッジアカウントとネットアカウントのどちらを使っているかを調べることができます。
関連記事
- MetaTrader/MQL: OrderSend で決済注文を出す(ポジションのクローズ)(MT5)
- MetaTrader/MQL: OrderSend で成行注文を出す (MT5)
- MetaTrader/MQL: チャート上でのキーハンドリング (OnChartEvent)
- MetaTrader/MQL: プログラムがデモ口座で実行されている調べる (ACCOUNT_TRADE_MODE)
- MetaTrader/MQL: 注文時のフィル・ポリシー(充填ポリシー)を理解する
- MetaTrader/MQL: ポジション情報を取得する (PositionXxx) (MT5)
- MetaTrader/MQL: 注文情報を取得する (OrderXxx) (MT5)