OrderClosePrice()関数は、選択した注文の決済価格を取得するために使用します。
OrderClosePrice()関数は、以下のように定義されています。
double OrderClosePrice();
OrderClosePrice()関数には引数がないので、()内には何も記述しません。
戻り値
選択した注文の決済価格が返されます。
具体的には、以下の値です。
- 未決済の買い注文の場合
「Bid」 - 未決済の売り注文の場合
「Ask」 - 既決済注文の場合
「実際に決済された価格」
注意点
OrderClosePrice()関数を使用するためには、あらかじめOrderSelect()関数で注文を選択していなければなりません。
- OrderSelect()関数の詳細については「こちら」を参照してください。
- 選択した注文の約定価格を取得したい場合は「こちら」を参照してください。
具体例
保有している未決済注文を決済したい場合は、以下のように記述します。
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)
{
if(OrderType() == OP_BUY)
{
if(買い決済条件)
{
bool Clsed = OrderClose(OrderTicket(),OrderLots(),
OrderClosePrice(),10,clrMagenta);
}
}
else if(OrderType() == OP_SELL)
{
if(売り決済条件)
{
bool Clsed = OrderClose(OrderTicket(),OrderLots(),
OrderClosePrice(),10,clrAqua);
}
}
}
}
- for()文の詳細については「こちら」を参照してください。
- OrdersTotal()関数の詳細については「こちら」を参照してください。
- if()文の詳細については「こちら」を参照してください。
- OrderType()関数の詳細については「こちら」を参照してください。
- OrderClose()関数の詳細については「こちら」を参照してください。
- OrderTiclet()関数の詳細については「こちら」を参照してください。
- OrderLots()関数の詳細については「こちら」を参照してください。