【MQL4関数】OrderLots関数の使い方!ポジションのロット数の取得方法

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

ポジションを決済したいとき、ロット数を取得しないとね!

OrderLots関数とは

OrderLots関数とは、選択したポジションのロット数を取得する関数です。

OrderLots関数を実行する前に、ポジションを選択する必要があるので、OrderSelect関数と組み合わせて使います。

使う場面は限られていますが、ポジションを決済するときに使う重要な関数なので、覚えておきましょう。

 

OrderLots関数の書き方

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

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

 

基本的な書き方

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

double lots = OrderLots();

 

このように返り値は double型で、引数は必要ありません。

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

 

返り値(戻り値)

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

選択したポジションのロット数が返ってきます。

注意することは1つです。

ロット数は、全てのポジションの合計値ではなく、1つのポジションのロット数が返ってきます。

そのため、全てのポジションの合計値を使いたい場合は、for文で OrderLots関数の返り血を合計すると良いでしょう。

 

OrderLots関数の具体的な使い方

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

OrderLots関数は、主に決済注文(OrderClose関数)を出すときに使用します。

具体的には以下のようなプログラムを使います。

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

      //ロット数を取得
      double lots = OrderLots();

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

   }

 

 

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

その後にOrderLots関数で、ポジションのロット数を取得し、OrderClose関数の引数に書いています。

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

 

まとめ

OrderLots関数は、ポジションのロット数を返す関数です。

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

サンプルプログラムは OrderClose関数の記事にありますので、そちらをご利用ください。