ChartOperations.java

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



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

import java.io.File;

import javax.imageio.ImageIO;

import com.dukascopy.api.*;
import com.dukascopy.api.util.*;
import com.dukascopy.api.feed.IFeedDescriptor;
import com.dukascopy.api.feed.util.*;

public class ChartOperations implements IStrategy {

    private IChart chart;
    private IContext context;
    private IConsole console;
    
    @Override
    public void onStart(IContext context) throws JFException {  
        this.context = context;
        this.console = context.getConsole();        
        
        IFeedDescriptor feedDescriptor = new TimePeriodAggregationFeedDescriptor(Instrument.EURUSD, Period.TEN_SECS, OfferSide.BID);
        chart = context.openChart(feedDescriptor);
        
        print("チャートのフィードデータ: " + chart.getFeedDescriptor()); 
        print("チャートの通貨ペア: "       + chart.getFeedDescriptor().getInstrument()); 
        
        // フィードデータロード完了まで待つ
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e1) {
            e1.printStackTrace(console.getErr());
        }
        
        print(" チャートの描画可能座標: min(%s,%.5f); max(%s,%.5f)",
                DateUtils.format(chart.getMinTime()), chart.getMinPrice(),
                DateUtils.format(chart.getMaxTime()), chart.getMaxPrice()
            );
        
        try {
            File file = new File(context.getFilesDir().getPath() + File.separator + "ChartImage.png");
            ImageIO.write(chart.getImage(), "png", file);

            print("チャートのキャプチャー画像を保存: " + file.getAbsolutePath());

        } catch (Exception e) {
            e.printStackTrace(console.getErr());
        }
        
    }
    
    @Override
    public void onStop() throws JFException {
        context.closeChart(chart);
    }
    
    private void print(Object o){
        console.getOut().println(o);
    }
    
    private void print(String message, Object... args){
        print(String.format(message,args));
    }

    @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 {}
}








スポンサーリンク

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


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


Top

inserted by FC2 system