今回は、JForex APIでオープンポジションをマージする方法について解説します。
マージ機能を利用すると、同一通貨の複数のポジション情報を統合することができます。
![](https://www.image-rentracks.com/dukascopy/jforex/300x250.gif)
マージの条件
2つのポジション間でマージを行うためには下記の条件を満たす必要があります。
- 双方のポジションが同じ通貨ペアのポジションであること
- 双方の注文状態(IOrder.State)がFILLEDであること
- 双方のポジションにストップロス及びテイクプロフィットが設定されていないこと
マージの実行について
マージ後の状態や受信メッセージはOrder Merge State図に規定されています。
マージ完了後のオーダーのオープンプライスはマージ対象オーダーのオープンプライスの加重平均になります。
マージの実行に関して手数料はかかりません。
スリッページはありません。
マージのサンプルソースコード
1 2 3 4 5 6 7 8 9 |
IEngine engine = context.getEngine(); IOrder firstOrder = engine.submitOrder("first", Instrument.USDJPY, OrderCommand.BUY,0.5); firstOrder.waitForUpdate(2000, FILLED); IOrder secondOrder = engine.submitOrder("second", Instrument.USDJPY, OrderCommand.SELL,0.2); secondOrder.waitForUpdate(2000, FILLED); IOrder mergedOrder = engine.mergeOrders("mergedOrder", firstOrder, secondOrder); |
マージを実行すると、「first」と「second」オーダーはクローズ扱いとなり、オーダーラベルが「mergeOrder」のオーダーが新たに作成されます。
![](https://www.image-rentracks.com/dukascopy/jforex/300x250.gif)
コメント