public void start() throws ExecutionException, InterruptedException { // Use the default MtGox settings Exchange mtGoxExchange = ExchangeFactory.INSTANCE.createExchange(MtGoxExchange.class.getName()); // Configure BTC/USD ticker stream for MtGox ExchangeStreamingConfiguration btcusdConfiguration = new MtGoxStreamingConfiguration(10, 10000, Currencies.BTC, Currencies.USD, false); // Interested in the public streaming market data feed (no authentication) StreamingExchangeService btcusdStreamingMarketDataService = mtGoxExchange.getStreamingExchangeService(btcusdConfiguration); // Requesting initial order book using the polling service PollingMarketDataService marketDataService = mtGoxExchange.getPollingMarketDataService(); MarketDataRunnable.book = marketDataService.getPartialOrderBook(Currencies.BTC, Currencies.USD); // Open the connections to the exchange btcusdStreamingMarketDataService.connect(); ExecutorService executorService = Executors.newSingleThreadExecutor(); Future<?> mtGoxMarketDataFuture = executorService.submit(new MarketDataRunnable(btcusdStreamingMarketDataService)); // the thread waits here until the Runnable is done. mtGoxMarketDataFuture.get(); executorService.shutdown(); // Disconnect and exit System.out.println(Thread.currentThread().getName() + ": Disconnecting..."); btcusdStreamingMarketDataService.disconnect(); }
@Test public void tickerFetchTest() throws Exception { Exchange exchange = ExchangeFactory.INSTANCE.createExchange(OkCoinExchange.class.getName()); PollingMarketDataService marketDataService = exchange.getPollingMarketDataService(); Ticker ticker = marketDataService.getTicker(new CurrencyPair("BTC", "CNY")); System.out.println(ticker.toString()); assertThat(ticker).isNotNull(); }
@Test public void tickerFetchTest() throws Exception { Exchange exchange = ExchangeFactory.INSTANCE.createExchange(ItBitExchange.class.getName()); PollingMarketDataService marketDataService = exchange.getPollingMarketDataService(); OrderBook orderBook = marketDataService.getOrderBook(new CurrencyPair("XBT", "USD")); // System.out.println(orderBook.toString()); assertThat(orderBook).isNotNull(); }
private void go() throws IOException { ExchangeSpecification exchangeSpecification = new ExchangeSpecification(BitcoiniumExchange.class.getName()); exchangeSpecification.setApiKey("6seon0iepta86txluchde"); // Use the factory to get the Open Exchange Rates exchange API Exchange bitcoiniumExchange = ExchangeFactory.INSTANCE.createExchange(exchangeSpecification); // Interested in the public polling market data feed (no authentication) bitcoiniumMarketDataService = (BitcoiniumMarketDataServiceRaw) bitcoiniumExchange.getPollingMarketDataService(); // Setup the panel final XChartPanel 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 chartPanel.updateSeries(BIDS_SERIES_NAME, xAxisBidData, yAxisBidData); chartPanel.updateSeries(ASKS_SERIES_NAME, xAxisAskData, yAxisAskData); } catch (IOException e) { e.printStackTrace(); } } }; Timer timer = new Timer(); timer.scheduleAtFixedRate(chartUpdaterTask, 0, 10000); // every ten seconds }
public static void main(String[] args) throws IOException { // Use the factory to get BitcoinToYou exchange API using default settings Exchange bitcoinToYou = ExchangeFactory.INSTANCE.createExchange(BitcoinToYouExchange.class.getName()); // Interested in the public polling market data feed (no authentication) PollingMarketDataService marketDataService = bitcoinToYou.getPollingMarketDataService(); Long now = new Date().getTime(); generic(now, marketDataService); raw(now, (BitcoinToYouMarketDataServiceRaw) marketDataService); }
public static void main(String[] args) throws IOException { // Use the factory to get ANX exchange API using default settings Exchange anx = ExchangeFactory.INSTANCE.createExchange(BitbayExchange.class.getName()); // Interested in the public polling market data feed (no authentication) PollingMarketDataService marketDataService = anx.getPollingMarketDataService(); // Get the latest ticker data showing BTC to USD Ticker ticker = marketDataService.getTicker(CurrencyPair.BTC_USD); System.out.println(ticker.toString()); // Get the latest ticker data showing BTC to EUR ticker = marketDataService.getTicker(CurrencyPair.BTC_EUR); System.out.println(ticker.toString()); // Get the latest ticker data showing BTC to GBP ticker = marketDataService.getTicker(CurrencyPair.BTC_PLN); System.out.println(ticker.toString()); }