View Javadoc
1   package org.oxerr.chbtc;
2   
3   import java.io.IOException;
4   import java.util.List;
5   
6   import org.oxerr.chbtc.dto.Order;
7   import org.slf4j.Logger;
8   import org.slf4j.LoggerFactory;
9   
10  import com.xeiam.xchange.Exchange;
11  import com.xeiam.xchange.ExchangeFactory;
12  import com.xeiam.xchange.ExchangeSpecification;
13  import com.xeiam.xchange.currency.CurrencyPair;
14  import com.xeiam.xchange.dto.account.AccountInfo;
15  import com.xeiam.xchange.dto.marketdata.OrderBook;
16  import com.xeiam.xchange.dto.marketdata.Trades;
17  import com.xeiam.xchange.dto.trade.OpenOrders;
18  import com.xeiam.xchange.service.polling.account.PollingAccountService;
19  import com.xeiam.xchange.service.polling.marketdata.PollingMarketDataService;
20  import com.xeiam.xchange.service.polling.trade.PollingTradeService;
21  
22  public class Main {
23  
24  	private static final Logger log = LoggerFactory.getLogger(Main.class);
25  
26  	public static void main(String[] args) throws IOException {
27  		final String accessKey = args[0];
28  		final String secretKey = args[1];
29  
30  		// Market data service
31  		Exchange publicExchange = ExchangeFactory.INSTANCE.createExchange(CHBTCExchange.class.getName());
32  		PollingMarketDataService marketDataService = publicExchange.getPollingMarketDataService();
33  
34  		// Ticker
35  		com.xeiam.xchange.dto.marketdata.Ticker ticker0 = marketDataService.getTicker(CurrencyPair.BTC_CNY);
36  		log.info("BTC ticker: {}", ticker0);
37  		ticker0 = marketDataService.getTicker(CurrencyPair.LTC_CNY);
38  		log.info("LTC ticker: {}", ticker0);
39  
40  		// Depth
41  		OrderBook orderBook = marketDataService.getOrderBook(CurrencyPair.BTC_CNY);
42  		log.info("BTC order book: {}", orderBook);
43  		orderBook = marketDataService.getOrderBook(CurrencyPair.LTC_CNY);
44  		log.info("LTC order book: {}", orderBook);
45  
46  		// Trades
47  		Trades trades0 = marketDataService.getTrades(CurrencyPair.BTC_CNY);
48  		log.info("BTC trades: {}", trades0);
49  		trades0 = marketDataService.getTrades(CurrencyPair.BTC_CNY, trades0.getlastID());
50  		log.info("BTC trades since {}: {}", trades0.getlastID(), trades0);
51  		trades0 = marketDataService.getTrades(CurrencyPair.LTC_CNY);
52  		log.info("LTC trades: {}", trades0);
53  		trades0 = marketDataService.getTrades(CurrencyPair.LTC_CNY, trades0.getlastID());
54  		log.info("LTC trades since {}: {}", trades0.getlastID(), trades0);
55  
56  		ExchangeSpecification spec = new ExchangeSpecification(CHBTCExchange.class);
57  		spec.setApiKey(accessKey);
58  		spec.setSecretKey(secretKey);
59  
60  		// Account service.
61  		Exchange tradeExchange = ExchangeFactory.INSTANCE.createExchange(spec);
62  		PollingAccountService accountService = tradeExchange.getPollingAccountService();
63  
64  		AccountInfo accountInfo = accountService.getAccountInfo();
65  		log.info("Account info: {}", accountInfo);
66  
67  		PollingTradeService tradeSerivce = tradeExchange.getPollingTradeService();
68  
69  		// Open orders
70  		OpenOrders openOrders = tradeSerivce.getOpenOrders();
71  		log.info("Open orders({}): {}", openOrders.getOpenOrders().size(), openOrders);
72  
73  		// Trade history
74  		Trades tradeHistory = tradeSerivce.getTradeHistory(CurrencyPair.BTC_CNY, null, 1, 1);
75  		log.info("Trade history({}): {}", tradeHistory.getTrades().size(), tradeHistory);
76  
77  		try (CHBTCClient client = new CHBTCClient(accessKey, secretKey, 5000, 5000, 5000)) {
78  			// getUnfinishedOrdersIgnoreTradeType
79  			List<Order> orders = client.getUnfinishedOrdersIgnoreTradeType("BTC", 1, 20);
80  			for (Order order : orders) {
81  				System.out.println(order);
82  			}
83  		}
84  	}
85  
86  }