【MQL4勉強プログラミング】EAで選択した注文の決済価格を取得する方法は?

ザフナーラボブログ

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);
                     }
                }
       }
   }