Skip to content
All library documents

Hummingbot 1.18: Exchange Connectors and Strategy Examples

Article Hummingbot docs

Summary

Hummingbot release 1.18.0, dated July 24, 2023, introduced platform and connector changes relevant to automated trading. The release upgraded the software to Python 3.10, added direct Uniswap pool quoting through QuoterV2 as an alternative to router-based pricing, and expanded AscendEX support with candle feeds and market orders. It also added a Vertex decentralized exchange connector and standardized Gateway routes across chains.

The release notes describe candle feeds built from historical and live WebSocket data, and include examples of a trend follower and a strategy that uses the distance between short and long EMAs to generate signals. These are implementation and feature notes, not evidence that the strategies are profitable. No comparative latency measurements or trading results are reported. The notes also flag an ongoing Gateway token-support error and describe a restart workaround, underscoring that connector behavior may require operational attention.

Key ideas

  • Version 1.18.0 upgraded Hummingbot to Python 3.10 and updated dependencies.
  • Uniswap Gateway can quote directly from pools through QuoterV2 instead of relying only on the router.
  • AscendEX gained candle-feed and market-order support, while Vertex was added as a DEX connector.
  • The release includes examples of trend-following and EMA-distance directional strategies.
  • The notes report software capabilities and an operational issue, but no strategy performance evidence.

Tags

Full text
# Release Notes - Version 1.18.0


# Release Notes - Version 1.18.0

*Released on July 24, 2023*

We are very excited to ship the July 2023 release of Hummingbot (v1.18.0) today! This release features a significant upgrade to **Python 3.10**, providing enhanced performance and reliability for users. In Gateway, the **Uniswap** connector now supports fetching prices directly from pools, which lowers latency and resolves past issues. In addition, we added Candles Feeds and Market Orders support to the **Ascendex** connector, as well as a new DEX connector to **Vertex**!

