tradingat50

Strategy graveyard / Grid trading bot

Verdict: doesn't work Backtest + one live day

A grid trading bot on SPY and QQQ: the 10-cent grid lost $48,539 in 41 days

Backtested on SPY and QQQ quotes recorded every two seconds, 41 sessions, July to September 2026, plus one live paper day. Updated 1 Oct 2026.

Short answer: no. A grid bot buys every small dip and sells every small rise. On choppy days it banks dozens of small profits. On trend days it keeps buying into a fall (or selling into a rally) until it's full, then sits on a large loss. In my tests the trend days won.

The classic version, a 10-cent grid running all day, lost $12,465 on SPY and $36,074 on QQQ in 41 sessions, and hit its 500-share limit every single day. Wider grids lost less, but none made money you could rely on.

-$48,53910-cent grid, SPY and QQQ combined, 41 days
41 of 41days the 10-cent grid hit its 500-share limit, on both
-$30,985QQQ grid from 09:30 to 10:30 alone
~100combinations tried; the best wasn't statistically meaningful

What is grid trading?

A grid bot places a ladder of orders around the current price: buys at fixed steps below, sells at fixed steps above. Every time price drops a step and comes back, the bot buys low and sells one step higher, banking the step. It doesn't need to predict anything; it only needs the price to wander back and forth.

Grid bots are sold as "passive income" on crypto exchanges and trading platforms. The catch is what happens when price doesn't come back.

The exact rules I tested

  1. Anchor: the midpoint of the first quote at 09:30 New York time.
  2. Ladder: a resting buy one step below the current level and a resting sell one step above. Each fill moves the ladder one step. Long 100 shares for every step below the anchor, short 100 for every step above.
  3. Profit: every buy that's later sold one step higher (or sell bought back one step lower) earns one step on 100 shares.
  4. Limit: at most 500 shares long or short. At the limit, the bot stops adding and waits.
  5. Close: flatten everything at 15:58.
  6. Fills: a resting order only counts as filled when the market trades through its price (for a buy at $500.00, the ask has to reach $500.00). A more optimistic "touch" rule was also run.
  7. Variations: steps of 5, 10, 20 and 50 cents; six trading windows from the open-only to the afternoon-only; a daily stop of ±$500 or $1,000; a $200 daily profit target; and the same grid run with same-day options instead of shares.

Results

Full day, 09:30 to 15:58, 41 sessions, before commissions:

Grid stepSPYQQQDays at the 500-share limit (SPY, QQQ)
5 cents-$24,151-$51,74241, 41
10 cents-$12,465-$36,07441, 41
20 cents-$3,238-$19,86841, 41
50 cents-$2,133+$48833, 40

The tighter the grid, the more it lost. With the optimistic "touch" fills, the 10-cent grid still lost $1,264 on SPY and $21,251 on QQQ.

Why it failed

  1. Small wins, rare big losses. Most days, a grid looks like it's working. Then a trend day arrives, the grid fills all the way to its limit against the move, and one day's loss is larger than weeks of gains. The trend days in my sample cost $5,000 to $7,000 each.
  2. The position limit decides the result. Without a limit, a grid can lose without end on a trend. With one, it stops trading at the worst moment and often misses the move back. Every grid step except 50 cents hit the limit on every day.
  3. The open trends. In my data the first hour had the biggest one-way moves, the worst condition for a grid. Afternoons chop more, and that was the only window that came close.
  4. Resting orders get the wrong fills. A grid's orders fill when price comes to them, which is exactly when price is moving against the position. Fills come easily when the move is against you.

Did I test it wrong?

Quite possibly. I tested the version of Grid trading bot described above, with settings I thought were fair, and it didn't work. That doesn't prove every version fails. I may have picked the wrong settings, the wrong market or timeframe, or missed a filter that experienced traders take for granted. Many strategies also depend on judgement that a set of fixed rules can't capture.

If you trade Grid trading bot and it works for you, I'd genuinely like to hear how. Tell me the chart and timeframe, what counts as a setup, any filters, where you get in, where your stop and target go, and when you get out. I'll test your version on the same data, the same way, and publish the result here, whichever way it comes out.

Send me your version

What would change my mind

A grid with a rule that switches it off on trend days, decided before the trend is obvious, that stays profitable across several months and markets. The afternoon-only version is the closest I've seen, and it needs a long live test before it means anything.

Questions

What is a grid trading bot?

A bot that places buy orders at fixed steps below the price and sell orders at fixed steps above it. Each time price moves one step and comes back, it banks the step. It needs no forecast, only back-and-forth movement.

Why does grid trading lose money?

Because markets don't only chop. On a trend day the grid keeps buying into a fall (or selling into a rally) until it hits its position limit, then holds a large losing position. One trend day erased weeks of small wins.

Is a wider grid better?

In my tests, yes: wider steps lost less, because they traded less often against a trend. But wider grids also made very little, and none was clearly profitable.

Does a daily profit target help a grid bot?

No. A $200 daily target was hit on most days, but it capped the big choppy days that paid for the losing ones, and the total went further negative.

How it was tested

This page records my own testing. It isn't financial advice.