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);
}
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
}
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();
}
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();
}
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
}
Aggregations