package org.knowm.xchange.examples.btctrade.marketdata;
import java.io.IOException;
import java.util.Date;
import org.knowm.xchange.Exchange;
import org.knowm.xchange.ExchangeFactory;
import org.knowm.xchange.btctrade.BTCTradeExchange;
import org.knowm.xchange.btctrade.dto.marketdata.BTCTradeTrade;
import org.knowm.xchange.btctrade.service.BTCTradeMarketDataServiceRaw;
import org.knowm.xchange.currency.CurrencyPair;
import org.knowm.xchange.dto.marketdata.Trades;
import org.knowm.xchange.service.marketdata.MarketDataService;
/**
* Demonstrate requesting trades at BTCTrade.
*/
public class TradesDemo {
public static void main(String[] args) throws IOException {
// Use the factory to get BTCTrade exchange API using the default settings.
Exchange btcTrade = ExchangeFactory.INSTANCE.createExchange(BTCTradeExchange.class.getName());
generic(btcTrade);
raw(btcTrade);
}
private static void generic(Exchange exchange) throws IOException {
// Interested in the public market data feed (no authentication).
MarketDataService marketDataService = exchange.getMarketDataService();
// Get the latest 500 trade data for BTC/CNY.
Trades trades = marketDataService.getTrades(CurrencyPair.BTC_CNY);
System.out.println(trades);
System.out.println("Trades count: " + trades.getTrades().size() + ", LastID: " + trades.getlastID());
// Get 500 trades which tid > 0
trades = marketDataService.getTrades(CurrencyPair.BTC_CNY, 0);
System.out.println(trades);
System.out.println("Trades count: " + trades.getTrades().size() + ", LastID: " + trades.getlastID());
}
private static void raw(Exchange exchange) throws IOException {
// Interested in the public market data feed (no authentication).
BTCTradeMarketDataServiceRaw marketDataService = (BTCTradeMarketDataServiceRaw) exchange.getMarketDataService();
// Get the latest 500 trade data for BTC/CNY.
BTCTradeTrade[] trades = marketDataService.getBTCTradeTrades();
System.out.println("Trades count: " + trades.length);
for (BTCTradeTrade trade : trades) {
System.out.println(
trade.getTid() + "\t" + new Date(trade.getDate() * 1000) + "\t" + trade.getType() + "\t" + trade.getPrice() + "\t" + trade.getAmount());
}
// Get 500 trades which tid > 0
trades = marketDataService.getBTCTradeTrades(0);
System.out.println("Trades count: " + trades.length);
for (BTCTradeTrade trade : trades) {
System.out.println(
trade.getTid() + "\t" + new Date(trade.getDate() * 1000) + "\t" + trade.getType() + "\t" + trade.getPrice() + "\t" + trade.getAmount());
}
}
}