# Quant bot

> How the Quant bot enters, adds with DCA, takes profit and records results.

Source: https://docs.botradix.com/quant/

Quant is a rules-based, trend-following bot. It watches one or several markets, enters when price crosses its moving average in the direction you chose, adds to the position on confirmed pullbacks (DCA), and closes the whole position when the trend turns against it with at least your minimum profit, or when your stop is reached.

You will find it under **Quant Engine**, at [botradix.com/Quant](https://botradix.com/Quant) (the old `/Futures` address redirects there).

## Where it runs

| Venue | Market type | Notes |
|---|---|---|
| BotRadix DEX (default) | Perpetual futures on Base | Connected with a DEX API key. Cross margin, network gas included, minimum 18.10 USDC per order. Cross pairs such as BTC/ETH trade natively as one position |
| Hyperliquid | Perpetual futures | Connected with a dedicated Agent Wallet. Hyperliquid rejects orders below 10 USD |
| Uniswap (Base) | Spot | Long only, 1x, no funding and no liquidation. Linked wallet with revocable on-chain limits |

See [Connecting exchanges](https://docs.botradix.com/exchanges/) for how each venue is connected.

## How it decides

Signals are calculated on **closed candles** of the chosen timeframe, using PairForge market data (with the venue's own data as fallback). Orders are always executed on your venue, in your account.

- **Entry.** A LONG bot enters when a closed candle crosses above the EMA; a SHORT bot enters when it crosses below. It only enters a market where the bot has no open position and your account has no other exposure on that market.
- **Adding (DCA).** The bot adds to the position only when all of these hold: price has moved against the position by at least the configured trigger (from the average entry for the first DCA, from the previous DCA for the next ones); a closed candle crosses the EMA in the position's direction again; the position is not already at the profit target; and the configured number of DCA steps has not been used.
- **Take profit.** There is no resting take-profit order. The whole position closes when a closed candle crosses the EMA **against** the position **and** the profit at that close is at least your minimum profit.
- **Stop ("Close %").** The whole position closes at market when the live price moves against the entry by at least the configured percentage.

The engine closes whole positions. If a close fills only partly, the remainder stays open until the next valid trigger.

## Parameters

| Parameter | Default | Range and notes |
|---|---|---|
| Pairs | — | One or several markets; one side (LONG or SHORT) per bot |
| Amount per pair | — | In USDC, as position size (notional). Leverage changes the margin, not the size |
| Leverage | — | Integer from 1, capped by each market's maximum |
| EMA period | — | Required |
| Timeframe | 15m | 5m, 15m, 1h, 4h, 1d. 1m and 3m require a BAQ holding of at least 10,000 USD |
| Minimum profit | 1% | Minimum 0.02% (2.30% on Uniswap) |
| Close (stop) | 3% | 0.01% to 2000% |
| DCA steps | 1 | 0 disables DCA |
| DCA amount per step | Entry amount | — |
| First DCA trigger | 1% | Adverse move from the average entry |
| DCA spacing | 1% | Between consecutive DCA steps; can be set per step |

The bot checks its markets every 10 seconds on the 1m timeframe, every 30 seconds on 3m and every 60 seconds otherwise.

## Synthetic pairs

Quant can trade the ratio between two assets, such as GOLD/BTC or ETH/BTC:

- On the **BotRadix DEX** these cross markets trade natively as a single position.
- On **Hyperliquid**, which has no A/B markets, the bot runs the pair with orders on its two coins: 2 to enter and 2 to exit, with the signal calculated on the PairForge ratio. Before starting it, open a LONG position on Hyperliquid in the source coin (B for a LONG A/B bot, A for a SHORT one), at least for the bot's amount. The bot uses that position as its base and rotates it into the other coin; the terminal shows which coin each pair needs.

## Managing a running bot

| Action | Effect |
|---|---|
| Pause | Keeps the configuration and positions. **While paused, the bot takes no automatic action at all, including take profit and stop.** |
| Resume | Restarts automatic management |
| Add (DCA) / Reduce | Manual add, or reduction by a USDC amount |
| Close all / Emergency close | Closes the position at market |
| Stop | Removes the bot. **Open positions are not closed automatically**; they remain in your venue account |

Two bots of the same account cannot trade the same market, and Quant and Grid cannot automate the same asset on the same venue at the same time.

You can also close an open position at market and remove it from BotRadix from the trash button of the Positions panel; the bot keeps running. See [History, PnL and exports](https://docs.botradix.com/history/#trash-close-and-remove-an-open-position).

## Results and alerts

Results are recorded per position with gross and net profit. Funding is not part of the strategy logic; it is booked as a cost in net PnL. Trading fees and slippage reduce the result. See [History, PnL and exports](https://docs.botradix.com/history/).

Alerts for entries, DCA steps, take profit, stop and closes can be sent to Telegram (a chat ID or a channel).

## Access

The number of Quant bots and pairs you can run depends on your access tier (see [BAQ](https://docs.botradix.com/baq/#access-tiers)). On the BotRadix DEX the first tiers are free and do not require BAQ.

## Risks to understand

- Trend-following strategies lose money in sideways, choppy markets (repeated entries and exits).
- DCA increases the position size as price moves against you; together with leverage, it increases the risk of liquidation.
- The stop is executed at market and can fill worse than the configured level in fast markets.
- A paused bot does not protect its positions. If you pause a bot with open positions, manage them yourself.
- See [Risks](https://docs.botradix.com/risks/) for the complete list.
