Search in sources :

Example 1 with BitcoiniumExchange

use of org.knowm.xchange.bitcoinium.BitcoiniumExchange in project XChange by knowm.

the class BitcoiniumMarketDataDemo method main.

public static void main(String[] args) throws Exception {
    ExchangeSpecification exchangeSpecification = new ExchangeSpecification(BitcoiniumExchange.class);
    exchangeSpecification.setApiKey("42djci5kmbtyzrvglfdw3e2dgmh5mr37");
    System.out.println(exchangeSpecification.toString());
    Exchange bitcoiniumExchange = ExchangeFactory.INSTANCE.createExchange(exchangeSpecification);
    generic(bitcoiniumExchange);
    raw(bitcoiniumExchange);
}
Also used : BitcoiniumExchange(org.knowm.xchange.bitcoinium.BitcoiniumExchange) Exchange(org.knowm.xchange.Exchange) ExchangeSpecification(org.knowm.xchange.ExchangeSpecification)

Example 2 with BitcoiniumExchange

use of org.knowm.xchange.bitcoinium.BitcoiniumExchange in project XChange by knowm.

the class BitcoiniumRealtimeTickerDemo method go.

private void go() throws IOException {
    ExchangeSpecification exchangeSpecification = new ExchangeSpecification(BitcoiniumExchange.class);
    // exchangeSpecification.setPlainTextUri("http://openexchangerates.org");
    exchangeSpecification.setApiKey("42djci5kmbtyzrvglfdw3e2dgmh5mr37");
    System.out.println(exchangeSpecification.toString());
    Exchange bitcoiniumExchange = ExchangeFactory.INSTANCE.createExchange(exchangeSpecification);
    // Interested in the public market data feed (no authentication)
    bitcoiniumMarketDataService = (BitcoiniumMarketDataServiceRaw) bitcoiniumExchange.getMarketDataService();
    // Setup the panel
    final XChartPanel<XYChart> chartPanel = buildPanel();
    // Schedule a job for the event-dispatching thread:
    // creating and showing this application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            // Create and set up the window.
            JFrame frame = new JFrame("XChart");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.add(chartPanel);
            // Display the window.
            frame.pack();
            frame.setVisible(true);
        }
    });
    // Simulate a data feed
    TimerTask chartUpdaterTask = new TimerTask() {

        @Override
        public void run() {
            try {
                BitcoiniumTicker bitcoiniumTicker = bitcoiniumMarketDataService.getBitcoiniumTicker("BTC", "BITSTAMP_USD");
                System.out.println(bitcoiniumTicker.toString());
                Date timestamp = new Date(bitcoiniumTicker.getTimestamp());
                float price = bitcoiniumTicker.getLast().floatValue();
                if (xAxisData.get(xAxisData.size() - 1).getTime() != timestamp.getTime()) {
                    xAxisData.add(timestamp);
                    yAxisData.add(price);
                    XYSeries series = chart.updateXYSeries(SERIES_NAME, xAxisData, yAxisData, null);
                    chartPanel.revalidate();
                    chartPanel.repaint();
                    System.out.println(series.getXData());
                    System.out.println(series.getYData());
                } else {
                    System.out.println("No new data.");
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    };
    Timer timer = new Timer();
    // every ten
    timer.scheduleAtFixedRate(chartUpdaterTask, 0, 10000);
// seconds
}
Also used : XYSeries(org.knowm.xchart.XYSeries) IOException(java.io.IOException) Date(java.util.Date) BitcoiniumExchange(org.knowm.xchange.bitcoinium.BitcoiniumExchange) Exchange(org.knowm.xchange.Exchange) TimerTask(java.util.TimerTask) Timer(java.util.Timer) JFrame(javax.swing.JFrame) XYChart(org.knowm.xchart.XYChart) ExchangeSpecification(org.knowm.xchange.ExchangeSpecification) BitcoiniumTicker(org.knowm.xchange.bitcoinium.dto.marketdata.BitcoiniumTicker)

Example 3 with BitcoiniumExchange

use of org.knowm.xchange.bitcoinium.BitcoiniumExchange in project XChange by knowm.

the class BitcoiniumTickerHistoryDemo method main.

public static void main(String[] args) throws Exception {
    ExchangeSpecification exchangeSpecification = new ExchangeSpecification(BitcoiniumExchange.class);
    // exchangeSpecification.setPlainTextUri("http://openexchangerates.org");
    exchangeSpecification.setApiKey("42djci5kmbtyzrvglfdw3e2dgmh5mr37");
    System.out.println(exchangeSpecification.toString());
    Exchange bitcoiniumExchange = ExchangeFactory.INSTANCE.createExchange(exchangeSpecification);
    // Interested in the public market data feed (no authentication)
    BitcoiniumMarketDataServiceRaw bitcoiniumMarketDataService = (BitcoiniumMarketDataServiceRaw) bitcoiniumExchange.getMarketDataService();
    System.out.println("fetching data...");
    // Get the latest order book data for BTC/USD - BITSTAMP
    BitcoiniumTickerHistory bitcoiniumTickerHistory = bitcoiniumMarketDataService.getBitcoiniumTickerHistory("BTC", "BITSTAMP_USD", "THIRTY_DAYS");
    System.out.println(bitcoiniumTickerHistory.toString());
    List<Date> xAxisData = new ArrayList<>();
    List<Float> yAxisData = new ArrayList<>();
    for (int i = 0; i < bitcoiniumTickerHistory.getCondensedTickers().length; i++) {
        BitcoiniumTicker bitcoiniumTicker = bitcoiniumTickerHistory.getCondensedTickers()[i];
        Date timestamp = new Date(bitcoiniumTicker.getTimestamp());
        float price = bitcoiniumTicker.getLast().floatValue();
        System.out.println(timestamp + ": " + price);
        xAxisData.add(timestamp);
        yAxisData.add(price);
    }
    // Create Chart
    XYChart chart = new XYChartBuilder().width(800).height(600).title("Bitstamp Price vs. Date").xAxisTitle("Date").yAxisTitle("Price").build();
    // Customize Chart
    chart.getStyler().setLegendPosition(LegendPosition.InsideNE);
    chart.getStyler().setDefaultSeriesRenderStyle(XYSeriesRenderStyle.Area);
    XYSeries series = chart.addSeries("Bitcoinium USD/BTC", xAxisData, yAxisData);
    series.setMarker(SeriesMarkers.NONE);
    new SwingWrapper(chart).displayChart();
}
Also used : XYSeries(org.knowm.xchart.XYSeries) BitcoiniumTickerHistory(org.knowm.xchange.bitcoinium.dto.marketdata.BitcoiniumTickerHistory) ArrayList(java.util.ArrayList) SwingWrapper(org.knowm.xchart.SwingWrapper) Date(java.util.Date) BitcoiniumExchange(org.knowm.xchange.bitcoinium.BitcoiniumExchange) Exchange(org.knowm.xchange.Exchange) BitcoiniumMarketDataServiceRaw(org.knowm.xchange.bitcoinium.service.BitcoiniumMarketDataServiceRaw) XYChart(org.knowm.xchart.XYChart) ExchangeSpecification(org.knowm.xchange.ExchangeSpecification) BitcoiniumTicker(org.knowm.xchange.bitcoinium.dto.marketdata.BitcoiniumTicker) XYChartBuilder(org.knowm.xchart.XYChartBuilder)

Example 4 with BitcoiniumExchange

use of org.knowm.xchange.bitcoinium.BitcoiniumExchange in project XChange by knowm.

the class BitcoiniumOrderBookChartDemo method main.

public static void main(String[] args) throws Exception {
    ExchangeSpecification exchangeSpecification = new ExchangeSpecification(BitcoiniumExchange.class);
    // exchangeSpecification.setPlainTextUri("http://openexchangerates.org");
    exchangeSpecification.setApiKey("42djci5kmbtyzrvglfdw3e2dgmh5mr37");
    System.out.println(exchangeSpecification.toString());
    Exchange bitcoiniumExchange = ExchangeFactory.INSTANCE.createExchange(exchangeSpecification);
    // Interested in the public market data feed (no authentication)
    BitcoiniumMarketDataServiceRaw bitcoiniumMarketDataService = (BitcoiniumMarketDataServiceRaw) bitcoiniumExchange.getMarketDataService();
    System.out.println("fetching data...");
    // Get the latest order book data for BTC/USD - BITSTAMP
    BitcoiniumOrderbook bitcoiniumOrderbook = bitcoiniumMarketDataService.getBitcoiniumOrderbook("BTC", "BITSTAMP_USD", "TEN_PERCENT");
    System.out.println("Order book: " + bitcoiniumOrderbook);
    System.out.println("received data.");
    System.out.println("plotting...");
    // Create Chart
    XYChart chart = new XYChartBuilder().width(800).height(600).title("Bitcoinium Order Book - BITSTAMP_BTC_USD").xAxisTitle("BTC").yAxisTitle("USD").build();
    // Customize Chart
    chart.getStyler().setDefaultSeriesRenderStyle(XYSeriesRenderStyle.Area);
    // BIDS
    // Collections.reverse(bitcoiniumOrderbook.getBidPriceList());
    // Collections.reverse(bitcoiniumOrderbook.getBidVolumeList());
    // Bids Series
    List<Float> bidsPriceData = getPriceData(bitcoiniumOrderbook.getBids());
    Collections.reverse(bidsPriceData);
    List<Float> bidsVolumeData = getVolumeData(bitcoiniumOrderbook.getBids());
    Collections.reverse(bidsVolumeData);
    XYSeries series = chart.addSeries("bids", bidsPriceData, bidsVolumeData);
    series.setMarker(SeriesMarkers.NONE);
    // ASKS
    // Asks Series
    series = chart.addSeries("asks", getPriceData(bitcoiniumOrderbook.getAsks()), getVolumeData(bitcoiniumOrderbook.getAsks()));
    series.setMarker(SeriesMarkers.NONE);
    new SwingWrapper(chart).displayChart();
}
Also used : BitcoiniumExchange(org.knowm.xchange.bitcoinium.BitcoiniumExchange) Exchange(org.knowm.xchange.Exchange) XYSeries(org.knowm.xchart.XYSeries) BitcoiniumOrderbook(org.knowm.xchange.bitcoinium.dto.marketdata.BitcoiniumOrderbook) BitcoiniumMarketDataServiceRaw(org.knowm.xchange.bitcoinium.service.BitcoiniumMarketDataServiceRaw) XYChart(org.knowm.xchart.XYChart) ExchangeSpecification(org.knowm.xchange.ExchangeSpecification) SwingWrapper(org.knowm.xchart.SwingWrapper) XYChartBuilder(org.knowm.xchart.XYChartBuilder)

Example 5 with BitcoiniumExchange

use of org.knowm.xchange.bitcoinium.BitcoiniumExchange in project XChange by knowm.

the class BitcoiniumRealtimeOrderbookDemo method go.

private void go() throws IOException {
    ExchangeSpecification exchangeSpecification = new ExchangeSpecification(BitcoiniumExchange.class);
    // exchangeSpecification.setPlainTextUri("http://openexchangerates.org");
    exchangeSpecification.setApiKey("42djci5kmbtyzrvglfdw3e2dgmh5mr37");
    System.out.println(exchangeSpecification.toString());
    Exchange bitcoiniumExchange = ExchangeFactory.INSTANCE.createExchange(exchangeSpecification);
    // Interested in the public market data feed (no authentication)
    bitcoiniumMarketDataService = (BitcoiniumMarketDataServiceRaw) bitcoiniumExchange.getMarketDataService();
    // Setup the panel
    final XChartPanel<XYChart> chartPanel = buildPanel();
    // Schedule a job for the event-dispatching thread:
    // creating and showing this application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            // Create and set up the window.
            JFrame frame = new JFrame("XChart");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.add(chartPanel);
            // Display the window.
            frame.pack();
            frame.setVisible(true);
        }
    });
    // Simulate a data feed
    TimerTask chartUpdaterTask = new TimerTask() {

        @Override
        public void run() {
            try {
                updateData();
                // update chart
                chart.updateXYSeries(BIDS_SERIES_NAME, xAxisBidData, yAxisBidData, null);
                chart.updateXYSeries(ASKS_SERIES_NAME, xAxisAskData, yAxisAskData, null);
                chartPanel.revalidate();
                chartPanel.repaint();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    };
    Timer timer = new Timer();
    // every ten
    timer.scheduleAtFixedRate(chartUpdaterTask, 0, 10000);
// seconds
}
Also used : BitcoiniumExchange(org.knowm.xchange.bitcoinium.BitcoiniumExchange) Exchange(org.knowm.xchange.Exchange) TimerTask(java.util.TimerTask) Timer(java.util.Timer) JFrame(javax.swing.JFrame) XYChart(org.knowm.xchart.XYChart) ExchangeSpecification(org.knowm.xchange.ExchangeSpecification) IOException(java.io.IOException)

Aggregations

Exchange (org.knowm.xchange.Exchange)5 ExchangeSpecification (org.knowm.xchange.ExchangeSpecification)5 BitcoiniumExchange (org.knowm.xchange.bitcoinium.BitcoiniumExchange)5 XYChart (org.knowm.xchart.XYChart)4 XYSeries (org.knowm.xchart.XYSeries)3 IOException (java.io.IOException)2 Date (java.util.Date)2 Timer (java.util.Timer)2 TimerTask (java.util.TimerTask)2 JFrame (javax.swing.JFrame)2 BitcoiniumTicker (org.knowm.xchange.bitcoinium.dto.marketdata.BitcoiniumTicker)2 BitcoiniumMarketDataServiceRaw (org.knowm.xchange.bitcoinium.service.BitcoiniumMarketDataServiceRaw)2 SwingWrapper (org.knowm.xchart.SwingWrapper)2 XYChartBuilder (org.knowm.xchart.XYChartBuilder)2 ArrayList (java.util.ArrayList)1 BitcoiniumOrderbook (org.knowm.xchange.bitcoinium.dto.marketdata.BitcoiniumOrderbook)1 BitcoiniumTickerHistory (org.knowm.xchange.bitcoinium.dto.marketdata.BitcoiniumTickerHistory)1