| Official Repo | Description | Release in Github | Release in DockerHub |
|------|--------|-----------|-------------|
| [Hummingbot](https://github.com/hummingbot/hummingbot) | Core trading engine | [`v1.18.0`](https://github.com/hummingbot/hummingbot/releases/tag/v1.18.0) | [`version-1.18.0`](https://hub.docker.com/r/hummingbot/hummingbot/tags?name=version-1.18.0) |
| [Gateway](https://github.com/hummingbot/gateway) | DEX connector middleware | [`v1.18.0`](https://github.com/hummingbot/gateway/releases/tag/v1.18.0) | [`version-1.18.0`](https://hub.docker.com/r/hummingbot/gateway/tags?name=version-1.18.0) |

Install or update Hummingbot by cloning the latest [`hummingbot/deploy-examples`](https://github.com/hummingbot/deploy-examples) repo and running the following command for your desired configuration:

```
docker compose up --force-recreate --build -d
```
!!! warning "Ongoing Gateway issue"
    When running Gateway, if you encounter the following error message, `Price query failed: Token not supported`, a simultaneous restart of both the Gateway and client should fix the issue. For updates on this issue, see [#164](https://github.com/hummingbot/gateway/issues/164).

## Monthly Community Call

Each month, we livestream a community call on our [Discord](https://discord.gg/hummingbot) server that highlights the new features included in each release:

<iframe style="width:100%; min-height:400px;" src="https://www.youtube.com/embed/B2dttrRgfGI?si=2HJlaPjVjMq-yW-" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Check out the [Hummingbot Events Calendar](https://lu.ma/u/hummingbot) for links to these and other upcoming events!

## Python 3.10 Upgrade

[#6389](https://github.com/hummingbot/hummingbot/pull/6389) upgrades Hummingbot's Python version to 3.10 and updates its most important dependencies. This upgrade improves the client's performance, reliability, and security. It also allows users who install from source to utilize the latest version of Anaconda and Miniconda and enables support for the Apple M2 chipset.

## Refactored Chain Endpoints

[#147](https://github.com/hummingbot/gateway/pull/147) and [#6445](https://github.com/hummingbot/hummingbot/pull/6445) refactored the Gateway route structure to standardize  endpoints to use  `/chain` rather than blockchain-specific endpoints. This enables Gateway to scale the number of chains it can support without introducing bloat.

All chains should now utilize the following routes:

```
/chain/allowances
/chain/cancel
/chain/approve
/chain/nonce
/chain/tokens
/chain/balances
/chain/poll
/chain/transfer
/chain/status
/chain/config
```

**Thanks to [vic-en](https://github.com/vic-en) for this fix! 🙏**

## Uniswap Direct Pool Interaction

The initial design of the Uniswap connector utilizes its `smart order router` to price and route swaps, but users have reported latency issues with the router. [#136](https://github.com/hummingbot/gateway/pull/136) and [#153](https://github.com/hummingbot/gateway/pull/153) added the ability to use the [QuoterV2](https://docs.uniswap.org/contracts/v3/reference/periphery/lens/QuoterV2) rather than the router.

This introduces two additional parameters defined in the `uniswap.yml` config file:

* useRouter (bool, default=true): if True, estimation and execution functions use the Router; if false, use quote and trade functions of SDK.
* feeTier (string, default='MEDIUM'): Matches one of the Uniswap fee tier strings. If useRouter is False, then the user has to specify feeTier to find the right pool.

**Thanks to [VPashkov](https://github.com/VPashkov) for this fix! 🙏**

## AscendEx Candles Feed and Market Orders Support

This release adds additional features for Ascendex, which the community used HBOT governance to prioritze as a Silver-tier connector for Epoch 4.

Candles Feed helps you generate custom OHLCV candles using both historical and live Websocket data, and create real-time custom technical indicators using `pandas_ta`. We have added support for `ascendex`:

```python
candles = [CandlesFactory.get_candle(connector="ascendex",
           trading_pair="ETH-USDT", interval="1m", max_records=100)]
```

Following our [Technical Roadmap](https://hummingbot.org/blog/posts/hummingbot-2023-technical-roadmap/), we are expanding our connectors to support to include all order types offered by an exchange. In this release, we integrated the `market_order` type for [Ascendex](../exchanges/ascendex/index.md).

**Pull Requests:** [#6418](https://github.com/hummingbot/hummingbot/pull/6418), [#6471](https://github.com/hummingbot/hummingbot/pull/6471)

**Thanks to [yancong001](https://github.com/yancong001) for this contribution! 🙏**

## New DEX Connector: Vertex

[Vertex](https://vertexprotocol.com/)  is a fully decentralized peer-to-peer orderbook-based cryptocurrency exchange for the DeFi ecosystem built on Substrate.

See [Vertex](../exchanges/vertex.md) for the exchange connector docs.

**Pull Requests:** [#6379](https://github.com/hummingbot/hummingbot/pull/6379)

**Snapshot Proposal:** https://snapshot.org/#/hbot-prp.eth/proposal/0x68a4b91e9461266b32ad16e8a78219df04623ad529cf63ac109499e18317b661

**Thanks to [R-K-H](https://github.com/R-K-H) for this contribution! 🙏**

## Hummingbot Dashboard Updates

[Hummingbot Dashboard](https://github.com/hummingbot/dashboard) is a **community-driven project** to build a **control center** for Hummingbot instances.

We hold bi-weekly calls in the Hummingbot Discord to discuss Dashboard:

<iframe style="width:100%; min-height:400px;" src="https://www.youtube.com/embed/nvv4oqH4too" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

While Dashboard is a new, highly experimental project, we encourage users to try it out and provide feedback on the **##dashboard** channel in Discord. For more information, see the [Task Backlog](https://github.com/orgs/hummingbot/projects/14) as well as the [Wiki](https://github.com/hummingbot/dashboard/wiki) where you can see the current tasks being worked on as well as the contributors assigned.

## New Script Examples

This release adds a couple directional strategies including a script example to test the newly added DEX data feed.

- [amm_data_feed_example.py](https://github.com/hummingbot/hummingbot/blob/master/strategies/scripts/amm_data_feed_example.py): This is a script example using two DEX data feeds of different networks. **Pull Request:** [#6477](https://github.com/hummingbot/hummingbot/pull/6477)

- [directional_strategy_trend_follower.py](https://github.com/hummingbot/hummingbot/blob/master/strategies/scripts/directional_strategy_trend_follower.py): This is a trend following strategy. **Pull Request:** [#6415](https://github.com/hummingbot/hummingbot/pull/6415)

- [directional_strategy_widening_ema_bands.py](https://github.com/hummingbot/hummingbot/blob/master/strategies/scripts/directional_strategy_widening_ema_bands.py): This strategy uses two EMAs one short and one long to generate trading signals and execute trades based on the percentage of distance between them. **Pull Request:** [#6390](https://github.com/hummingbot/hummingbot/pull/6390)

## Removed Connectors and Strategies

The following connectors and strategies did not receive enough votes in the Epoch 5 polls to meet the Minimum Voting Power threshold, so they have been removed from the Hummingbot codebase. Check the poll results here: https://hummingbot.org/blog/posts/epoch-5-polls-recap/




- Crypto.com connector: [#6465](https://github.com/hummingbot/hummingbot/pull/6465)

- DeFi Kingdoms connector: [#6478](https://github.com/hummingbot/hummingbot/pull/6478), [#162](https://github.com/hummingbot/gateway/pull/162)

- Aroon Oscillator strategy

## Other Updates

### Hummingbot

* [#6367](https://github.com/hummingbot/hummingbot/pull/6367) Added .dockerignore files **Thanks to [shibanovp](https://github.com/shibanovp) for this fix! 🙏**
* [#6383](https://github.com/hummingbot/hummingbot/pull/6383) Added a logger mixin for tests **Thanks to [MementoRC](https://github.com/MementoRC) for this fix! 🙏**
* [#6382](https://github.com/hummingbot/hummingbot/pull/6382) Fixed the issue with IsolatedAsyncio TestCase in HB closing the main event loop **Thanks to [MementoRC](https://github.com/MementoRC) for this fix! 🙏**
* [#6412](https://github.com/hummingbot/hummingbot/pull/6412) Fixed issue with wrong calculation of max records for downloading candles
* [#6419](https://github.com/hummingbot/hummingbot/pull/6419) Fixed multiple trading pair in [gate_io_perpetual](../exchanges/gate-io/index.md) websocket userstream issue **Thanks to [yancong001](https://github.com/yancong001) for this fix! 🙏**
* [#6426](https://github.com/hummingbot/hummingbot/pull/6426) Added trade fee in quote
* [#6440](https://github.com/hummingbot/hummingbot/pull/6440) Fixed issue where the order_book_tracker wasn't passing the trade_id to the order_book
* [#6449](https://github.com/hummingbot/hummingbot/pull/6449) Added a delay function between signals
* [#6467](https://github.com/hummingbot/hummingbot/pull/6467) Improved the log messages shown when quantizing orders
* [#6472](https://github.com/hummingbot/hummingbot/pull/6472) Added a fixed rate conversion for amm-arb
* [#6473](https://github.com/hummingbot/hummingbot/pull/6473) Fixed issue with [MEXC](../exchanges/mexc/index.md) exchange, when the token price is super small **Thanks to [hlxwell](https://github.com/hlxwell) for this fix! 🙏**
* [#6417](https://github.com/hummingbot/hummingbot/pull/6417) Deleted old issue templates and created new ones
* [#6420](https://github.com/hummingbot/hummingbot/pull/6420) Fixed issue with [#5659](https://github.com/hummingbot/hummingbot/issues/5659) where dydx orders seem to expire after only 10 mins
* [#6450](https://github.com/hummingbot/hummingbot/pull/6450) Updated contribution guidelines for the Hummingbot repo

### Gateway

* [#141](https://github.com/hummingbot/gateway/pull/141) Updated Gateway internal dependencies
* [#160](https://github.com/hummingbot/gateway/pull/160) Fixed issue with lists not showing in conf/lists on startup

Shown in full with attribution under the source's licence. Licence: Apache-2.0

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.