エントリーした価格を取得するにはどうしたらいいの?
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関数)を実行するときに、組み合わせて使われます。
サンプルプログラムを見ながら、少しづつ関数をマスターしていきましょう!