ポジションを決済するには、希望する決済価格を設定する必要があるよ!
OrderClosePrice関数とは
ポジションを決済するときには、OrderClose関数を使います。
OrderClose関数を実行するためには、引数に「希望する決済価格」を設定する必要があります。
そこで OrderClosePrice関数を使いましょう。
OrderClosePrice関数とは、選択したポジションの決済価格を返す関数です。
決済価格を返すといっても難しいことはなく、現在の買値や売値の価格を返してくれます。
このように、ポジションを決済する関数(OrderClose関数)を実行するときに使う関数なので、覚えておくと良いでしょう。
OrderClosePrice関数の書き方
OrderClosePrice関数の使い方は、基本的な関数と同じです。
関数をマスターしていない方はこちらの記事が参考になります。
基本的な書き方
OrderClosePrice関数の基本的な書き方は、以下の通りです。
double orderClosePrice = OrderClosePrice();
返り値は double型で、引数は必要ありません。
まずは返り値を見ていきましょう。
返り値(戻り値)
OrderClosePrice関数の返り値は double型です。
具体的には、自動売買を動かしている通貨ペアの価格が返ってきます。
例えばドル円の場合、現在の買値が「105.000円」の時、OrderClosePrice関数は「105.000」を返します。
ちなみに、売りポジションの場合は買値が返ってきて、買いポジションの場合は売値が返ってきます。
そのため、いちいちスプレッドを意識しなくても、決済価格を決めることができます。
OrderClosePrice関数の具体的な使い方
それでは、OrderClosePrice関数の具体的な使い方を見ていきましょう。
OrderClosePrice関数は、主に決済注文(OrderClose関数)を実行するときに使います。
具体的には以下の通りです。
//保有ポジションを一つ選択
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
//決済価格を取得
double orderClosePrice = OrderClosePrice();
//ポジションを決済
bool orderClose = OrderClose( OrderTicket(), OrderLots(), orderClosePrice, 10, clrNONE);
}
初めに、OrderSelect関数でポジションを選択します。
その後 OrderClosePrice関数で、決済価格を取得します。
取得した決済価格を、OrderClose関数の引数として使います。
このように、決済注文(OrderClose関数)を出すときに便利な関数なので、覚えておくと良いでしょう。
まとめ
OrderClosePrice関数は、ポジションの決済価格(買値や売値)を返す関数です。
買値を返すのか、売値を返すのかは、自動で判断してくれるので、プログラミングが楽になります。
注意することは、実行する前にポジションを選択(OrderSelect関数)する必要があることです。
また、OrderClosePrice関数は単体で使われることは少なく、OrderSelect関数やOrderClose関数などと組み合わせて使われることが多いです。
いろいろな関数をマスターして、楽して自動売買を作りましょう!