OrderLots()関数は、選択した注文の取引ロット数を取得するために使用します。
OrderLots()関数は、以下のように定義されています。
double OrderLots();
OrderLots()関数には引数がないので、()内には何も記述しません。
戻り値
選択した注文の取引ロット数を返します。
注意点
OrderLots()関数を使用するためには、あらかじめOrderSelect()関数で注文を選択していなければなりません。
- 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);
}
}
}
……
}
- for()文の詳細については「こちら」を参照してください。
- OrdersTotal()関数の詳細については「こちら」を参照してください。
- if()文の詳細については「こちら」を参照してください。
- OrderClose()関数の詳細については「こちら」を参照してください。
- OrderTicket()関数の詳細については「こちら」を参照してください。
- OrderClosePrice()関数の詳細については「こちら」を参照してください。