GridBot Classic Bot

Directional range grid — simplest grid bot

GridBot Classic is the most straightforward grid strategy. You define a price range, a number of grid levels, and a total investment. The bot divides the range into equal intervals, places buy orders across those levels (for Long), and places reduce-only sell orders as buys fill. It does not average down aggressively — it simply works the grid inside the range. Set the range using recent support and resistance levels and let the grid work until price breaks out.

What you are trying to do

You believe BTC will trade between $90,000 and $110,000 for the next few weeks. You create a Long GridBot Classic with 20 levels across that range. The bot places buy orders every $1,000 from $90,000 to $109,000. Each time a buy fills, a sell is placed $1,000 higher to capture that grid's profit. The bot repeats this without manual intervention.

Step-by-step: creating a GridBot Classic bot

1

Select exchange, name and pair

Pick the connection, verify balance, name the bot, search for BTC and confirm market data (price, min notional, max leverage).

2

Choose grid spacing mode

Arithmetic — equal dollar distance between each level (e.g. every $1,000). Simpler and more predictable. Geometric — equal percentage distance between each level (e.g. every 1%). Geometric grids are better for assets with wide price ranges because spacing adjusts proportionally.

3

Choose order sizing mode

Quote mode — each grid level gets the same USDC margin value. This is the most common and easiest to reason about. Base mode — each grid level buys the same coin quantity (e.g. 0.001 BTC each). Use base mode if you want consistent coin accumulation.

4

Set lower price and upper price

Define the range. Example: Lower = $90,000 · Upper = $110,000. The grid only operates inside this range. Orders below the lower bound or above the upper bound will not be placed. Set the range wide enough to be realistic for the next trading period, but not so wide that individual levels are too far apart to fill.

5

Set grid levels

The number of equal intervals across the range. Example: 20 levels across $20,000 range = $1,000 spacing per level. More levels = smaller spacing = more frequent fills but smaller profit per fill. Fewer levels = wider spacing = less frequent fills but larger profit per fill.

6

Set total investment / per-grid margin

In Quote mode: enter Total investment (USDC margin). The per-grid amount is automatically calculated as total ÷ grid levels. Example: $200 total ÷ 20 levels = $10 margin per level. At 2× leverage, each buy is a $20 notional BTC position. Verify this exceeds the market minimum notional. Fill receipt notional already represents executed value: do not multiply it by leverage again. For a matched long cycle, gross profit = (sell price − buy price) × closed quantity; gross bps = gross profit ÷ matched buy notional × 10,000. Reverse the difference for shorts. Net profit requires actual fees and other costs; a sale alone does not prove profit.

7

Set direction and leverage

Long — bot accumulates BTC on buy levels and takes profit on sell levels above. Short — bot shorts on sell levels and takes profit on buy levels below. For BTC in a neutral-to-bullish range, use Long. Leverage: start at 1× or 2×. Grid bots rely on fills inside the range, not on leverage to generate returns.

8

Optional Stop loss & take profit, then start

Enable Stop Loss / Enable Take Profit protect the bot's whole position: on every run the bot compares the price with the average entry, using the configured % divided by leverage. When one is reached, it closes the entire position with a reduce-only market order and the bot pauses. They are not trigger orders on the exchange: they are evaluated only while the bot is running, and follow the average entry when it changes. Suggested setups can fill the form from recent candles. Review the Order summary and Level preview, then press Start bot.

Range breakouts

If BTC breaks above the upper price, all buys are filled and no new sell levels will be placed above the range. If it breaks below the lower price, the bot has no new entries to place. In both cases, consider stopping or editing the bot. While a position is open you can only extend the entry-side bound (lower for long, upper for short), change grid count, investment and SL/TP; pause the bot first to save. Do not leave a grid bot running with the price far outside its configured range.

Red trades in the exchange = the bot is working correctly

If you see red trades in your exchange history — that is a good sign, not a bad one.

It means the grid bot executed a buy and a sell, collected the spread between them, and is ready to repeat the cycle. The red color is a display artifact of how perpetual futures exchanges report individual trade PnL. It does not mean you lost money on that grid level. Your bot is doing exactly what it is supposed to do.

