IOCオーダー
IOC(Immediate or Cancel)の原理は成行オーダーに自動的に適用されます。
条件付きオーダーでIOCの原理を適用する事を検討してみましょう。
以下例は、ストラテジー起動時にオーダー作成し、オーダー約定直後に約定されなかった部分をキャンセルします。
@Override
public void onStart(IContext context) throws JFException {
engine = context.getEngine();
console = context.getConsole();
history = context.getHistory();
context.setSubscribedInstruments(java.util.Collections.singleton(instrument), true);
console.getOut().println("開始");
double price = history.getLastTick(instrument).getBid() - 5 * instrument.getPipValue();
order = engine.submitOrder(label, instrument, OrderCommand.BUYLIMIT, 0.010, price, 0, 0, 0);
}
@Override
public void onMessage(IMessage message) throws JFException {
if( message.getOrder() == order && order.getState() == IOrder.State.FILLED
&& Double.compare(order.getRequestedAmount(), order.getAmount()) != 0){
order.setRequestedAmount(0);
}
if(message.getOrder() != null){
console.getOut().println(DateUtils.format(message.getCreationTime()) + " " +message);
}
}
サンプルソースコード:
ImmediateOrCancel2.java
スポンサーリンク
注意事項:
当サイトはJForexAPIを紹介している非公式サイトです。
自動売買を行うストラテジーや売買シグナルのソフトウェアの配布などは行っておりません。
投資助言も行っておりません、投資助言を必要としている方は投資助言業者に相談して下さい。
当サイトに掲載している情報やサンプルソース利用によって損害が生じてもサイト管理人は責任を負いませんので、全て自己責任でお願い致します。
FX(外国為替保証金取引)は金融商品取引法に規定される通貨関連店頭デリバティブ取引です。
元本あるいは利益を保証した金融商品ではありません。
為替変動・金利変動・アルゴリズムによる急変動・各国要人の気まぐれ発言による暴落等のリスクにより、損失が生じるおそれがあります。
FXは少ない保証金を担保として大きな金額を取引出来る為、投資金額以上の損失を被る可能性があります。
詳細は証券会社の契約締結前交付書面・約款等を熟読して下さい。