【MQL4学習】OrderClose()関数とは?EAを作成したい方必見!ポジションを決済関数!

ザフナーラボブログ

MT4でEAを作成したい方は必ず知る必要がある関数のOrderClose()。

ポジションを決済するときに必要な関数です!

OrderClose()

OrderClose()関数は、保有ポジションを決済するために使用します。

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

サンプルコード

bool OrderClose(
int ticket,
double lots,
double price,
int slippage,
color arrow_color
);

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

  • int ticket
    決済する注文のチケット番号(各注文に付される整数値)を指定します。
  • double lots
    決済するロットサイズを指定します。
  • double price
    決済価格を指定します。
  • int slippage
    許容スリッページ数を指定します(単位は「ポイント」です。「ポイント」の詳細については「こちら」を参照してください。)。
  • color arrow_color
    MetaTrader4(MT4)では、ポジションが決済されると、チャート上のポジションを決済した位置にオブジェクトが表示されます。
    この引数では、当該オブジェクトの表示色を指定します。
    オブジェクトを表示させたくない場合は、省略するか、「clr_NONE」と記述します。

戻り値

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

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

具体例

一定の条件を満たした際に買いポジションを成行きで決済したい場合は、以下のように記述します。

サンプルコード



if(買いポジションの決済条件)
  {
    bool Closed = OrderClose(Ticket,0.1,Bid,10,Magenta);
  }
  • if()文の詳細については「こちら」を参照してください。
  • Bidの詳細については「こちら」を参照してください。
  • 注文を出す場合については「こちら」を参照してください。