class HexTokenBot::ChannelClient::OkcoinClient

Attributes

client[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/hex_token_bot/channel_client/okcoin_client.rb, line 6
def initialize(options = {})
  url = options['endpoint'] || HexTokenBot.data_channels['okcoin']['endpoint']
  api_key = options['access_key'] || HexTokenBot.data_channels['okcoin']['access_key']
  secret_key = options['secret_key'] || HexTokenBot.data_channels['okcoin']['secret_key']

  @client = Okcoin::Client.new url: url, api_key: api_key, secret_key: secret_key
end

Public Instance Methods

get_market_order_book(market_code, asks_limit = nil , bids_limit = nil) click to toggle source
# File lib/hex_token_bot/channel_client/okcoin_client.rb, line 15
def get_market_order_book(market_code, asks_limit = nil , bids_limit = nil)
  rep = client.trades(symbol: market_code, since: nil)
  rep
end
get_order_newest(market_code) click to toggle source
# File lib/hex_token_bot/channel_client/okcoin_client.rb, line 20
def get_order_newest(market_code)
  rep = client.trades(symbol: market_code, since: nil)
  if rep.class == Array and !rep.empty?
    count = rep.size
    rep[count - 1]
  else
    []
  end
end
send_order(side, market_code, price, volume) click to toggle source
# File lib/hex_token_bot/channel_client/okcoin_client.rb, line 30
def send_order(side, market_code, price, volume)
  rep = client.trade(symbol: market_code, type: side, price: price, amount: volume)
  rep
end
send_order_buy(market_code, price, volume) click to toggle source
# File lib/hex_token_bot/channel_client/okcoin_client.rb, line 41
def send_order_buy(market_code, price, volume)
  send_order('buy', market_code, price, volume)
end
send_order_sell(market_code, price, volume) click to toggle source
# File lib/hex_token_bot/channel_client/okcoin_client.rb, line 45
def send_order_sell(market_code, price, volume)
  send_order('sell', market_code, price, volume)
end
send_orders_multi(orders, market_code) click to toggle source

orders: [{type: 'buy', amount: '0.15', price: '2955.0'}, {side: 'sell', volume: '0.16', price: '2956'}]

# File lib/hex_token_bot/channel_client/okcoin_client.rb, line 36
def send_orders_multi(orders, market_code)
  rep = client.batch_trade(symbol: market_code, orders_data: orders)
  rep
end