Why does the exchange show it as negative?

Perpetual futures exchanges calculate the PnL of each sell order relative to the average entry price of the entire open position — not relative to the specific grid level that generated that sell. When your grid has accumulated multiple buy levels during a dip, the average entry of the whole position is higher than the price of the most recent sell. So the exchange shows that sell as a loss — even though the buy and sell at that specific grid level were profitable.

Think of it this way: the exchange does not know the bot's strategy. It only sees a position with an average entry of, say, $93,500 — and a sell that just fired at $93,000. From its perspective that looks like a loss. But the bot bought that specific slot at $92,000 and sold it at $93,000, earning $1,000 of spread on that level. The other slots bought at $93k, $94k, $95k are still open and waiting for their own sell levels as price keeps climbing.

Real BTC example: red trade, real profit

Setup

GridBot Classic · Long · BTC/USDC · Range $92,000–$100,000 · 8 levels · $200 total margin · 2× leverage · Arithmetic spacing ($1,000 per level). Per-level margin: $25. Per-level notional at 2×: $50.

BTC starts at $96,000 and drops. Four buy levels fill on the way down. Then price recovers to $93,000 and the first sell fires.

EventPriceWhat happensAvg entry of whole position
Buy 1 fills$95,000Bot buys $50 notional BTC (0.000526 BTC)$95,000
Buy 2 fills$94,000Bot buys $50 notional BTC (0.000532 BTC)$94,496
Buy 3 fills$93,000Bot buys $50 notional BTC (0.000538 BTC)$93,992
Buy 4 fills$92,000Bot buys $50 notional BTC (0.000543 BTC)$93,519
Price recovers$93,000Sell for level 4 fires at $93,000 (reduce-only)$93,519 (remaining 3 lots)

Now here is what the exchange shows — and what reality looks like side by side:

What the exchange reportsWhat actually happened on that grid level
Sell price $93,000 $93,000
Reference price used $93,519 (avg entry of whole position) $92,000 (the buy price of this specific level)
Calculation ($93,000 − $93,519) × 0.000543 BTC ($93,000 − $92,000) × 0.000543 BTC
Result shown −$0.28 (shown red) +$0.54 (actual grid profit)
The bot earned +$0.54 on that level. The exchange showed −$0.28. Both are technically correct — they are measuring different things.

The exchange measures each trade against the average of everything. The grid earns on each individual buy→sell pair. As price continues climbing to $94k, $95k, $96k, each of the remaining three open levels will also close — and each will collect another $0.50–$0.55 of grid profit. By the time all four levels have closed, the total realized profit is approximately +$2.00–$2.20 across the four pairs, plus any unrealized PnL on the remaining position while it was open. The exchange history meanwhile shows a mix of red and green depending on how far each sell was from the overall average at the moment it fired.

How to actually measure if your grid bot is profitable

Stop reading the exchange's per-trade PnL. Instead, look at these three numbers:

MetricWhere to find itWhat it tells you
Realized grid profitMyLiquidBot bot stats panelTotal collected from all closed buy→sell pairs. This grows every time a grid level completes a full cycle. This is real money.
Unrealized PnLExchange position panelOpen levels still waiting for their sell to fire. Negative while price is below average entry — completely normal during accumulation phases.
Total PnLRealized + UnrealizedThe true picture. As price sweeps through grid levels on recovery, unrealized turns to realized and the total climbs.

Grid spacing must cover total trading fees

Use the exchange fee plus the MyLiquidBot fee for each entry and exit, according to the market, account tier and maker/taker execution. Negative trades can be real losses; review total PnL, not only closed grid cycles. Fees are charged on notional volume, so increasing leverage does not reduce the price gap needed to cover them.

Minimum spacing to beat fees

Approximate break-even price gap % ≈ total entry fee % + total exit fee %

Allow extra room for slippage and funding. This is an approximation for similar entry and exit notionals, not a profitability guarantee. Use the current rates in the fees section and your exchange account. Widen spacing or reduce the number of levels when costs are too high; do not increase leverage as a fee-saving measure.