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
31 Exchange publicExchange = ExchangeFactory.INSTANCE.createExchange(CHBTCExchange.class.getName());
32 PollingMarketDataService marketDataService = publicExchange.getPollingMarketDataService();
33
34
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
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
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
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
70 OpenOrders openOrders = tradeSerivce.getOpenOrders();
71 log.info("Open orders({}): {}", openOrders.getOpenOrders().size(), openOrders);
72
73
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
79 List<Order> orders = client.getUnfinishedOrdersIgnoreTradeType("BTC", 1, 20);
80 for (Order order : orders) {
81 System.out.println(order);
82 }
83 }
84 }
85
86 }