Home » JForexプログラミング入門

JForexプログラミング入門その9-ストップロス価格の設定

2016年5月17日 火曜日 No Comment
Pocket

Programing

今回は、JForex APIでストップロスを設定する方法に関して解説します。

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

  1. 注文発注時にストップロスを設定
  2. 既存の注文orポジションに対してストップロスを設定
デューカスコピー・ジャパン 口座開設

注文発注時にストップロスを設定する

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

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

買い成行注文でストップロスを105.00にセットする場合

既存注文に対してストップロスを設定する

既存注文に対してストップロスを設定するには、IOrderインターフェースを使用します。

IOrderインターフェースには、既存注文のストップロス価格の設定あるいは修正を行うための3種類の関数が用意されています。

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

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

void setStopLossPrice(double price)

ストップロスを105.00にセットする場合

void setStopLossPrice(double price, OfferSide side)

この関数を使用すれば、ストップロスを判定する際にASKとBIDプライスのどちらを使用するのかを指定することができます。

void setStopLossPrice(double price,OfferSide side, double trailingStep)

この関数を使用すれば、ストップロスを判定する際のASKとBIDプライスの選択に加え、ストップロス注文をトレーリングストップ注文にすることができます。

トレーリングストップを有効にするには、trailingStepパラメータは10以上を指定する必要があります。

ストップロス注文をキャンセルする

既に設定してあるストップロス注文を削除したい場合は、ストップロスプライスを0に設定します。

ストップロスによるポジションクローズを検出する

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

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

デューカスコピー・ジャパン 口座開設

 にほんブログ村 為替ブログ FX システムトレード派へ

コメントを残す

この記事へのトラックバック

コメントにはこれらのタグが使用できます。:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

このブログはGravatarに対応しています。Gravatarの登録はこちらからどうぞ。