Method: Bitmex::Client#orderbook

Defined in:
lib/bitmex/client.rb

#orderbook(symbol, depth: 25) {|Hash| ... } ⇒ Array

Get current Level 2 orderbook in vertical format

Examples:

Get the first level

orderbook = client.orderbook 'XBTUSD', depth: 1

Listen to orderbook changes

client.orderbook 'XBTUSD' do |orderbook|
  puts orderbook.inspect
end

Parameters:

  • symbol (String)

    instrument symbol, send a series (e.g. XBT) to get data for the nearest contract in that series

  • depth (Integer) (defaults to: 25)

    orderbook depth per side. send 0 for full depth.

Yields:

  • (Hash)

    the orderbook data

Returns:

  • (Array)

    the orderbook

Raises:

  • (ArgumentError)


121
122
123
124
125
126
127
128
129
# File 'lib/bitmex/client.rb', line 121

def orderbook(symbol, depth: 25, &ablock)
  raise ArgumentError, 'symbol is required' unless symbol

  if block_given?
    websocket.listen orderBookL2: symbol, &ablock
  else
    rest.get 'orderbook/L2', params: { symbol: symbol, depth: depth }
  end
end