use of org.knowm.xchange.dto.marketdata.Trades in project XChange by knowm.
the class BitsoAdapters method adaptTrades.
/**
* Adapts a Transaction[] to a Trades Object
*
* @param transactions The Bitso transactions
* @param currencyPair (e.g. BTC/MXN)
* @return The XChange Trades
*/
public static Trades adaptTrades(BitsoTransaction[] transactions, CurrencyPair currencyPair) {
List<Trade> trades = new ArrayList<>();
long lastTradeId = 0;
for (BitsoTransaction tx : transactions) {
Order.OrderType type;
switch(tx.getSide()) {
case "buy":
type = Order.OrderType.ASK;
break;
case "sell":
type = Order.OrderType.BID;
break;
default:
type = null;
}
final long tradeId = tx.getTid();
if (tradeId > lastTradeId) {
lastTradeId = tradeId;
}
trades.add(new Trade.Builder().type(type).originalAmount(tx.getAmount()).currencyPair(currencyPair).price(tx.getPrice()).timestamp(DateUtils.fromMillisUtc(tx.getDate() * 1000L)).id(String.valueOf(tradeId)).build());
}
return new Trades(trades, lastTradeId, TradeSortType.SortByID);
}
use of org.knowm.xchange.dto.marketdata.Trades in project XChange by knowm.
the class BitstampAdapters method adaptTrades.
/**
* Adapts a Transaction[] to a Trades Object
*
* @param transactions The Bitstamp transactions
* @param currencyPair (e.g. BTC/USD)
* @return The XChange Trades
*/
public static Trades adaptTrades(BitstampTransaction[] transactions, CurrencyPair currencyPair) {
List<Trade> trades = new ArrayList<>();
long lastTradeId = 0;
for (BitstampTransaction tx : transactions) {
final long tradeId = tx.getTid();
if (tradeId > lastTradeId) {
lastTradeId = tradeId;
}
trades.add(adaptTrade(tx, currencyPair, 1000));
}
return new Trades(trades, lastTradeId, TradeSortType.SortByID);
}
use of org.knowm.xchange.dto.marketdata.Trades in project XChange by knowm.
the class BitstampAdapterTest method testTradesAdapter.
@Test
public void testTradesAdapter() throws IOException {
// Read in the JSON from the example resources
InputStream is = BitstampAdapterTest.class.getResourceAsStream("/org/knowm/xchange/bitstamp/dto/marketdata/example-trades-data.json");
// Use Jackson to parse it
ObjectMapper mapper = new ObjectMapper();
BitstampTransaction[] transactions = mapper.readValue(is, BitstampTransaction[].class);
Trades trades = BitstampAdapters.adaptTrades(transactions, CurrencyPair.BTC_USD);
assertThat(trades.getTrades().size()).isEqualTo(125);
assertThat(trades.getlastID()).isEqualTo(122260);
// verify all fields filled
assertThat(trades.getTrades().get(0).getId()).isEqualTo("121984");
assertThat(trades.getTrades().get(0).getPrice().toString()).isEqualTo("13.14");
assertThat(trades.getTrades().get(0).getType()).isEqualTo(OrderType.BID);
assertThat(trades.getTrades().get(0).getOriginalAmount()).isEqualTo(new BigDecimal("10.11643836"));
assertThat(trades.getTrades().get(0).getCurrencyPair()).isEqualTo(CurrencyPair.BTC_USD);
}
use of org.knowm.xchange.dto.marketdata.Trades in project XChange by knowm.
the class CoinfloorPublicTradesIntegration method fetchTransactionTest.
@Test
public void fetchTransactionTest() throws IOException {
Exchange exchange = ExchangeFactory.INSTANCE.createExchange(CoinfloorExchange.class);
MarketDataService service = exchange.getMarketDataService();
Trades trades = service.getTrades(CurrencyPair.BTC_GBP, CoinfloorInterval.HOUR);
assertThat(trades.getTrades()).isNotEmpty();
int tradeCount = trades.getTrades().size();
Trade mostRecentTrade = trades.getTrades().get(tradeCount - 1);
assertThat(mostRecentTrade.getPrice()).isGreaterThan(BigDecimal.ZERO);
assertThat(mostRecentTrade.getOriginalAmount()).isGreaterThan(BigDecimal.ZERO);
assertThat(trades.getlastID()).isEqualTo(Long.parseLong(mostRecentTrade.getId()));
}
use of org.knowm.xchange.dto.marketdata.Trades in project XChange by knowm.
the class OkCoinTradesDemo method generic.
private static void generic(Exchange okcoinExchange) throws IOException {
// Interested in the public market data feed (no authentication)
MarketDataService marketDataService = okcoinExchange.getMarketDataService();
// Get the latest trade data for BTC_CNY
Trades trades = marketDataService.getTrades(CurrencyPair.BTC_USD, FuturesContract.ThisWeek);
System.out.println(trades);
System.out.println("Trades(0): " + trades.getTrades().get(0).toString());
System.out.println("Trades size: " + trades.getTrades().size());
// Get the latest trades data for BTC_CNY for the past couple of trades
trades = marketDataService.getTrades(CurrencyPair.BTC_CNY, trades.getlastID() - 10);
System.out.println(trades);
System.out.println("Trades size: " + trades.getTrades().size());
}
Aggregations