OrderTimedClose.java

注意事項:
サンプルソースコードには実際にオーダーを発注するものがあります。
サンプルソースコードのストラテジーを起動する場合は、注意して下さい。



// Copyright (c) 2009 Dukascopy (Suisse) SA. All Rights Reserved.
package jforex.orders2;

import com.dukascopy.api.*;
import com.dukascopy.api.IEngine.OrderCommand;

/**
 このストラテジーは最初にポジションを持ち、指定時間経過後にクローズします
*/
public class OrderTimedClose implements IStrategy {
    
    private IConsole console;
    private IEngine engine;    
    IOrder order;
    
    @Configurable(value = "クローズするまでの時間(秒)", description = "指定時間経過後にクローズします")
    public int orderCloseSecs = 10;
    
    @Override
    public void onStart(IContext context) throws JFException {
        engine = context.getEngine();
        console = context.getConsole();
        context.setSubscribedInstruments(java.util.Collections.singleton(Instrument.EURUSD), true);
        
        order = engine.submitOrder("order1", Instrument.EURUSD, OrderCommand.BUY, 0.01);
    }

    @Override
    public void onTick(Instrument instrument, ITick tick) throws JFException {
        if(order.getState() == IOrder.State.FILLED 
                && order.getFillTime() + orderCloseSecs * 1000 < tick.getTime()){
            order.close();
        }
    }

    @Override
    public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {    }

    @Override
    public void onMessage(IMessage message) throws JFException {
        console.getOut().println(message);
    }

    @Override
    public void onAccount(IAccount account) throws JFException {}

    @Override
    public void onStop() throws JFException {
        if(order.getState() == IOrder.State.FILLED){
            order.close();
        }

    }

}






スポンサーリンク

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


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


Top

inserted by FC2 system