WhitmanTrading

Grid Trading: Smooth Until It Is Not

Grid trading places buy and sell orders at fixed intervals above and below price, banking the gap each time the market oscillates. It works in a range and only in a range, because the closed wins are bounded and the open position a trend builds against you is not.

A grid is the only strategy whose equity curve looks better as the position gets worse. That is not a presentation problem. It is what the design does, and this page is about that one gap.

How it works

A candlestick chart of the site's shared price history. The headline on the chart reads: Orders stacked at intervals, in both directions.
Orders stacked at intervals, in both directions. Illustrative chart - not real market data.

Orders sit at fixed intervals above and below the current price. Buys below, sells above, evenly spaced. Price falls into a level and the system buys; it rises into one and the system sells, banking the interval.

A gently rising stretch of the long price series with an account equity curve beneath it. The headline on the chart reads: It buys as price falls and sells as it rises.
It buys as price falls and sells as it rises. Illustrative chart - not real market data.

So it buys weakness and sells strength without being asked. No forecast is involved. The order pattern is the entire strategy, which is why it usually arrives as a trading bot or an expert advisor.

The two accounts

A calmly advancing stretch of the long price series with a slowly rising equity curve beneath it. The headline on the chart reads: In a range it collects the same move over and over.
In a range it collects the same move over and over. Illustrative chart - not real market data.

In a range it collects the same move repeatedly. This is a mean reversion bet expressed as an order pattern: you are paid for supplying liquidity to a market that keeps coming back.

A flat, quiet stretch of the long price series with a gradually rising equity curve beneath it. The headline on the chart reads: Which produces a beautifully smooth curve for months.
Which produces a beautifully smooth curve for months. Illustrative chart - not real market data.

Which produces a beautifully smooth curve, for months. Realised wins arrive as a steady drip, each small, each closed. Nothing in that record hints at what is being carried underneath it.

A strongly rising stretch of the long price series with an account curve that breaches its drawdown limit. The headline on the chart reads: And then a trend arrives and it adds all the way down.
And then a trend arrives and it adds all the way down. Illustrative chart - not real market data.

Then a trend arrives and the grid adds all the way down. Every level it passes is another fill, so the position grows in exactly the direction that is hurting it.

A choppy, directionless stretch of the long price series. The headline on the chart reads: The open loss grows while the closed profit looks fine.
The open loss grows while the closed profit looks fine. Illustrative chart - not real market data.

The open loss grows while the closed profit looks fine. The statement shows a run of small realised wins and says nothing about the position sitting underwater beneath them.

A declining stretch of the long price series. The headline on the chart reads: Small frequent wins and one unbounded loss.
Small frequent wins and one unbounded loss. Illustrative chart - not real market data.

Small frequent wins and one unbounded loss. That is the payoff shape. It is the same shape as a martingale, and for the same reason: exposure rises as price moves against you.

A grid does that as a side effect, not as a doubling rule. Nobody decides to add to a loser. The spacing adds for you, and the exposure grows all the same.

In practice

A 72-bar candlestick section of the shared price history with an account curve shown with and without fees. The headline on the chart reads: And every grid level pays the spread again.
And every grid level pays the spread again. Illustrative chart - not real market data.

Every grid level pays the bid-ask spread again. A dense grid trades constantly, and cost scales with trade count, not with profit.

A candlestick chart with a volume histogram beneath it, with the volume histogram emphasised. The headline on the chart reads: It keeps trading when nobody else is there.
It keeps trading when nobody else is there. Illustrative chart - not real market data.

It keeps trading when nobody else is there. Falling volume is where fills degrade, and a resting order does not notice the book thinning underneath it.

A long-horizon candlestick view of the same price series. The headline on the chart reads: On a long chart the trends are the whole story.
On a long chart the trends are the whole story. Illustrative chart - not real market data.

On a long chart the trends are the whole story. Zoom out and the ranges a grid feeds on look like pauses between the moves that would have ended it.

A candlestick series containing several opening gaps, with the largest opening gap marked. The headline on the chart reads: A weekend gap skips ten levels at once.
A weekend gap skips ten levels at once. Illustrative chart - not real market data.

An opening gap skips levels. Price arrives past several at once, so the fills a backtesting run assumed never happen, and the position ends up larger than modelled at a worse average price.

