The grid range is the single most consequential configuration decision. Set it too narrow and price breaks out within days, leaving the bot idle with a one-sided open position. Set it too wide and fills are infrequent, capital sits earning nothing, and return on investment collapses. Sizing the range from volatility data gives you a principled starting point rather than a guess.

The two methods

There are two common approaches: using the 30-day high and low as a direct range boundary, or deriving a range from realised volatility using a statistical multiplier. Both are backward-looking. Neither guarantees price stays within the range going forward. They are calibration tools, not predictions.

The 30-day high/low method is simple and requires no calculation. You take the highest and lowest prices from the past 30 days and use those as your upper and lower boundaries. It has the advantage of capturing actual price behaviour, including any spikes or wicks. The disadvantage is that it anchors to a specific historical period that may not reflect current conditions — a quiet month followed by a volatile one will produce a range that is immediately too tight.

The volatility method uses annualised realised vol to compute a statistically-derived range around the current price. It is more adaptive but depends on choosing the right vol window and multiplier.

Worked example: volatility-based range

BTC is trading at $100,000. You pull 30-day realised vol from the simulator's Market Analysis panel: 60% annualised. You want a range wide enough to contain most price action over a 30-day trade horizon.

Inputs:
  Current price:          $100,000
  Annualised vol (30d):   60%
  Trade horizon:          30 days
  Multiplier:             1.5σ

Step 1 — Convert to 30-day vol:
  30d vol = 60% × √(30/365) = 60% × 0.2864 = 17.2%

Step 2 — Apply multiplier:
  Range half-width = 17.2% × 1.5 = 25.8%

Step 3 — Set boundaries:
  Upper boundary = $100,000 × 1.258 = $125,800
  Lower boundary = $100,000 × 0.742 = $74,200
  Total range width: ~51%

A 1.5σ multiplier means roughly 87% of price paths, under a log-normal assumption, should stay within this range over 30 days. Use 2σ for approximately 95% containment, at the cost of a wider range and fewer fills per grid level.

The fill-frequency trade-off

Widening the range reduces breakout risk but cuts the number of fills per day. Each grid level is spaced further apart, meaning price must move more to complete a round trip. With the same capital and grid count, a wider range earns less per unit of time in a low-volatility period — but survives high-volatility periods that would break a narrower range.

The table below shows how range width affects spacing and approximate daily fill frequency for a $95,000–$105,000 BTC range at $100,000 with 20 grids:

Range width Boundaries Grid spacing (20 grids) Fills needed per $1k move
10% (±5%) $95,000 – $105,000 $500 2 fills per $1,000 move
20% (±10%) $90,000 – $110,000 $1,000 1 fill per $1,000 move
40% (±20%) $80,000 – $120,000 $2,000 0.5 fills per $1,000 move
50% (±25%) $75,000 – $125,000 $2,500 0.4 fills per $1,000 move

Which vol window to use

The simulator's Market Analysis panel shows 7-day, 30-day, and 90-day realised vol. For most grid deployments the 30-day figure is the most useful — it is recent enough to reflect current conditions without being dominated by a single volatile day. Use the 90-day figure as a sanity check: if 30-day vol is significantly higher than 90-day vol, the market is in an elevated volatility regime and a wider range or smaller position is warranted.

Note: vol-based ranges assume a roughly log-normal price distribution. Crypto markets have fat tails — extreme moves occur more often than the model implies. A 1.5σ range provides less than 87% containment in practice. Run Monte Carlo simulations to see the realistic distribution of outcomes for your specific setup.

Starting points by asset and regime

Low vol regime (annualised vol < 40%):
  → 1σ to 1.5σ multiplier
  → Tighter range, more fills, higher breakout risk if vol picks up

Normal regime (40–80% annualised):
  → 1.5σ multiplier — standard starting point
  → Balances fill frequency against containment

High vol regime (> 80% annualised):
  → 2σ multiplier or use 30d high/low directly
  → Prioritise survival over fill frequency
  → Reduce leverage
Try it in the simulator

The Market Analysis panel auto-suggests both a 30d high/low range and a ±1.5σ vol-based range for BTC, ETH, and SOL. Apply either with one click and run a Monte Carlo simulation to see the containment and return distribution.

Launch the simulator →