All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.knowm.xchange.examples.bitstamp.trade.BitstampTradeDemo Maven / Gradle / Ivy

package org.knowm.xchange.examples.bitstamp.trade;

import java.io.IOException;
import java.math.BigDecimal;

import org.knowm.xchange.Exchange;
import org.knowm.xchange.bitstamp.BitstampAuthenticatedV2.Side;
import org.knowm.xchange.bitstamp.dto.trade.BitstampOrder;
import org.knowm.xchange.bitstamp.service.BitstampTradeServiceRaw;
import org.knowm.xchange.currency.CurrencyPair;
import org.knowm.xchange.dto.Order.OrderType;
import org.knowm.xchange.dto.trade.LimitOrder;
import org.knowm.xchange.dto.trade.OpenOrders;
import org.knowm.xchange.examples.bitstamp.BitstampDemoUtils;
import org.knowm.xchange.service.trade.TradeService;
import org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair;
import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams;

/**
 * 

* Example showing the following: *

*
    *
  • Connect to Bitstamp exchange with authentication
  • *
  • Enter, review and cancel limit orders
  • *
*/ public class BitstampTradeDemo { public static void main(String[] args) throws IOException { Exchange bitstamp = BitstampDemoUtils.createExchange(); TradeService tradeService = bitstamp.getTradeService(); generic(tradeService); raw((BitstampTradeServiceRaw) tradeService); } private static void generic(TradeService tradeService) throws IOException { final OpenOrdersParamCurrencyPair openOrdersParamsBtcEur = (OpenOrdersParamCurrencyPair) tradeService.createOpenOrdersParams(); openOrdersParamsBtcEur.setCurrencyPair(CurrencyPair.BTC_EUR); final OpenOrdersParamCurrencyPair openOrdersParamsBtcUsd = (OpenOrdersParamCurrencyPair) tradeService.createOpenOrdersParams(); openOrdersParamsBtcUsd.setCurrencyPair(CurrencyPair.BTC_USD); final OpenOrdersParams openOrdersParamsAll = tradeService.createOpenOrdersParams(); printOpenOrders(tradeService, openOrdersParamsAll); // place a limit buy order LimitOrder limitOrder = new LimitOrder((OrderType.BID), new BigDecimal(".01"), CurrencyPair.BTC_EUR, null, null, new BigDecimal("500.00")); String limitOrderReturnValue = tradeService.placeLimitOrder(limitOrder); System.out.println("Limit Order return value: " + limitOrderReturnValue); printOpenOrders(tradeService, openOrdersParamsAll); printOpenOrders(tradeService, openOrdersParamsBtcEur); printOpenOrders(tradeService, openOrdersParamsBtcUsd); // Cancel the added order boolean cancelResult = tradeService.cancelOrder(limitOrderReturnValue); System.out.println("Canceling returned " + cancelResult); printOpenOrders(tradeService, openOrdersParamsAll); } private static void printOpenOrders(TradeService tradeService, OpenOrdersParams openOrdersParams) throws IOException { OpenOrders openOrders = tradeService.getOpenOrders(openOrdersParams); System.out.printf("Open Orders for %s: %s%n", openOrdersParams, openOrders); } private static void raw(BitstampTradeServiceRaw tradeService) throws IOException { printRawOpenOrders(tradeService); // place a limit buy order BitstampOrder order = tradeService.placeBitstampOrder(CurrencyPair.BTC_USD, Side.sell, new BigDecimal(".001"), new BigDecimal("1000.00")); System.out.println("BitstampOrder return value: " + order); printRawOpenOrders(tradeService); // Cancel the added order boolean cancelResult = tradeService.cancelBitstampOrder(order.getId()); System.out.println("Canceling returned " + cancelResult); printRawOpenOrders(tradeService); } private static void printRawOpenOrders(BitstampTradeServiceRaw tradeService) throws IOException { BitstampOrder[] openOrders = tradeService.getBitstampOpenOrders(CurrencyPair.BTC_USD); System.out.println("Open Orders: " + openOrders.length); for (BitstampOrder order : openOrders) { System.out.println(order.toString()); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy