Package org.knowm.xchange
Interface Exchange
- All Known Subinterfaces:
StreamingExchange
- All Known Implementing Classes:
AscendexExchange
,BankeraExchange
,BankeraStreamingExchange
,BaseExchange
,BiboxExchange
,BinanceExchange
,BinanceStreamingExchange
,BinanceUsExchange
,BinanceUsStreamingExchange
,BitbayExchange
,BitbayExchange
,BitcoinAverageExchange
,BitcoinChartsExchange
,BitcoinCoreWallet
,BitcoindeExchange
,BitcoindeExchange
,BitcoiniumExchange
,BitcointoyouExchange
,BitfinexExchange
,BitfinexStreamingExchange
,BitflyerExchange
,BitflyerStreamingExchange
,BithumbExchange
,BitmexExchange
,BitmexStreamingExchange
,BitsoExchange
,BitstampExchange
,BitstampStreamingExchange
,BittrexExchange
,BityExchange
,BitZExchange
,Bl3pExchange
,BleutradeExchange
,BlockchainExchange
,BTCCExchange
,BTCMarketsExchange
,BTCMarketsStreamingExchange
,BTCTradeExchange
,BTCTurkExchange
,CCEXExchange
,CexIOExchange
,CexioStreamingExchange
,CmcExchange
,CobinhoodExchange
,CoinbaseExchange
,CoinbaseExchange
,CoinbaseProExchange
,CoinbaseProStreamingExchange
,CoinbeneExchange
,CoindealExchange
,CoindirectExchange
,CoinEggExchange
,CoinexExchange
,CoinfloorExchange
,CoingiExchange
,CoinjarExchange
,CoinjarStreamingExchange
,CoinMarketCapExchange
,CoinmateExchange
,CoinmateStreamingExchange
,CoinoneExchange
,CoinsuperExchange
,CryptoFacilitiesExchange
,CryptopiaExchange
,CryptowatchExchange
,DeribitExchange
,DragonexExchange
,DsxExchange
,DVChainExchange
,dydxExchange
,dydxStreamingExchange
,EnigmaExchange
,ExmoExchange
,EXXExchange
,FCoinExchange
,FtxExchange
,FtxStreamingExchange
,GateioExchange
,GateioStreamingExchange
,GeminiExchange
,GeminiStreamingExchange
,GlobitexExchange
,HitbtcExchange
,HitbtcStreamingExchange
,HuobiExchange
,HuobiStreamingExchange
,IdexExchange
,IndependentReserveExchange
,ItBitExchange
,KoineksExchange
,KoinimExchange
,KrakenExchange
,KrakenStreamingExchange
,KucoinExchange
,KunaExchange
,LakeBTCExchange
,LatokenExchange
,LgoExchange
,LgoStreamingExchange
,LivecoinExchange
,LunoExchange
,LykkeExchange
,MercadoBitcoinExchange
,OERExchange
,OkCoinExchange
,OkCoinStreamingExchange
,OkexExchange
,OkexExchangeV3
,OkExFuturesStreamingExchange
,OkExStreamingExchange
,ParibuExchange
,PaymiumExchange
,PoloniexExchange
,PoloniexStreamingExchange
,QuoineExchange
,RippleExchange
,SerumExchange
,SerumStreamingExchange
,SimulatedExchange
,TheRockExchange
,TradeOgreExchange
,TrueFxExchange
,UpbitExchange
,VaultoroExchange
,YoBitExchange
,ZaifExchange
public interface Exchange
Interface to provide the following to applications:
- Entry point to the XChange APIs
The consumer is given a choice of a default (no-args) or configured accessor
-
Method Summary
Modifier and Type Method Description void
applySpecification(ExchangeSpecification exchangeSpecification)
Applies any exchange specific parametersAccountService
getAccountService()
An account service typically provides access to the user's private exchange dataExchangeSpecification
getDefaultExchangeSpecification()
default List<Instrument>
getExchangeInstruments()
Returns a list of Instrument objects.ExchangeMetaData
getExchangeMetaData()
The Meta Data defining some semi-static properties of an exchange such as currency pairs, trading fees, etc.ExchangeSpecification
getExchangeSpecification()
List<CurrencyPair>
getExchangeSymbols()
Returns a list of CurrencyPair objects.MarketDataService
getMarketDataService()
A market data service typically consists of a regularly updated list of the available prices for the various symbolssi.mazi.rescu.SynchronizedValueFactory<Long>
getNonceFactory()
The nonce factory used to create a nonce value.default ResilienceRegistries
getResilienceRegistries()
resilience4j registries with retry strategies, rate limiters, etc.TradeService
getTradeService()
An trade service typically provides access to trading functionalityvoid
remoteInit()
Initialize this instance with the remote meta data.
-
Method Details
-
getExchangeSpecification
ExchangeSpecification getExchangeSpecification()- Returns:
- The ExchangeSpecification in use for this exchange
-
getExchangeMetaData
ExchangeMetaData getExchangeMetaData()The Meta Data defining some semi-static properties of an exchange such as currency pairs, trading fees, etc.- Returns:
- The exchange's meta data
-
getExchangeSymbols
List<CurrencyPair> getExchangeSymbols()Returns a list of CurrencyPair objects. This list can either come originally from a loaded json file or from a remote call if the implementation override's the `remoteInit` method.- Returns:
- The exchange's symbols
-
getExchangeInstruments
Returns a list of Instrument objects. This list can either come originally from a loaded json file or from a remote call if the implementation override's the `remoteInit` method.- Returns:
- The exchange's instruments
-
getNonceFactory
si.mazi.rescu.SynchronizedValueFactory<Long> getNonceFactory()The nonce factory used to create a nonce value. Allows services to accept a placeholder that is replaced with generated value just before message is serialized and sent. If a method of a rest accepts ValueFactory as a parameter, it's evaluated, the message is serialized and sent in a single synchronized block.- Returns:
- Synchronized value factory
-
getResilienceRegistries
resilience4j registries with retry strategies, rate limiters, etc. used for this exchange.- Returns:
- resilience4j registries
- Throws:
NotYetImplementedForExchangeException
- if the exchange module does not support resilience features
-
getDefaultExchangeSpecification
ExchangeSpecification getDefaultExchangeSpecification()- Returns:
- A default ExchangeSpecification to use during the creation process if one is not supplied
-
applySpecification
Applies any exchange specific parameters- Parameters:
exchangeSpecification
- TheExchangeSpecification
-
getMarketDataService
MarketDataService getMarketDataService()A market data service typically consists of a regularly updated list of the available prices for the various symbolsThis is the non-streaming (blocking) version of the service
- Returns:
- The exchange's market data service
-
getTradeService
TradeService getTradeService()An trade service typically provides access to trading functionalityTypically access is restricted by a secret API key and/or username password authentication which are usually provided in the
ExchangeSpecification
- Returns:
- The exchange's trade service
-
getAccountService
AccountService getAccountService()An account service typically provides access to the user's private exchange dataTypically access is restricted by a secret API key and/or username password authentication which are usually provided in the
ExchangeSpecification
- Returns:
- The exchange's account service
-
remoteInit
Initialize this instance with the remote meta data. Most exchanges require this method to be called beforegetExchangeMetaData()
. Some exchanges require it before using some of their services.- Throws:
IOException
ExchangeException
-