OrderProfit()関数は、選択した注文の利益(損失)額(スワップや手数料は考慮しません。)を取得するために使用します。
OrderProfit()関数は、以下のように定義されています。
double OrderProfit();
OrderProfit()関数には引数がないので、()内には何も記述しません。
戻り値
以下の値を返します。
- 選択した注文が未決済の場合
注文選択時点の含み益(含み損)額 - 選択した注文が既決済の場合
確定利益(損失)額
注意点
OrderProfit()関数を使用するためには、あらかじめOrderSelect()関数で注文を選択していなければなりません。
- OrderSelect()関数の詳細については「こちら」を参照してください。
具体例
直近に決裁したポジションが利益を出していたら、同一方向にエントリーしたい場合は、以下のように記述します。
void OnTick()
{
……
if(OrderSelect(OrdersHistoryTotal() - 1,SELECT_BY_POS,MODE_HISTORY) == true)
{
if(OrderProfit() > 0 && OrderType() == OP_BUY)
{
int Ticket = OrderSend(Symbol(),OP_BUY,0.1,Ask,10,0,0,NULL,5555,0,clrMagenta);
}
}
……
}
- if()文の詳細については「こちら」を参照してください。
- OrdersHistoryTotal()関数の詳細については「こちら」を参照してください。
- OrderType()関数の詳細については「こちら」を参照してください。
- OrderSend()関数の詳細については「こちら」を参照してください。
- Symbol()関数の詳細については「こちら」を参照してください。
- Askの詳細については「こちら」を参照してください。