【MQL4勉強プログラミング】EAで両建てポジションを同時に決済する方法は?

ザフナーラボブログ

OrderCloseBy()関数は、両建てポジションを同時に決済するために使用します。

例えば、同一の通貨ペアで、「2ロットの買いポジション」と「3ロットの売りポジション」を保有している状態で、OrderCloseBy()関数を実行すると、「2ロットの買いポジション」と「2ロットの売りポジション」が同時に決済され、「1ロットの売りポジション」が残ることになります。

OrderCloseBy()関数は、以下のように定義されています。

bool OrderCloseBy(
int ticket,
int opposite,
color arrow_color
);

各引数の意味は、以下のとおりです。

  • int ticket
    同時に決済したい両建てポジションの一方のチケット番号を指定します。
  • int opposite
    同時に決済したい両建てポジションの他方のチケット番号を指定します。
  • color arrow_color
    MetaTrader4(MT4)では、ポジションが決済されると、チャート上のポジションを決済した位置にオブジェクトが表示されます。
    この引数では、当該オブジェクトの表示色を指定します。
    オブジェクトを表示させたくない場合は、「clr_NONE」と記述します。

戻り値

正常に決済された場合は「true」が返され、正常に決済されなかった場合は「false」が返されます。

「false」が返された場合に、エラーのより詳しい情報を得るためには、GetLastError()関数を使用します。