当サイトは、アフィリエイト広告を利用しています

JForexプログラミング入門その10-テイクプロフィット価格の設定

JForexプログラミング入門

今回は、JForex APIでテイクプロフィット価格を設定する方法に関して解説します。

オーダーにストップロスを設定する方法には2種類あります。

  1. 注文発注時にテイクプロフィット価格を設定
  2. 既存の注文orポジションに対してテイクプロフィット価格を設定

注文発注時にテイクプロフィット価格を設定する

注文の発注時にテイクプロフィット価格を設定するには、IEngineインターフェースの「submitOrder」の「takeProfitPrice」に価格を設定します。

IOrder submitOrder(String label,
Instrument instrument,
IEngine.OrderCommand orderCommand,
double amount,
double price,
double slippage,
double stopLossPrice,
double takeProfitPrice)
throws JFException

買い成行注文でテイクプロフィット価格を105.00にセットする場合

既存注文に対してテイクプロフィット価格を設定する

既存注文に対してテイクプロフィット価格を設定するには、IOrderインターフェースの「setTakeProfitPrice」を使用します。

テイクプロフィットを設定したいIOrderオブジェクトを取得し、そのオブジェクトに対して上記の関数を呼びます。

IOrder order = engine.getOrder(“orderLabel”);

テイクプロフィットを105.00にセットする場合

テイクプロフィット注文をキャンセルする

既に設定してあるテイクプロフィット注文を削除したい場合は、テイクプロフィット価格を0に設定します。

テイクプロフィットによるポジションクローズを検出する

テイクプロフィット価格に到達したことによってポジションがクローズされたことを検出するには、ストラテジのonMessageコールバック関数内でメッセージをチェックします。

IMessageインターフェースのgetReasonsの戻り値に「IMessage.Reason.ORDER_CLOSED_BY_TP」が含まれていればテイクプロフィットによるポジションクローズと判断できます。

コメント