Hummingbot v1.19.0 Release Notes¶
Released on August 28, 2023
We're excited to present Hummingbot version 1.19.0! This release include the launch of the new V2 Strategies framework, major improvements to Dashboard, new sample scripts including the return of Fixed Grid, and new connectors to Injective (direct Python, no Gateway), the Tezos blockchain, and Plenty DEX on Tezos.
|Core Trading Engine
|DEX Connector Middleware
To install or update, clone the latest
hummingbot/deploy-examples repository and run the following Docker command:
New Start Command
If you're using the source version, use the
./start command to launch Hummingbot. Read more.
Monthly Community Call¶
Join our live community call on Discord to explore the new features. A recording will be available afterward.
For more community events, check out the Hummingbot Calendar.
V2 Strategy Framework¶
Under Active Development
V2 Strategies are still in active development and haven't been officially released yet. For those eager to explore, you can test the initial templates for directional and market-making strategies in this pull request.
The new V2 Strategy Framework significantly expands Hummingbot's capabilities, allowing users to create modular, backtestable, and sophisticated strategies. Unlike the monolithic V1 strategies, V2 Strategies are designed to be highly adaptable, allowing seamless integration of various components. Whether you're a technical expert or a trading novice, you can easily create, backtest, and deploy strategies via Dashboard.
We're introducing specialized templates for different trading paradigms, including Market Making, Directional, and future strategy types. These new strategy templates allow users to combine different composable components:
- Candles: These structure both historical and real-time market data into OHLCV format, generating refined signals for trading decisions.
- Controllers: These orchestrate the overall strategy, deciding which Executors to deploy or adjust based on signals generated by Candles.
- Executors: These are the operational elements that handle precise trade execution, adapt to market changes, and manage the order lifecycle.
Watch this video for a preview:
You may also try out this pull request.
New Dashboard Features¶
Under Active Development
Dashboard is still under active development. If you're excited to explore its initial capabilities, you can find the first version here.
The Bot Orchestration section enables you to effortlessly deploy and manage multiple instances of Hummingbot. Key updates include:
- Master Bot Credentials: Now you can use a single set of credentials to manage all your bot instances, streamlining the setup process.
- Enhanced Bot Status Formatting: We've added a specialized parser that neatly formats the status of running bots, making it easier to monitor their activity.
The Backtest Manager section is designed to help you fine-tune your trading strategies using historical data. This month, we started to add the initial components, including integration with the Optuna optimization framework and minimal versions of the initial pages.
Watch this video to see how to deploy Dashboard on AWS:
It's important to note that the Hummingbot Dashboard is currently in its beta phase, which means new features and improvements are being added continuously. While the Dashboard offers a variety of functionalities, it is not yet a polished, finalized product. We highly encourage user feedback at this stage; your insights can greatly help us fine-tune the Dashboard's capabilities and user experience. Feel free to share your thoughts and suggestions on Discord or Github.
New Script Examples¶
Here are new script examples added to the codebase in this release, along with demo videos:
fixed_grid.py: The script implements a fixed grid trading strategy, placing buy and sell orders at predetermined price levels, rebalancing assets if required, and providing status updates on trades and balances. Pull Request: #6495
Thanks to rkc2000 for this script and video! 🙏
wallet_hedge_example.py: The script implements a fixed grid trading strategy, placing buy and sell orders at predetermined price levels, rebalancing assets if required, and providing status updates on trades and balances. Pull Request: #6495
Arbitrage with Smart Component¶
arbitrage_with_smart_component.py: The script defines an
ArbitrageWithSmartComponent class that automates cryptocurrency arbitrage trading between CEX / DEX exchanges, ensuring sufficient balances and managing active and closed arbitrage executions. It uses ArbitrageExecutor, a new Hummingbot component designed to simplify and automate your arbitrage trading strategies. Part of the V2 Strategy Framework, this component is engineered to assess arbitrage profitability, execute buy and sell orders across multiple trading pairs, and provide real-time status updates. It also offers detailed metrics on profitability and transaction costs, along with configurable settings for arbitrage strategies.
New Chain/DEX Connectors: Tezos/Plenty¶
Expand your trading possibilities with our new connectors for the Tezos blockchain and Plenty decentralized exchange. Tezos is a self-amending blockchain featuring on-chain governance and a liquid proof-of-stake consensus mechanism. Plenty is a standout decentralized exchange and automated market maker (Dex & AMM) that operates on the Tezos platform.
Tezos is a self-amending, decentralized blockchain platform with on-chain governance, emphasizing formal verification for smart contracts and utilizing a liquid proof-of-stake consensus mechanism. Plenty, is a leading decentralized exchange and automated market maker (Dex & AMM) on the Tezos blockchain.
Thanks to OjusWiZard for this contribution! 🙏
New Injective spot and perpetual Connectors¶
We've rolled out Python-native connectors that eliminates the need for Gateway when trading on Injective. In addition, These connectors are optimized for delegated accounts, allowing you to hold your funds in a primary account (portfolio or granter account) while signing trades and transactions with a separate trading account. The advantage? You can run multiple Hummingbot instances using the same pool of funds but different trading accounts, thus avoiding sequence number conflicts.
See the Injective documentation for more information.
Thanks to aarmoa for this contribution! 🙏
- #6439 Added a logger mixin for tests Thanks to MementoRC for this fix! 🙏
- #6455 Added a
wait for tasksmethod that allows to await calls made via
safe_wrapperThanks to MementoRC for this fix! 🙏
- #6456 Refactored BTCMarkets test cases Thanks to vdmerweandre for this fix! 🙏
- #6457 Updated workflow actions to latest version Thanks to MementoRC for this fix! 🙏
- #6496 Added hedging logic to data feed that tracks wallet balances for certain tokens
- #6498 Added additional on-the-fly params Thanks to ntenisOT for this fix! 🙏
- #6501 Fixed Binance rate limit weight for ticker price change Thanks to supervik for this fix! 🙏
- #6504 Fixed leverage type from
- #6518 Added start command for source version which fixes #6513
- #169 Fixed issue with
UniswapLP - failed to remove liquidityThanks to vic-en for this fix! 🙏
- #178 Updated
Gateway API.jsonto use
- #181 Fixed Gateway version
- #182 Refactored
arbitrumto fix issue reported in #173 Thanks to isreallee82 for this fix! 🙏
- #188 Fixed Gateway tests