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

ザフナーラボブログ

OrderProfit()関数は、選択した注文の利益(損失)額(スワップや手数料は考慮しません。)を取得するために使用します。

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

double OrderProfit();

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

戻り値

以下の値を返します。

  • 選択した注文が未決済の場合
    注文選択時点の含み益(含み損)額
  • 選択した注文が既決済の場合
    確定利益(損失)額

注意点

OrderProfit()関数を使用するためには、あらかじめ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);
        }
    }
  ……
}