Fair Value Gap & Order Block Research Data
The data behind the AlgoTraderPro Fair Value Gap Study: 15 crypto markets, four timeframes, every figure with its sample size and standard error. Free to download and reuse under CC BY 4.0.
Download the full R&D report — free
The study as a designed 12-page report: the findings, every chart and table, the five rules for building a trade as a one-page checklist, and the full methodology. It costs nothing: enter your email, download it straight away, and a copy of the link arrives in your inbox.
Get the free PDF reportWhat the study found
We tested fair value gaps and order blocks on 15 crypto markets over two years, and re-checked every result on ten coins we never used to form an idea. The zones are real: price usually reacts at them, and the strongest are rejected about three times in four, often on the very first candle. A reaction is where a trade begins. Buying the first touch reached a 3:1 target only about as often as breaking even requires, on every timeframe and filter we tested, which shows where the real work is. What decides the outcome is how the trade is built: the entry, the stop, the target and the costs.
- Price rejected grade A fair value gaps 74–79% of the time and grade C gaps 57–59%, on every timeframe from 15 minutes to daily.
- Counted in candles, zones behave alike on every timeframe: price usually reached a fair value gap within two candles, and 62–66% of grade A rejections happened on the first candle that touched the zone.
- Buying the first touch reached a 3:1 target 20–29% of the time for grade A zones across timeframes, against a 25% breakeven before costs.
- The same 0.11% round trip cost a median 0.14R on a grade A 15-minute zone and 0.01R on a daily one; on grade C 15-minute zones it was 0.75R.
- A fair value gap with an order block right behind it was rejected at the same rate as one without (within about two percentage points).
Read the analysis in How to Turn Fair Value Gaps Into High-Quality Trades and the zone tables in How to Spot the Fair Value Gaps Price Rejects Most.
Download the data
| File | What it contains | Rows | |
|---|---|---|---|
| Zone behaviour | How often zones were touched, rejected, invalidated or never reached within 200 candles, with standard errors, by coin set, timeframe, zone type and grade. | 180 | CSV |
| Time to touch and rejection | How many candles price took to reach a zone and to reject it, in candles and in hours, and the share of rejections that happened on the first candle touching the zone. | 180 | CSV |
| Fee in R | What a 0.11% round-trip fee costs as a share of the risk, with the stop just beyond the zone (far edge + 0.1 × ATR), by coin set, timeframe, zone type and grade. | 180 | CSV |
| First-touch win rates at 3:1 | Buying the first touch of a zone, stop beyond the far edge, target 3R: how often the target came first. Breakeven at 3:1 is 25% before costs. | 72 | CSV |
Column dictionary
Zone behaviour · atp-fvg-study_zone-behaviour_2026-09.csv
coin_set: all_15 (every coin), held_out_10 (ADA, AVAX, LINK, DOGE, DOT, LTC, ATOM, NEAR, APT, ARB: used only to confirm) or study_5 (BTC, ETH, SOL, BNB, XRP: used to form every idea)timeframe: 15m, 1h, 4h, 1D (full history) or 1D_24mo (daily zones detected from 20 Sep 2024)zone: FVG (every fair value gap), OB (every order block, outcomes on its body), FVG+OB (gaps whose order block candle sits within 3 candles) or FVG only (the rest)grade: A (height ≥ 1.0 × ATR(14)), B (≥ 0.5) or C (< 0.5)n_zones: Zones measured (zones whose 200-candle window runs past the data are excluded)touched_pct / touched_se: Share of zones a wick reached, and its standard errorrejected_pct / rejected_se: Touched, then a close back out on the near side before any close through (ZoneHunter Pro calls this "mitigated")invalidated_pct / invalidated_se: A close through the far edge came firststill_open_pct: Touched, neither yet after 200 candlesnever_reached_pct: No touch within 200 candlesrejected_given_touched_pct / rejected_given_touched_se: Rejected, as a share of touched zones only
Time to touch and rejection · atp-fvg-study_time-to-touch_2026-09.csv
coin_set: all_15 (every coin), held_out_10 (ADA, AVAX, LINK, DOGE, DOT, LTC, ATOM, NEAR, APT, ARB: used only to confirm) or study_5 (BTC, ETH, SOL, BNB, XRP: used to form every idea)timeframe: 15m, 1h, 4h, 1D (full history) or 1D_24mo (daily zones detected from 20 Sep 2024)zone: FVG (every fair value gap), OB (every order block, outcomes on its body), FVG+OB (gaps whose order block candle sits within 3 candles) or FVG only (the rest)grade: A (height ≥ 1.0 × ATR(14)), B (≥ 0.5) or C (< 0.5)n_touched: Zones touched within 200 candlestouch_candles_p25 / _median / _p75: Candles from detection to the first touchtouch_hours_median: The same median in clock hoursn_rejected: Zones rejectedrejection_candles_median / _p75: Candles from detection to the rejection closerejection_hours_median: The same median in clock hoursrejected_on_first_candle_pct: Rejections that closed back out on the same candle that first touched
Fee in R · atp-fvg-study_fee-in-r_2026-09.csv
coin_set: all_15 (every coin), held_out_10 (ADA, AVAX, LINK, DOGE, DOT, LTC, ATOM, NEAR, APT, ARB: used only to confirm) or study_5 (BTC, ETH, SOL, BNB, XRP: used to form every idea)timeframe: 15m, 1h, 4h, 1D (full history) or 1D_24mo (daily zones detected from 20 Sep 2024)zone: FVG (every fair value gap), OB (every order block, outcomes on its body), FVG+OB (gaps whose order block candle sits within 3 candles) or FVG only (the rest)grade: A (height ≥ 1.0 × ATR(14)), B (≥ 0.5) or C (< 0.5)n_trades: First-touch trades measuredstop_distance_pct_median / _mean: Distance from entry to stop, % of pricefee_in_r_median / _mean: 0.11% ÷ stop distance: the fee as a fraction of one Rtrades_fee_over_quarter_r_pct: Share of trades whose fee exceeds 0.25R
First-touch win rates at 3:1 · atp-fvg-study_first-touch-win-rates_2026-09.csv
coin_set: held_out_10 or study_5 (see above)zone: FVG, OB or FVG+OBgrade: A, B or Ctimeframe: 15m, 1h, 4h or 1Dn_trades: Trades that reached the stop or the 3R target within 200 candleswin_rate_3r_pct / win_rate_3r_se: Share that reached 3R first, and its standard errorstop_distance_pct_mean: Mean entry-to-stop distance, % of pricefee_in_r_mean: Mean 0.11% round-trip fee as a fraction of one R
How to cite and reuse
Licensed CC BY 4.0: copy, adapt and publish, commercially included, with credit and a link to this page.
AlgoTraderPro Fair Value Gap Study (2026), CC BY 4.0. https://algotraderpro.io/research/fvg/
How it was measured
Bybit USDT perpetual futures on 15 coins: BTC, ETH, SOL, BNB and XRP to form every idea; ADA, AVAX, LINK, DOGE, DOT, LTC, ATOM, NEAR, APT and ARB held out to confirm. 15-minute, 1-hour and 4-hour candles from 20 September 2024 to 12 September 2026, daily candles over each coin's full history. Zones are detected exactly as ZoneHunter Pro's Pine script draws them, graded by height ÷ ATR(14), and followed for 200 candles. Trades enter at the first touch of the near edge with the stop 0.1 × ATR beyond the far edge and a 0.11% round-trip fee. Slippage, funding, queue position and partial fills are not modelled. The full methodology, including the detection rules and how results were confirmed, is in the study. Last updated 15 September 2026.
Educational research, not financial advice. Historical statistics measured before slippage; they do not predict future results. Crypto derivatives carry a high risk of loss.