
MQL4 MQL4 の注文関数
OrderLots()
- できること
- 選択中の注文のロット数を取得する
- 対応
- MQL4
OrderLots() とは
MQL4 で、OrderSelect() で選んだ注文のロット数を返す関数です。全部決済するときに OrderClose() に渡したり、合計ロットを数えたりするときに使います。
OrderLots() の書式と引数
double OrderLots()引数はありません。
戻り値
ロット数。
OrderLots() の使い方(コード例)
// 半分だけ決済する(最小ロット・刻み幅に合わせる)
if(OrderSelect(0, SELECT_BY_POS, MODE_TRADES) && OrderType() <= OP_SELL)
{
double step = MarketInfo(OrderSymbol(), MODE_LOTSTEP);
double half = MathFloor(OrderLots() / 2 / step) * step;
if(half >= MarketInfo(OrderSymbol(), MODE_MINLOT))
if(!OrderClose(OrderTicket(), half, OrderClosePrice(), 30))
Print("一部決済 失敗 error=", GetLastError());
}OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
OrderLots() の注意点
- 一部決済のあとは、残ったポジションのロット数が返ります。
MQL4 と MQL5 の違い
MQL5 では PositionGetDouble(POSITION_VOLUME) でポジションのロット数を取得します。












