【MQL4関数】OrderOpenPrice関数の使い方!エントリーした価格の取得方法

【中級編】MQLプログラムの読み方・書き方
朝日奈りさ
朝日奈りさ

エントリーした価格を取得するにはどうしたらいいの?

OrderOpenPrice関数とは

OrderOpenPrice関数は、ポジションの価格を取得する関数です。

基本的に、この関数単体で使うことはなく、OrderClose関数などと組み合わせて使います。

いろんな場面で使う関数なので、覚えておくと良いでしょう。

 

OrderOpenPrice関数の書き方

OrderOpenPrice関数の使い方は、基本的な関数と同じです。

関数をマスターしていない方はこちらの記事が参考になります。

 

基本的な書き方

OrderOpenPrice関数の基本的な書き方は以下の通りです。

double orderOpenPrice = OrderOpenPrice();

 

返り値はdouble型で引数はありません。

返り値を見ていきましょう。

 

返り値(戻り値)

OrderOpenPrice関数の返り値はdouble型です。

具体的には、エントリーしているポジションの価格が返ってきます。

例えば、「105.000円」でエントリーしているポジションの場合、「105.000」が返ってきます。

そのため、ポジションの価格情報が必要な場合、OrderOpenPrice関数を使うことで、簡単に取得することができます。

 

OrderOpenPrice関数の具体的な使い方

それでは、OrderOpenPrice関数の具体的な使い方を見ていきましょう。

OrderOpenPrice関数は、主に OrderClose関数OrderModify関数を実行するときに使います。

具体的には以下のようなプログラムです。

//保有ポジションを一つ選択
    if(OrderSelect(10, SELECT_BY_POS, MODE_TRADES))
       {

        //ポジションのエントリー価格を取得
        double orderOpenPrice = OrderOpenPrice();

        //変更注文を出す
        bool orderModify = OrderModify(OrderTicket(), orderOpenPrice, OrderStopLoss(), 110.000, OrderExpiration(), clrRed);
       }
   }

 

 

まずは、OrderSelect関数でポジションを選択します。

その後、OrderOpenPrice関数で、ポジションのエントリー価格を取得します。

最後にOrderModify関数で、変更注文を出すというプログラムです。

このように変更注文(OrderModify関数)や決済注文(OrderClose関数)を実行するときに、とても便利な関数なので、覚えておくとスムーズにプログラミングできます。

OrderClose関数でも同じような使い方をしますので、サンプルプログラムを見てみてください。

 

まとめ

OrderOpenPriceはポジションのエントリー価格を取得する関数です。

実行する前に、ポジションを選択する必要があります。(OrderSelect関数

また、OrderOpenPrice関数は単体で使うことはありません。

変更注文(OrderModify関数)や決済注文(OrderClose関数)を実行するときに、組み合わせて使われます。

サンプルプログラムを見ながら、少しづつ関数をマスターしていきましょう!