Honey Framework was launched in March 2018, and offers two open-source libraries, bfx-hf-algo and bfx-hf-algo-server which together provide a complete algorithmic order system tightly integrated into the Bitfinex UI.
These are useful for creating custom, complex order types for the Bitfinex platform.
Installing and using Honey Framework is easy:
- Go to Honey Framework and download the application.
- Go to Bitfinex and create your API key to link with your existing account.
Learn about your API keys here.
- The Honey Framework application runs on all major operating systems including Windows, macOS and Linux.
The Honey Framework encourages open-source. Developers are able to use our built-in code to customise their experience. In addition, developers are also able to request features, bug fixes and general contributions to the open-source code by contacting us.
The sophisticated algorithms found on Honey Framework enables users to automate trading and execute hundreds of orders at once directly from the Bitfinex UI. Along with this, users are also able to build bots for better trading if they are interested.
The Honey Framework UI enables users to customize market data layout for maximum efficiency by selecting from a wide range of custom widgets including Order books, Trade tables, Charts and more.
While the Honey Framework enables users to customise their experiences, it also comes with the below orders which are built-in algorithmic orders.
Honey Framework: Algorithmic Orders
TWAP or Time-Weighted-Average-Price spreads an order out through time in order to fill at the TWAP, calculated between the time the order is submitted to the final atomic order close.
price can be specified as a fixed external target, such as the top bid/ask or last trade price, or as an explicit target which must be matched against the top bid/ask/last trade/etc.
Iceberg allows you to place a large order on the market while ensuring only a small part of it is ever filled at once. By enabling the 'Excess As Hidden' option, it is possible to offer up the remainder as a hidden order, allowing for minimal market disruption when executing large trades. The most common use of this order types is to minimise market disruption
Accumulate/Distribute allows users to split a large order into smaller randomised portions, submitted at regular and/or irregular intervals.
By enabling the ‘Await Fill’ or Catch Up’ options, the algorithm will either ensure each component fills before submitting subsequent orders or will ignore the slice interval for the next order thereby ensuring the time-to-fill for the entire order is not adversely affected.
The price must be manually specified as `limitPrice` for `LIMIT` order types, or as a combination of a price offset & cap for `RELATIVE` order types. `MARKET` A/D orders execute using `MARKET` atomic orders, and offer no price control.
Ping/pong submits multiple 'ping' orders; once a ping order fills, an associated 'pong' order is submitted.
Multiple ping/pong pairs can be created by specifying an order count greater than 1, a suitable min/max ping price, and a pong distance. Multiple ping orders will be created between the specified min/max prices, with the associated pongs offset by the pong distance from the ping price. When operating in 'endless' mode, new ping orders will be submitted when their associated pongs fill.
The MA Crossover is a special algorithmic order type triggered by an indicator condition; specifically, the moment two configurable moving averages cross each other. Either exponential MA or the normal MA can be used, with individually configurable timeframes and periods for both, to trigger the execution of a MARKET or LIMIT order.
Triangular Arbitrage (coming soon - exp Feb 2020)
Triangular arbitrage attempts to profit from the small differences in price between multiple markets. It submits a series of synchronous orders that execute on 3 different markets and end up back to the starting symbol thus creating a triangle pattern. For example:
EOS:BTC (buy) -> EOS:ETH (sell) -> ETH:BTC (sell)
Once the EOS:BTC buy order fills then a new order is executed on EOS:ETH to sell the EOS and finally, once that order is filled a sell order is placed on the ETH:BTC market in order to complete the full cycle back to BTC. The user is able to specify whether the orders execute as a taker or a maker by selecting the order types 'MARKET', 'BEST ASK' or 'BEST BID'
For further information on the Honey Framework and document on setting up, https://docs.bitfinex.com/v2/reference#honey-framework
If you have any questions, get in touch with our support team.