Last chance! 50% off unlimited learning
Sale ends in
api.dict
. Limited to markets and currency processing defined in api.dict
, in case of currency pairs and methods not availble in dictionary use market.api.query
directly. This function perform pre processing of request and post processing of API call results to unified structure across markets. It will result truncation of most (not common across the markets) attributes returned. If you need the full set of data returned by market's API you should use market.api.query
.
market.api.process(market, currency_pair, action, req = list(), ..., verbose = getOption("Rbitcoin.verbose", 0), on.market.error = expression(stop(e[["message"]], call. = FALSE)), on.error = expression(stop(e[["message"]], call. = FALSE)), api.dict = NULL, raw.query.res = FALSE)
'kraken'
.c(base = 'BTC', quote = 'EUR')
. Order does matter.market.api.query
key
, secret
, client_id
(last one used on bitstamp),
verbose > 0
, each subfunction reduce verbose
by 1. If missing then getOption("Rbitcoin.verbose",0)
is used, by default 0
.api.dict
.market.api.query
. For details read market.api.query
.api.dict
.fromJSON
processing. Useful in case of change results structure from market API. It can always be manually post-processed as a workaround till the Rbitcoin update.action
param. All actions will return market, currency pair (except wallet
and open_orders
which returns all currencies), R timestamp, market timestamp and below data (in case if market not provide particular data, it will result NA
value):
'ticker'
returns data.table
with fields: last
, vwap
, volume
, ask
, bid
.
'wallet'
returns data.table
with fields: currency
, amount
, fee
.
'order_book'
returns list
with API call level attributes and sub elements [['asks']]
and [['bids']]
as data.table
objects with order book including already calculated cumulative amount
, price
and value
.
'open_orders'
returns data.table
with fields: oid
, type
, price
, amount
.
'place_limit_order'
returns data.table
with fields: oid
, type
, price
, amount
.
'cancel_order'
returns data.table
with fields: oid
.
'trades'
returns list
with API call level attributes and sub element [['trades']]
as data.table
(ASC order) with fields: date
, price
, amount
, tid
, type
.
Sys.sleep(10)
between API calls.
market.api.query
## Not run:
# # get ticker from market
# market.api.process(market = 'kraken', currency_pair = c('BTC', 'EUR'), action='ticker')
# # get ticker from all markets and combine
# ticker_all <- rbindlist(list(
# market.api.process(market = 'bitstamp', currency_pair = c('BTC', 'USD'), action='ticker')
# ,market.api.process(market = 'btce', currency_pair = c('LTC', 'USD'), action='ticker')
# ,{Sys.sleep(10);
# market.api.process(market = 'btce', currency_pair = c('LTC', 'BTC'), action='ticker')}
# ,{Sys.sleep(10);
# market.api.process(market = 'btce', currency_pair = c('NMC', 'BTC'), action='ticker')}
# ,market.api.process(market = 'kraken', currency_pair = c('BTC','EUR'), action='ticker')
# ,{Sys.sleep(10);
# market.api.process(market = 'kraken', currency_pair = c('LTC','EUR'), action='ticker')}
# ,{Sys.sleep(10);
# market.api.process(market = 'kraken', currency_pair = c('BTC','LTC'), action='ticker')}
# ))
# print(ticker_all)
#
# # get wallet from market
# market.api.process(market = 'kraken', currency_pair = c('BTC', 'EUR'), action = 'wallet',
# key = '', secret = '')
# # get wallet from all markets and combine
# wallet_all <- rbindlist(list(
# market.api.process(market = 'bitstamp', currency_pair = c('BTC', 'USD'), action = 'wallet',
# client_id = '', key = '', secret = ''),
# market.api.process(market = 'btce', currency_pair = c('LTC', 'USD'), action = 'wallet',
# method = '', key = '', secret = ''),
# market.api.process(market = 'kraken', currency_pair = c('BTC', 'EUR'), action = 'wallet',
# key = '', secret = '')
# ))
# print(wallet_all)
#
# # get order book from market
# market.api.process(market = 'kraken', currency_pair = c('BTC', 'EUR'), action = 'order_book')
#
# # get open orders from market
# market.api.process(market = 'kraken', currency_pair = c('BTC', 'EUR'), action = 'open_orders',
# key = '', secret = '')
#
# # place limit order
# market.api.process(market = 'kraken', currency_pair = c('BTC', 'EUR'), action = 'place_limit_order',
# req = list(type = 'sell', amount = 1, price = 8000), # sell 1 btc for 8000 eur
# key = '', secret = '')
#
# # cancel order
# market.api.process(market = 'kraken', currency_pair = c('BTC', 'EUR'), action = 'cancel_order,
# req = list(oid = 'oid_from_open_orders'),
# key = '', secret = '')
# # get trades
# market.api.process(market = 'kraken', currency_pair = c('BTC', 'EUR'), action = 'trades')
# ## End(Not run)
Run the code above in your browser using DataLab