/** * Constructor * * @param exchange */ public GeminiAccountServiceRaw(Exchange exchange) { super(exchange); this.allCurrencyPairs = new ArrayList<CurrencyPair>(exchange.getExchangeMetaData().getCurrencyPairs().keySet()); }
@Override public List<CurrencyPair> getExchangeSymbols() { return new ArrayList<>(getExchangeMetaData().getCurrencyPairs().keySet()); }
public CoinfloorTradeService(Exchange exchange) { super(exchange); allConfiguredCurrencyPairs = exchange.getExchangeMetaData().getCurrencyPairs().keySet(); }
public static ExchangeMetaData adaptMetaData( List<CurrencyPair> currencyPairs, ExchangeMetaData metaData) { Map<CurrencyPair, CurrencyPairMetaData> pairsMap = metaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currenciesMap = metaData.getCurrencies(); for (CurrencyPair c : currencyPairs) { if (!pairsMap.containsKey(c)) { pairsMap.put(c, null); } if (!currenciesMap.containsKey(c.base)) { currenciesMap.put(c.base, null); } if (!currenciesMap.containsKey(c.counter)) { currenciesMap.put(c.counter, null); } } return metaData; }
public static ExchangeMetaData adaptMetaData( List<BityPair> rawSymbols, ExchangeMetaData metaData) { List<CurrencyPair> currencyPairs = BityAdapters.adaptCurrencyPairs(rawSymbols); Map<CurrencyPair, CurrencyPairMetaData> pairsMap = metaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currenciesMap = metaData.getCurrencies(); for (CurrencyPair c : currencyPairs) { if (!pairsMap.containsKey(c)) { pairsMap.put(c, null); } if (!currenciesMap.containsKey(c.base)) { currenciesMap.put(c.base, null); } if (!currenciesMap.containsKey(c.counter)) { currenciesMap.put(c.counter, null); } } return metaData; }
public static ExchangeMetaData adaptMetaData( List<BittrexSymbol> rawSymbols, ExchangeMetaData metaData) { List<CurrencyPair> currencyPairs = BittrexAdapters.adaptCurrencyPairs(rawSymbols); Map<CurrencyPair, CurrencyPairMetaData> pairsMap = metaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currenciesMap = metaData.getCurrencies(); for (CurrencyPair c : currencyPairs) { if (!pairsMap.containsKey(c)) { pairsMap.put(c, null); } if (!currenciesMap.containsKey(c.base)) { currenciesMap.put(c.base, null); } if (!currenciesMap.containsKey(c.counter)) { currenciesMap.put(c.counter, null); } } return metaData; }
public Map<String, LiquiTicker> getAllTickers() { return getTicker(new ArrayList<>(exchange.getExchangeMetaData().getCurrencyPairs().keySet())); }
public static void main(String[] args) throws Exception { CertHelper.trustAllCerts(); Exchange poloniex = ExchangeFactory.INSTANCE.createExchange(PoloniexExchange.class.getName()); final Map<CurrencyPair, CurrencyPairMetaData> currencyPairs = poloniex.getExchangeMetaData().getCurrencyPairs(); for (CurrencyPair pair : currencyPairs.keySet()) { final CurrencyPairMetaData pairMetaData = currencyPairs.get(pair); System.out.printf("%s: %s%nn", pair, pairMetaData); } } }
public static ExchangeMetaData adaptToExchangeMetaData( Map<String, PoloniexCurrencyInfo> poloniexCurrencyInfo, Map<String, PoloniexMarketData> poloniexMarketData, ExchangeMetaData exchangeMetaData) { Map<Currency, CurrencyMetaData> currencyMetaDataMap = exchangeMetaData.getCurrencies(); CurrencyMetaData currencyArchetype = currencyMetaDataMap.values().iterator().next(); for (Map.Entry<String, PoloniexCurrencyInfo> entry : poloniexCurrencyInfo.entrySet()) { Currency ccy = Currency.getInstance(entry.getKey()); if (!currencyMetaDataMap.containsKey(ccy)) currencyMetaDataMap.put(ccy, currencyArchetype); } Map<CurrencyPair, CurrencyPairMetaData> marketMetaDataMap = exchangeMetaData.getCurrencyPairs(); CurrencyPairMetaData marketArchetype = marketMetaDataMap.values().iterator().next(); for (String market : poloniexMarketData.keySet()) { CurrencyPair currencyPair = PoloniexUtils.toCurrencyPair(market); if (!marketMetaDataMap.containsKey(currencyPair)) marketMetaDataMap.put(currencyPair, marketArchetype); } return exchangeMetaData; }
public static void main(String[] args) throws IOException { // Use the factory to get The Rock exchange API using default settings Exchange exchange = ExchangeFactory.INSTANCE.createExchange(TheRockExchange.class.getName()); ExchangeMetaData exchangeMetaData = exchange.getExchangeMetaData(); System.out.println(exchangeMetaData.toString()); for (CurrencyPair currencyPair : exchangeMetaData.getCurrencyPairs().keySet()) { System.out.println(currencyPair.toString()); } } }
protected final void verifyOrder(Order order, ExchangeMetaData exchangeMetaData) { CurrencyPairMetaData metaData = exchangeMetaData.getCurrencyPairs().get(order.getCurrencyPair()); if (metaData == null) { throw new IllegalArgumentException("Invalid CurrencyPair"); } BigDecimal originalAmount = order.getOriginalAmount(); if (originalAmount == null) { throw new IllegalArgumentException("Missing originalAmount"); } BigDecimal amount = originalAmount.stripTrailingZeros(); BigDecimal minimumAmount = metaData.getMinimumAmount(); if (minimumAmount != null) { if (amount.scale() > minimumAmount.scale()) { throw new IllegalArgumentException("Unsupported amount scale " + amount.scale()); } else if (amount.compareTo(minimumAmount) < 0) { throw new IllegalArgumentException("Order amount less than minimum"); } } } }
public Map<String, LiquiDepth> getAllDepths(final int limit) { return checkResult( liqui.getDepth( new Liqui.Pairs( new ArrayList<>(exchange.getExchangeMetaData().getCurrencyPairs().keySet())), limit)); }
public void verifyOrder(LimitOrder limitOrder) { ExchangeMetaData exchangeMetaData = exchange.getExchangeMetaData(); verifyOrder(limitOrder, exchangeMetaData); BigDecimal price = limitOrder.getLimitPrice().stripTrailingZeros(); if (price.scale() > exchangeMetaData.getCurrencyPairs().get(limitOrder.getCurrencyPair()).getPriceScale()) { throw new IllegalArgumentException("Unsupported price scale " + price.scale()); } }
public Map<String, LiquiDepth> getAllDepths() { return checkResult( liqui.getDepth( new Liqui.Pairs( new ArrayList<>(exchange.getExchangeMetaData().getCurrencyPairs().keySet())))); }
public static ExchangeMetaData adaptToExchangeMetaData( ExchangeMetaData exchangeMetaData, List<CCEXMarket> products) { Map<CurrencyPair, CurrencyPairMetaData> currencyPairs = new HashMap<>(); Map<CurrencyPair, CurrencyPairMetaData> existingCurrencyPairMetadata = exchangeMetaData.getCurrencyPairs(); Map<Currency, CurrencyMetaData> currencies = new HashMap<>(); for (CCEXMarket product : products) { BigDecimal minSize = product.getMinTradeSize(); CurrencyPair pair = adaptCurrencyPair(product); CurrencyPairMetaData existingMetaForPair = existingCurrencyPairMetadata.get(pair); FeeTier[] existingFeeTiers = null; if (existingMetaForPair != null) { existingFeeTiers = existingMetaForPair.getFeeTiers(); } CurrencyPairMetaData cpmd = new CurrencyPairMetaData(null, minSize, null, 0, existingFeeTiers); currencyPairs.put(pair, cpmd); currencies.put(pair.base, null); currencies.put(pair.counter, null); } return new ExchangeMetaData(currencyPairs, currencies, null, null, true); }
public static void main(String[] args) throws Exception { Exchange hitbtcExchange = HitbtcExampleUtils.createExchange(); hitbtcExchange.remoteInit(); System.out.println( "Market metadata: " + hitbtcExchange.getExchangeMetaData().getCurrencyPairs().toString()); MarketDataService marketDataService = hitbtcExchange.getMarketDataService(); HitbtcMarketDataServiceRaw hitbtcMarketDataService = (HitbtcMarketDataServiceRaw) hitbtcExchange.getMarketDataService(); getCandles(hitbtcMarketDataService); }
public static void main(String[] args) throws Exception { Exchange hitbtcExchange = HitbtcExampleUtils.createExchange(); hitbtcExchange.remoteInit(); System.out.println( "Market metadata: " + hitbtcExchange.getExchangeMetaData().getCurrencyPairs().toString()); MarketDataService marketDataService = hitbtcExchange.getMarketDataService(); generic(marketDataService); raw((HitbtcMarketDataServiceRaw) marketDataService); }
public static void main(String[] args) throws Exception { Exchange CoinbeneExchange = CoinbeneDemoUtils.createExchange(); CoinbeneExchange.remoteInit(); System.out.println( "Market metadata: " + CoinbeneExchange.getExchangeMetaData().getCurrencyPairs().toString()); MarketDataService marketDataService = CoinbeneExchange.getMarketDataService(); generic(marketDataService); raw((CoinbeneMarketDataServiceRaw) marketDataService); }
public static void main(String[] args) throws Exception { Exchange CobinhoodExchange = CobinhoodDemoUtils.createExchange(); CobinhoodExchange.remoteInit(); System.out.println( "Market metadata: " + CobinhoodExchange.getExchangeMetaData().getCurrencyPairs().toString()); MarketDataService marketDataService = CobinhoodExchange.getMarketDataService(); generic(marketDataService); raw((CobinhoodMarketDataServiceRaw) marketDataService); }
static ExchangeMetaData adaptToExchangeMetaData( HuobiAssetPair[] assetPairs, HuobiAsset[] assets, ExchangeMetaData staticMetaData) { HuobiUtils.setHuobiAssets(assets); HuobiUtils.setHuobiAssetPairs(assetPairs); Map<CurrencyPair, CurrencyPairMetaData> pairsMetaData = staticMetaData.getCurrencyPairs(); Map<CurrencyPair, CurrencyPairMetaData> pairs = new HashMap<>(); for (HuobiAssetPair assetPair : assetPairs) { CurrencyPair pair = adaptCurrencyPair(assetPair.getKey()); pairs.put(pair, adaptPair(assetPair, pairsMetaData.getOrDefault(pair, null))); } Map<Currency, CurrencyMetaData> currenciesMetaData = staticMetaData.getCurrencies(); Map<Currency, CurrencyMetaData> currencies = new HashMap<>(); for (HuobiAsset asset : assets) { Currency currency = adaptCurrency(asset.getAsset()); CurrencyMetaData metadata = currenciesMetaData.getOrDefault(currency, null); BigDecimal withdrawalFee = metadata == null ? null : metadata.getWithdrawalFee(); int scale = metadata == null ? 8 : metadata.getScale(); currencies.put(currency, new CurrencyMetaData(scale, withdrawalFee)); } return new ExchangeMetaData(pairs, currencies, null, null, false); }