Skip to content

DCA bot

How spot and futures DCA bots buy in steps: base order and extra buys, volume and step scale, take profit, QFL starts, the stop loss and martingale risk.

On this page

A DCA bot (dollar-cost averaging) opens a deal with a base order. If the price moves against it, it adds extra buys (on a short they are extra sells; other platforms call them safety orders) at set distances, which lowers the average entry. When the price comes back to the take profit above the average, it closes the whole deal. Then it can start the next deal.

A DCA bot does well when dips bounce back. It does badly when the price keeps falling past the last extra buy.

Spot DCA or futures DCA

Pick Futures or Spot in the market picker of the builder's header, as on Trade.

Spot DCAFutures DCA
VenueHyperliquid spotHyperliquid and Aster perps
DirectionLongLong (default) or Short
LeverageNone1x default, up to 3x; 4x and 5x on the deepest markets only. Isolated margin
Default stop lossFollows your extra buys: how far they reach + 3%, rounded up (18% with the defaults)Same

The settings

The panel asks for the Direction (futures: Long or Short, with a red risk line on Short: "Short DCA loses when the price keeps rising"), the Investment (25%, 50% or Max of the available balance), on futures the Leverage (1x by default, 1x to 3x; above 3x only on the deepest markets) and a Run length (see Run length). Until you change them, the base order and extra buy sizes follow your investment. Everything else is under Manual adjustment:

FieldDefaultWhat it does
Base orderThe first order of each deal, Market or Limit. At least the venue's minimum order
Extra buys5How many averaging orders, 0 to 25. 0 means no averaging
Extra buy sizeSame as the base orderThe size of the first extra buy
Price deviation2%How far from the entry the first extra buy sits, 0.5% to 10%
Max active extra buys2How many rest on the venue at once. The next one is placed when one fills
Volume scale1.0Each extra buy is this many times the one before, 1.0 to 2.0
Step scale1.2Each gap between extra buys is this many times the one before, 1.0 to 2.0
Take profit1.5%Where the deal closes, from the Average entry or from the Base order
Stop loss18% (follows the extra buys until you change it)% from the average entry. Required. The stop moves with the average, so it must sit beyond the next extra buy at every step of the deal; the hint shows the smallest stop allowed

Under Advanced, at the end of Manual adjustment:

FieldDefaultWhat it does
Trailing take profitOff, 0.5%When take profit is reached, the bot follows the price and closes when it falls back by this %. It must be smaller than the take profit
Trailing stop lossOff, 2%Once the deal is in profit, the stop follows the price at this distance
When the stop loss hitsClose deal & stop botOr Close & start next: close the deal and open a new one
Deal start conditionImmediatelyPrice: start when the price is ≤ or ≥ a level. QFL: see below. Manual: you start each deal with Start deal on the bot's page (shown while no deal is open)
Cooldown between deals0 minutesA pause after a deal closes
Max loss30% of the investment, or more when the loss at your stop is biggerThe bot closes at market when its total PnL reaches this loss. Part of the limits you sign. With leverage the loss at the stop can pass 30%, so the default rises to cover it (plus 10%) and the stop stays the real exit. A max loss you enter below it gets a warning: the bot would close before the price reaches the stop
RepeatOnStart a new deal after take profit. Off = one deal only
Multi-take profitOff; 2 or 3 stepsCloses the deal in steps at 1×, 2× (and 3×) the take profit: 50% / 50%, or 50% / 30% / 20% of the position. If the price jumps past the last step, the whole deal closes at once as a take profit. Changing the take profit of a running bot moves every step with it. Without breakeven, extra buys keep working after the first step, so a later step can close a larger position than the first (the steps re-price off the new average). Multi-take profit is not part of the tested settings (run lengths and ready setups), so their figures don't cover it. A step that fills a little at a time keeps its order. Not with a trailing take profit
Breakeven after the first take profitOffWith multi-take profit: once the first step has filled (all of it, or at least half before its order went) and the price is at least half the first step past the breakeven price, the stop moves to the average entry plus fees and the extra buys left are cancelled, so the rest can't turn into a loss (otherwise it waits for the next step). The first take profit must be at least twice the fees the breakeven stop covers (about 0.3–0.4%): closer, the stop would sit right under the price. A stop there doesn't stop the bot: the next deal starts as after a take profit. It shows as Breakeven stop under Trades, and its notification is not a stop-loss alert

A bot runs one deal at a time on one market.

QFL starts

QFL opens each deal when the price cracks under its base: a recent low it already bounced from. The extra buys buy deeper, and the take profit sells the bounce. A market that only falls has no base, so it never opens deal after deal in a free fall.

FieldDefaultWhat it does
Crack under the base3%How far under the base the price must go before the deal opens, 1% to 20%
Bounce that makes a base2%How far the price must have bounced from a low for it to count as a base
Base candles1hThe price bars the base is read from: 15m, 1h or 4h
Candles looked back48How many bars back the bot looks for a base, 12 to 200

QFL is also its own entry in the Start a bot window: its pane shows where each coin on Hyperliquid stands against its 2-day base, and a coin opens a Long DCA bot with the QFL start already set.

The summary

  • Max amount for bot usage: the base order plus every extra buy. On futures with leverage, the margin is shown too.
  • Max price deviation covered: how far the last extra buy sits from the entry.
  • Average entry if all fill, and on futures the Est. liquidation price with every extra buy filled.
  • Extra buys preview: a table with each order's deviation, price, size, total size, average entry and take profit price.

An example

Spot DCA on a coin at 100 USDC. Base order 100 USDC, 5 extra buys of 100 USDC, deviation 2%, volume scale 1.0, step scale 1.2, take profit 1.5%, stop loss 16%.

OrderDeviationPrice
Base0%100.00
Extra buy 1−2.00%98.00
Extra buy 2−4.40%95.60
Extra buy 3−7.28%92.72
Extra buy 4−10.74%89.26
Extra buy 5−14.88%85.12
  • If every order fills, the bot has used 600 USDC at an average of about 93.17. Take profit is then 1.5% above, at about 94.56, below the starting price.
  • If the price falls on to the stop, 16% below the average at about 78.26, the deal closes about 96 USDC down.

The stop is placed from the average entry and moves with it. It must sit below the next extra buy at every step: before the last extra buy fills, the average is about 94.96 and the last order is at 85.12, 10.36% lower. So with these extra buys a stop of 10% is refused, 11% is allowed, and the default is 18% (the 14.88% they reach, plus 3%, rounded up).

Martingale: volume scale above 1

With a volume scale above 1, each extra buy is bigger than the last. At 1.5, the five extra buys above would be 100, 150, 225, 338 and 506 USDC: 1,419 USDC in all instead of 600. The average moves faster toward the price, so deals close sooner. When the price keeps falling, the loss grows just as fast.

Last updated