This module is used to interact with the bitfinex api
This module exposes the core bitfinex clients which includes both a websocket client and a rest interface client
Client(self,
API_KEY=None,
API_SECRET=None,
rest_host='https://api-pub.bitfinex.com/v2',
ws_host='wss://api-pub.bitfinex.com/ws/2',
create_event_emitter=None,
logLevel='INFO',
dead_man_switch=False,
ws_capacity=25,
channel_filter=[],
*args,
**kwargs)
The bfx client exposes rest and websocket objects
BfxWebsocket(self,
API_KEY=None,
API_SECRET=None,
host='wss://api-pub.bitfinex.com/ws/2',
manageOrderBooks=False,
dead_man_switch=False,
ws_capacity=25,
logLevel='INFO',
parse_float=float,
channel_filter=[],
*args,
**kwargs)
More complex websocket that heavily relies on the btfxwss module. This websocket requires authentication and is capable of handling orders. https://github.com/Crypto-toolbox/btfxwss
all
(array|Object): listen for all messages coming throughconnected:
() called when a connection is madedisconnected
: () called when a connection is ended (A reconnect attempt may follow)stopped
: () called when max amount of connection retries is met and the socket is closedauthenticated
(): called when the websocket passes authenticationnotification
(Notification): incoming account notificationerror
(array): error from the websocketorder_closed
(Order, Trade): when an order has been closedorder_new
(Order, Trade): when an order has been created but not closed. Note: will not be called if order is executed and filled instantlyorder_confirmed
(Order, Trade): When an order has been submitted and receivedwallet_snapshot
(array[Wallet]): Initial wallet balances (Fired once)order_snapshot
(array[Order]): Initial open orders (Fired once)positions_snapshot
(array): Initial open positions (Fired once)positions_new
(array): Initial open positions (Fired once)positions_update
(array): An active position has been updatedpositions_close
(array): An active position has closedwallet_update
(Wallet): Changes to the balance of walletsstatus_update
(Object): New platform status infoseed_candle
(Object): Initial past candle to prime strategyseed_trade
(Object): Initial past trade to prime strategyfunding_offer_snapshot
(array): Opening funding offer balancesfunding_loan_snapshot
(array): Opening funding loan balancesfunding_credit_snapshot
(array): Opening funding credit balancesbalance_update
(array): When the state of a balance is changednew_trade
(array): A new trade on the market has been executednew_ticker
(Ticker|FundingTicker): A new ticker update has been publishednew_funding_ticker
(FundingTicker): A new funding ticker update has been publishednew_trading_ticker
(Ticker): A new trading ticker update has been publishedtrade_update
(array): A trade on the market has been updatednew_candle
(array): A new candle has been producedmargin_info_updates
(array): New margin information has been broadcastedfunding_info_updates
(array): New funding information has been broadcastedorder_book_snapshot
(array): Initial snapshot of the order book on connectionorder_book_update
(array): A new order has been placed into the ordebrooksubscribed
(Subscription): A new channel has been subscribed tounsubscribed
(Subscription): A channel has been un-subscribed
BfxWebsocket.enable_flag(flag)
Enable flag on websocket connection
Attributes
flag (int)
: int flag value
BfxWebsocket.subscribe_order_book(symbol)
Subscribe to an orderbook data feed
Attributes
@param symbol
: the trading symbol i.e 'tBTCUSD'
BfxWebsocket.subscribe_candles(symbol, timeframe)
Subscribe to a candle data feed
Attributes
@param symbol
: the trading symbol i.e 'tBTCUSD'@param timeframe
: resolution of the candle i.e 15m, 1h
BfxWebsocket.subscribe_trades(symbol)
Subscribe to a trades data feed
Attributes
@param symbol
: the trading symbol i.e 'tBTCUSD'
BfxWebsocket.subscribe_ticker(symbol)
Subscribe to a ticker data feed
Attributes
@param symbol
: the trading symbol i.e 'tBTCUSD'
BfxWebsocket.subscribe_derivative_status(symbol)
Subscribe to a status data feed
Attributes
@param symbol
: the trading symbol i.e 'tBTCUSD'
BfxWebsocket.subscribe(*args, **kwargs)
Subscribe to a new channel
Attributes
@param channel_name
: the name of the channel i.e 'books', 'candles'@param symbol
: the trading symbol i.e 'tBTCUSD'@param timeframe
: sepecifies the data timeframe between each candle (only required for the candles channel)
BfxWebsocket.unsubscribe(*args, **kwargs)
Unsubscribe from the channel with the given chanId
Attributes
@param onComplete
: function called when the bitfinex websocket resoponds with a signal that confirms the subscription has been unsubscribed to
BfxWebsocket.resubscribe(*args, **kwargs)
Unsubscribes and then subscribes to the channel with the given Id
This function is mostly used to force the channel to produce a fresh snapshot.
BfxWebsocket.unsubscribe_all(*args, **kwargs)
Unsubscribe from all channels.
BfxWebsocket.resubscribe_all(*args, **kwargs)
Unsubscribe and then subscribe to all channels
BfxWebsocket.submit_order(*args, **kwargs)
Submit a new order
Attributes
@param gid
: assign the order to a group identifier@param symbol
: the name of the symbol i.e 'tBTCUSD@param price
: the price you want to buy/sell at (must be positive)@param amount
: order size: how much you want to buy/sell, a negative amount indicates a sell order and positive a buy order@param market_type Order.Type
: please see Order.Type enum amount decimal string Positive for buy, Negative for sell@param hidden
: if True, order should be hidden from orderbooks@param price_trailing
: decimal trailing price@param price_aux_limit
: decimal auxiliary Limit price (only for STOP LIMIT)@param oco_stop_price
: set the oco stop price (requires oco = True)@param close
: if True, close position if position present@param reduce_only
: if True, ensures that the executed order does not flip the opened position@param post_only
: if True, ensures the limit order will be added to the order book and not match with a pre-existing order@param oco
: cancels other order option allows you to place a pair of orders stipulating that if one order is executed fully or partially, then the other is automatically canceled
@param time_in_force: datetime for automatic order cancellation ie. 2020-01-01 10:45:23 @param leverage: the amount of leverage to apply to the order as an integer @param onConfirm: function called when the bitfinex websocket receives signal that the order was confirmed @param onClose: function called when the bitfinex websocket receives signal that the order was closed due to being filled or cancelled
BfxWebsocket.update_order(*args, **kwargs)
Update an existing order
Attributes
@param orderId
: the id of the order that you want to update@param price
: the price you want to buy/sell at (must be positive)@param amount
: order size: how much you want to buy/sell, a negative amount indicates a sell order and positive a buy order@param delta
: change of amount@param price_trailing
: decimal trailing price@param price_aux_limit
: decimal auxiliary Limit price (only for STOP LIMIT)@param hidden
: if True, order should be hidden from orderbooks@param close
: if True, close position if position present@param reduce_only
: if True, ensures that the executed order does not flip the opened position@param post_only
: if True, ensures the limit order will be added to the order book and not match with a pre-existing order@param time_in_force
: datetime for automatic order cancellation ie. 2020-01-01 10:45:23@param leverage
: the amount of leverage to apply to the order as an integer@param onConfirm
: function called when the bitfinex websocket receives signal that the order was confirmed@param onClose
: function called when the bitfinex websocket receives signal that the order was closed due to being filled or cancelled
BfxWebsocket.cancel_order(*args, **kwargs)
Cancel an existing open order
Attributes
@param orderId
: the id of the order that you want to update@param onConfirm
: function called when the bitfinex websocket receives signal that the order was confirmed@param onClose
: function called when the bitfinex websocket receives signal that the order was closed due to being filled or cancelled
BfxWebsocket.cancel_order_group(*args, **kwargs)
Cancel a set of orders using a single group id.
BfxWebsocket.cancel_all_orders(*args, **kwargs)
Cancel all existing open orders
This function closes all open orders.
BfxWebsocket.cancel_order_multi(*args, **kwargs)
Cancel existing open orders as a batch
Attributes
@param ids
: an array of order ids@param gids
: an array of group ids