An experimental, multi-market trading system for the Hyperliquid exchange, implemented in Rust and powered by hyperliquid_rust_sdk. It manages multiple markets concurrently and places orders based on a configurable indicator-driven strategy.
| Platform | Link |
|---|---|
| 📱 Telegram | t.me/novustch |
| wa.me/14105015750 | |
| 💬 Discord | discordapp.com/users/985432160498491473 |
Feel free to reach out for implementation assistance or integration support.
- Connect to Hyperliquid mainnet, testnet, or a local node
- Manage multiple markets with configurable margin allocation per market
- Pluggable strategy with adjustable risk, style, and market stance
- Indicator engine with per-timeframe bindings
- Fully asynchronous design built on
tokiowithflumechannels
- Core trading logic lives in Rust (
src/) with dedicated modules for markets, signals, execution, and strategy - Optional frontend lives under
src/frontend/(React + TypeScript)
- Rust toolchain (stable), installed via
rustup - Hyperliquid API credentials
-
Clone the repository.
-
Create a
.envfile in the project root:PRIVATE_KEY=<your API private key> # obtain at https://app.hyperliquid.xyz/API AGENT_KEY=<optional agent API public key> WALLET=<public wallet address>
-
Run the application.
On Unix-like systems:
./run.sh
On Windows (PowerShell):
cargo run --release
- See
config.tomlfor example strategy and runtime configuration - Supported trading pairs are defined in
src/assets.rs(MARKETS)
The default strategy is implemented in src/strategy.rs as CustomStrategy. It combines multiple indicators (e.g., RSI, StochRSI, EMA crosses, ADX, ATR). You can tune:
- Risk level:
Low,Normal,High - Trading style:
Scalp,Swing - Market stance:
Bull,Bear,Neutral
Signals are emitted when multiple indicator conditions align (e.g., oversold RSI with a bullish StochRSI crossover) and then translated into orders by the executor.
Indicators are configured as (IndicatorKind, TimeFrame) pairs. Available kinds include:
Rsi(u32)SmaOnRsi { periods, smoothing_length }StochRsi { periods, k_smoothing, d_smoothing }Adx { periods, di_length }Atr(u32)Ema(u32)EmaCross { short, long }Sma(u32)
Each pair is wrapped in an Entry with an EditType (Add, Remove, Toggle). See the usage in the codebase for constructing market configurations with custom indicator sets.
src/bot.rs– Orchestrates markets and keeps margin in syncsrc/market.rs– Single-market pipeline: data feed, signal engine, order executionsrc/signal/– Indicator trackers and strategy logicsrc/executor.rs– Order placement via the Hyperliquid APIsrc/strategy.rs– Strategies consumed by the signal enginesrc/trade_setup.rs– Trading parameters and metadatasrc/assets.rs– Supported markets (MARKETS)src/frontend/– Optional React/TypeScript UIconfig.toml– Example runtime/strategy configuration
- Build:
cargo build --release - Run:
cargo run --release