オーダー変更


オーダー変更は以下2つの事が出来ます。
  1. メインオーダーの変更(取引数量の変更や、エントリー価格、オーダーの有効期限)。
  2. ストップロスやリミットをメインオーダーに追加。または設定済みのストップ/リミットの変更。



以下の説明では成行オーダーで行うと即時執行されてしまう為、条件付きオーダーで行っている事に注意して下さい。



条件付きオーダーの変更

メインオーダーが約定される前に変更する事が出来ます。
正確には、オーダー状態のIOrder.StateがOPENED(CREATEDの後で、FILLEDの前)の時に変更出来ます。




オーダー状態の詳細については、オーダー状態の記事を参照して下さい。


サンプル

条件付きオーダーを作成し、オーダー数量とエントリー価格を変更するサンプルです。

・IOrder.close(全取引数量のクローズ要求を送信する場合)
ITick tick = history.getLastTick(Instrument.EURUSD);

double openPrice = tick.getBid() + 0.0010;
double slippage = 1;

order = engine.submitOrder("order1" , Instrument.EURUSD, IEngine.OrderCommand.BUYSTOP, 0.01, openPrice, slippage, 0, 0);
order.waitForUpdate(2000); // オーダー状態 IOrder.State.OPENED 待ち

// エントリー価格と取引数量の変更
order.setOpenPrice(openPrice + 0.0010);
order.setRequestedAmount(0.02);



他サンプルソースコード:ModifyLimitOrderWithMessages.java


スポンサーリンク

スポンサーリンク
検索
リファレンスツリー


Copyright ©2016 JForexAPIで自動売買させ隊! All Rights Reserved.


Top

inserted by FC2 system