【MQL4勉強プログラミング】選択した注文の取引ロット数を取得する方法とは?

ザフナーラボブログ

OrderLots()関数は、選択した注文の取引ロット数を取得するために使用します。

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

double OrderLots();

OrderLots()関数には引数がないので、()内には何も記述しません。

戻り値

選択した注文の取引ロット数を返します。

注意点

OrderLots()関数を使用するためには、あらかじめOrderSelect()関数で注文を選択していなければなりません。

具体例

レバレッジを指定する」のページで紹介したような、エントリー時の取引ロット数が一定のものでない場合において、保有ポジションを決済するためには、以下のように記述します。


void OnTick()
{
  ……
  for(int i = OrdersTotal() - 1; i >= 0; i--)
     {
       if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)
         {
           if(決済条件)
             {
               bool Closed = OrderClose(OrderTicket(),OrderLots(),
                                        OrderClosePrice(),10,clrNONE);
             }
         }
     }
  ……
}