A declining stretch of the long price series, with the entry price and the level at which a stop would trigger drawn as horizontal lines. The headline on the chart reads: So a total-position stop is the only real defence.
So a total-position stop is the only real defence. Illustrative chart - not real market data.

A total-position stop loss is the only real defence. A stop per level closes one rung while the aggregate keeps growing. Size the whole grid as risk per trade, and name a price beyond which it switches off.

A candlestick chart of the site's shared price history, annotated with the round-trip cost. The headline on the chart reads: Every round trip costs 2% of a bar.
Every round trip costs 2% of a bar. Illustrative chart - not real market data.

Every round trip costs 2% of a median bar and 45% of the smallest. In price units that is 0.0098, against a median bar range of 0.493.

Sizing a grid honestly

Decide the worst price you will tolerate first, before anything else is chosen. Not the spacing, not the level count, not the size per rung. Pick the price beyond which you are no longer willing to hold this position at all.

Then count how many levels sit between here and there. Your spacing fixes that number, and it tells you how many units the grid holds at its worst moment.

Now set the per-level size so that total, at that worst price, is a loss you accept. This is ordinary risk management worked backwards from the failure rather than forwards from the entry, and it usually produces a rung far smaller than the one that felt sensible.

A margin account will let you run a grid larger than that arithmetic allows. Leverage does not move the worst price — only whether you are still holding when price reaches it.

What grid trading is not

It is not market-neutral. The moment price leaves the middle, the grid holds a directional position.

It is not a hedge. Buys below and sells above do not offset; they are one bet, staged.

It is not automated trading made safe. Automating it removes the person who might have stopped.

It is not free of a view. The view is that this market ranges — the largest assumption here.

When it fails

A sideways, range-bound candlestick series. The headline on the chart reads: In a range it is exactly as good as it looks.
In a range it is exactly as good as it looks. Illustrative chart - not real market data.

Inside a trading range it is exactly as good as it looks. That is the trap. The strategy does precisely what was advertised, which is why the failure arrives as a surprise.

A trend starts and does not stop. Direction runs on this site’s 576-bar history average 2.01 bars across 286 runs, longest 11 — but the run that matters outlasts your level count.

The drawdown was never visible in the record. On this series 95% of bars sit below a prior peak, longest stretch 73 bars. The open side of a grid lives there too.

Gaps skipped the levels the test filled. The backtest assumed a ladder; the market gave one price, further away, for the lot.

The spacing was tuned on the history it was then judged against. Overfitting appears in two titles across the corpus, median 299 views — nobody sells the problem, so nobody checks for it.

The decision arrived mid-drawdown. Hold the open position or realise all of it at once, chosen at the worst possible moment, by somebody who is now frightened.

The original data

research/broker-coverage.json scans the 31,760 videos in research/search-study-corpus.jsonl. “Grid trading” appears in four titles, from three channels, median 113,096 views, maximum 282,405 — among the highest medians in the corpus, from almost no supply. “Trading bot” takes 109 videos and 77 channels at a 9,739 median; “martingale” takes one, at 23,800.

A strongly rising stretch of the long price series, cut short at the decision bar. The headline on the chart reads: Nine months smooth, now trending against. Hold?
Nine months smooth, now trending against. Hold? Illustrative chart - not real market data.

And zero of those 31,760 mention risk of ruin, or expectancy. Those are the two calculations a grid requires. research/series-measurements.json, measured by site/measure_series.py, gives the condition: the ten-bar efficiency ratio has a median of 0.34 with 30% of bars above 0.5, so the state that destroys a grid is three bars in ten. Compute the total position at the furthest level before you start; if that number is unacceptable, the grid is too large regardless of how the last nine months looked.

Trading bot is the wrapper a grid arrives in, and the test for whether its settings were chosen honestly.

Risk management is where the total-position limit and the switch-off price belong, because a grid has no per-trade risk worth the name.

And mean reversion is the assumption underneath all of it, worth testing before an order pattern is built on top.

What I actually do

I ran a grid on a pair that had gone nowhere for most of a year, and the equity curve it drew was the prettiest thing I have ever produced. What I was looking at was the closed side of the account, and underneath it a position was quietly getting bigger and further from where I bought it. The curve did not bend when the trend started - it kept climbing for weeks while the open loss did all the moving. I did not lose the account, but I closed it out of fear rather than by rule, and that is not a system.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money.