【MQL4関数】OrderClosePrice関数の使い方!決済価格の取得方法

【中級編】MQLプログラムの読み方・書き方
朝日奈りさ
朝日奈りさ

ポジションを決済するには、希望する決済価格を設定する必要があるよ!

OrderClosePrice関数とは

ポジションを決済するときには、OrderClose関数を使います。

OrderClose関数を実行するためには、引数に「希望する決済価格」を設定する必要があります。

そこで OrderClosePrice関数を使いましょう。

 

OrderClosePrice関数とは、選択したポジションの決済価格を返す関数です。

決済価格を返すといっても難しいことはなく、現在の買値や売値の価格を返してくれます。

このように、ポジションを決済する関数(OrderClose関数)を実行するときに使う関数なので、覚えておくと良いでしょう。

 

OrderClosePrice関数の書き方

OrderClosePrice関数の使い方は、基本的な関数と同じです。

関数をマスターしていない方はこちらの記事が参考になります。

 

基本的な書き方

OrderClosePrice関数の基本的な書き方は、以下の通りです。

double orderClosePrice = OrderClosePrice();

 

返り値は double型で、引数は必要ありません。

まずは返り値を見ていきましょう。

 

返り値(戻り値)

OrderClosePrice関数の返り値は double型です。

具体的には、自動売買を動かしている通貨ペアの価格が返ってきます。

例えばドル円の場合、現在の買値が「105.000円」の時、OrderClosePrice関数は「105.000」を返します。

ちなみに、売りポジションの場合は買値が返ってきて、買いポジションの場合は売値が返ってきます。

そのため、いちいちスプレッドを意識しなくても、決済価格を決めることができます。

 

OrderClosePrice関数の具体的な使い方

それでは、OrderClosePrice関数の具体的な使い方を見ていきましょう。

OrderClosePrice関数は、主に決済注文(OrderClose関数)を実行するときに使います。

具体的には以下の通りです。

//保有ポジションを一つ選択
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
   {

      //決済価格を取得
      double orderClosePrice = OrderClosePrice();

      //ポジションを決済
      bool orderClose = OrderClose( OrderTicket(), OrderLots(), orderClosePrice, 10, clrNONE);

   }

 

 

初めに、OrderSelect関数でポジションを選択します。

その後 OrderClosePrice関数で、決済価格を取得します。

取得した決済価格を、OrderClose関数の引数として使います。

このように、決済注文(OrderClose関数)を出すときに便利な関数なので、覚えておくと良いでしょう。

 

まとめ

OrderClosePrice関数は、ポジションの決済価格(買値や売値)を返す関数です。

買値を返すのか、売値を返すのかは、自動で判断してくれるので、プログラミングが楽になります。

注意することは、実行する前にポジションを選択(OrderSelect関数)する必要があることです。

また、OrderClosePrice関数は単体で使われることは少なく、OrderSelect関数やOrderClose関数などと組み合わせて使われることが多いです。

いろいろな関数をマスターして、楽して自動売買を作りましょう!