Nitrate Processed Mincemeat

    bfx-api-node-plugin-managed-candles

    1.0.3 • Public • Published

    Bitfinex Managed Candle Dataset Plugin for the Node.JS API

    Build Status

    This plugin maintains a full sorted candle set on its internal state, and emits it with every candle update with the event name data:managed:candles. The internal dataset is populated when receiving data from candle channels.

    Note that the manager proxies the event as managed:candles. If subscribing on a socket instance (wsState.ev.on(...)) use the internal event name, otherwise use the manager name with manager.onWS(...).

    Features

    • Maintains an up-to-date array of all received candles
    • Emits a new 'managed:candles' event with the full dataset on each update

    Installation

    npm i --save bfx-api-node-plugin-managed-candles

    Quickstart

    const { Manager } = require('bfx-api-node-core')
    const ManagedCandlesPlugin = require('bfx-api-node-plugin-managed-candles')
    
    const mgr = new Manager({
      plugins: [ManagedCandlesPlugin()]
    })
    
    // set up a connection, event listeners, etc
    
    mgr.onWS('managed:candles', {}, (candles) => {
      debug(JSON.stringify(candles.toJS(), null, 2))
    })

    Docs

    For an executable example, see examples/usage.js

    Example

    const debug = require('debug')('bfx:api:plugins:managed-candles:example')
    const { Manager, subscribe } = require('bfx-api-node-core')
    const ManagedCandlesPlugin = require('../')
    
    const SYMBOL = 'tBTCUSD'
    const mgr = new Manager({
      transform: true,
      plugins: [ManagedCandlesPlugin()]
    })
    
    mgr.onWS('open', {}, () => debug('connection open'))
    
    // Receive updated dataset
    mgr.onWS('managed:candles', {}, (candles) => {
      debug('updated dataset for %s contains %d candles', SYMBOL, candles.length)
      debug('latest candle follows')
      debug(JSON.stringify(candles[0].toJS(), null, 2))
    })
    
    const wsState = mgr.openWS()
    
    subscribe(wsState, 'candles', { key: `trade:1m:${SYMBOL}` })

    Contributing

    1. Fork it
    2. Create your feature branch (git checkout -b my-new-feature)
    3. Commit your changes (git commit -am 'Add some feature')
    4. Push to the branch (git push origin my-new-feature)
    5. Create a new Pull Request

    Install

    npm i bfx-api-node-plugin-managed-candles

    DownloadsWeekly Downloads

    74

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    8.79 kB

    Total Files

    15

    Last publish

    Collaborators

    • bitfinexorg
    • vigan-abd
    • prdn