HistoryBarsFilter1Week.java

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



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

import java.util.List;

import com.dukascopy.api.*;

public class HistoryBarsFilter1Week implements IStrategy {

    private IConsole console;
    private IHistory history;
    
    @Override
    public void onStart(IContext context) throws JFException {
        console = context.getConsole();
        history = context.getHistory();
        context.setSubscribedInstruments(java.util.Collections.singleton(Instrument.EURUSD), true);
        
        IBar weeklyCurr = history.getBar(Instrument.EURUSD, Period.WEEKLY, OfferSide.BID, 0);
        IBar weeklyPrev = history.getBar(Instrument.EURUSD, Period.WEEKLY, OfferSide.BID, 1);

        // WEEKENDSフィルター設定で取得
        List<IBar> barsNoWeekends = history.getBars(
                                                     Instrument.EURUSD,         // 通貨ペア
                                                     Period.DAILY,              // 時間軸
                                                     OfferSide.BID,             // オファーサイド
                                                     Filter.WEEKENDS,           // フィルター
                                                     weeklyPrev.getTime(),      // 取得開始時刻
                                                     weeklyCurr.getTime()       // 取得終了時刻
                                                    );


        // NO_FILTERフィルター設定で取得
        List<IBar> barsNoFilter   = history.getBars(
                                                     Instrument.EURUSD,         // 通貨ペア
                                                     Period.DAILY,              // 時間軸
                                                     OfferSide.BID,             // オファーサイド
                                                     Filter.NO_FILTER,          // フィルター
                                                     weeklyPrev.getTime(),      // 取得開始時刻
                                                     weeklyCurr.getTime()       // 取得終了時刻
                                                    );


        print(String.format("WEEKENDSフィルター設定で取得したバー数: %s, NO_FILTERフィルター設定で取得したバー数: %s",
                                barsNoWeekends.size(), barsNoFilter.size()));

        for(IBar bar : barsNoWeekends){
            print("WEEKENDSフィルター設定で取得したバー情報: " + bar);
        }        

        print("―――――――――――――――――――――――――――――――――――――――");

        for(IBar bar : barsNoFilter){
            print("NO_FILTERフィルター設定で取得したバー情報: " + bar);
        }

        print("―――――――――――――――――――――――――――――――――――――――");

        // NO_FILTERフィルター設定で取得したデータから、WEEKENDSフィルター設定で取得したデータを削除。
        barsNoFilter.removeAll(barsNoWeekends);
        for(IBar bar : barsNoFilter){
            print("週末のみ( NO_FILTER - WEEKENDS )のバー情報: " + bar);
        }
        
        
    }

    @Override
    public void onTick(Instrument instrument, ITick tick) throws JFException {}
    @Override
    public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {}
    @Override
    public void onMessage(IMessage message) throws JFException {}
    @Override
    public void onAccount(IAccount account) throws JFException {}
    @Override
    public void onStop() throws JFException {}
    
    private void print(Object o){
        console.getOut().println(o);
    }

}






スポンサーリンク

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


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


Top

inserted by FC2 system