SMC Draw on Liquidity: An Empirical Test
Test period: January 2012 – October 2026 · Instruments: EURUSD, GBPUSD, USDJPY, AUDUSD, XAUUSD, BTCUSD (from May 2017), US100 (from May 2013) · Discovery block: 2012–2018 · Replication block: 2019–2026 · Published: November 2026
1. Objective
“Draw on liquidity” (DOL) is a term from the SMC community rather than from mainstream finance. It names the level price is expected to move toward next: usually a pool of resting stop orders above an old high or below an old low, or an imbalance such as an unfilled fair value gap. The trader first decides which level is the draw, then trades in its direction.
The idea is rarely defined in a form that can be tested, and it is not clear on which timeframe it is supposed to work. This study fixes the most common candidate levels mechanically and asks three questions, with a random baseline in the same format as the Buy-Side / Sell-Side Liquidity study.
1.1 Claims tested
| # | Claim | Section |
|---|---|---|
| ① | Liquidity levels act as magnets: price reaches them more often than an equally distant level with nothing there | 3.1, 3.2 |
| ② | A higher-timeframe bias (premium / discount of the weekly or monthly range) tells which of two levels price reaches first | 3.3 |
| ③ | Trading toward the predicted draw has a positive expectancy after costs | 3.4 |
2. Methodology
2.1 Data
- Source: Dukascopy, M1 bid (via the
dukascopy-nodeCLI); flat (OHLC-equal) bars removed - Days are New York trading days (17:00 to 17:00 NY, Monday to Friday, with full daylight-saving rules). BTCUSD is available from May 2017; US100 from May 2013, because earlier data has gaps around New York midnight. Weekend days for BTCUSD are not used
- Blocks: 2012–2018 is the discovery block and 2019–2026 the replication block. Every result is reported for both
2.2 Candidate levels (fixed before testing)
- Decision time: the New York midnight open (00:00 NY) of each trading day
- Previous-day high / low (PDH / PDL): the high and low of the previous NY day. A level counts only if price has not already traded through it between 17:00 and midnight
- Unfilled fair value gap (FVG): a three-candle gap on H1 or NY-aligned H4 candles of at least 0.1 × ATR(14) of that timeframe, never touched since it formed, formed within the last 5 days (H1) or 20 days (H4). For each timeframe, the nearest unfilled gap above price (a bearish FVG, level = its lower edge) and below price (a bullish FVG, level = its upper edge) is used
- Distance: from the midnight open to the level, in units of the daily ATR(14) of the previous 14 completed days
- Hit: price trades at the level before the end of the horizon — the same day (until 17:00 NY) or five days
Across all instruments this gives 86,739 level–day observations and 16,178 days with a level of the same kind both above and below price.
2.3 Random baseline
Each real level is compared with the same distance (in ATR) and side on ten random days within ±60 days. On a random day the “level” is simply the midnight open plus or minus that distance, so there is nothing there. The random days must also satisfy the same “untaken” condition as the real level: price must not have traded that far between 17:00 and midnight. The reported difference is the real hit rate minus the random hit rate, in percentage points (pp). If a level attracts price, the difference is positive. Standard errors and z-values use a month-block bootstrap.
2.4 Bias and trade rules
- Bias: the position of the midnight open within the high–low range of the previous 5 days (weekly) or 20 days (monthly). Below 50% (discount): the draw is the level above. Above 50% (premium): the draw is the level below
- Direction test: on days with a level of the same kind on both sides, which one is hit first by 17:00 NY. The random comparison places the same two distances on random days
- Trade: market entry at the midnight open toward the predicted draw; target = the draw; stop = the level on the other side; any open trade is closed at 17:00 NY. If both are hit in the same M1 bar the trade is excluded. Minimum stop: 10 × the round-trip cost
- Net expectancy after an approximate prop-firm cost (spread plus commission, round trip, October 2026):
| EURUSD | GBPUSD | USDJPY | AUDUSD | XAUUSD | BTCUSD | US100 |
|---|---|---|---|---|---|---|
| 1.4 pips | 2.2 pips | 2.5 pips | 1.6 pips | $0.58 | $30 | 1.5 pts |
3. Results
3.1 Claim ① — Are liquidity levels magnets?
| Level | Horizon | Period | n | Median distance (ATR) | Hit rate | Random | Difference, pp (z) |
|---|---|---|---|---|---|---|---|
| Previous-day high / low | Same day (to 17:00 NY) | 2012–2018 | 15,817 | 0.54 | 34.0% | 35.4% | -1.43 (z -4.3) |
| Previous-day high / low | Same day (to 17:00 NY) | 2019–2026 | 22,181 | 0.54 | 33.5% | 34.6% | -1.10 (z -3.5) |
| Previous-day high / low | Five days | 2012–2018 | 15,813 | 0.54 | 65.6% | 65.3% | +0.36 (z +0.9) |
| Previous-day high / low | Five days | 2019–2026 | 22,140 | 0.54 | 64.9% | 64.6% | +0.33 (z +1.0) |
| Unfilled H1 FVG | Same day (to 17:00 NY) | 2012–2018 | 9,781 | 0.26 | 57.7% | 57.0% | +0.70 (z +1.5) |
| Unfilled H1 FVG | Same day (to 17:00 NY) | 2019–2026 | 14,416 | 0.26 | 57.4% | 56.6% | +0.84 (z +2.0) |
| Unfilled H1 FVG | Five days | 2012–2018 | 9,779 | 0.26 | 79.3% | 78.8% | +0.48 (z +0.8) |
| Unfilled H1 FVG | Five days | 2019–2026 | 14,387 | 0.26 | 79.4% | 78.7% | +0.74 (z +1.8) |
| Unfilled H4 FVG | Same day (to 17:00 NY) | 2012–2018 | 10,001 | 0.64 | 31.2% | 31.0% | +0.15 (z +0.4) |
| Unfilled H4 FVG | Same day (to 17:00 NY) | 2019–2026 | 14,543 | 0.67 | 29.9% | 29.7% | +0.16 (z +0.4) |
| Unfilled H4 FVG | Five days | 2012–2018 | 9,999 | 0.64 | 59.2% | 57.8% | +1.34 (z +1.8) |
| Unfilled H4 FVG | Five days | 2019–2026 | 14,506 | 0.67 | 57.8% | 56.7% | +1.09 (z +1.7) |
- Previous-day high / low. On the same day they are reached 1.4 pp (z -4.3) and 1.1 pp (z -3.5) less often than random in the two blocks. This is the opposite of a magnet: the old high or low acts as a mild barrier during the day. Over five days the difference disappears (+0.36 and +0.33 pp).
- Unfilled H1 FVG. A small positive difference on the same day (+0.70 pp, z +1.5; +0.84 pp, z +2.0), with the same sign in both blocks.
- Unfilled H4 FVG. Nothing on the same day; a small positive difference over five days (+1.34 pp, z +1.8; +1.09 pp, z +1.7).
3.2 By distance
| Level | Distance (× daily ATR) | n (2012–18 / 2019–26) | Hit rate (2012–18 / 2019–26) | Difference 2012–2018 | Difference 2019–2026 |
|---|---|---|---|---|---|
| PDH / PDL | 0.0–0.25 | 2,631 / 3,495 | 73.9% / 73.9% | -0.25 (z -0.3) | -0.96 (z -1.3) |
| PDH / PDL | 0.25–0.5 | 4,705 / 6,565 | 46.2% / 45.1% | -2.88 (z -3.9) | -2.68 (z -4.1) |
| PDH / PDL | 0.5–1.0 | 5,671 / 8,174 | 20.0% / 20.4% | -1.45 (z -3.0) | -0.82 (z -1.8) |
| PDH / PDL | 1.0–2.0 | 2,644 / 3,605 | 4.7% / 5.6% | -0.07 (z -0.1) | +0.64 (z +1.3) |
| PDH / PDL | 2.0+ | 166 / 342 | 0.0% / 3.2% | -0.48 (z -3.3) | +2.54 (z +2.5) |
| H1 FVG | 0.0–0.25 | 4,763 / 7,036 | 81.4% / 81.4% | +0.06 (z +0.1) | +0.21 (z +0.4) |
| H1 FVG | 0.25–0.5 | 2,574 / 3,706 | 49.7% / 48.8% | +1.08 (z +1.1) | +0.28 (z +0.3) |
| H1 FVG | 0.5–1.0 | 1,912 / 2,828 | 23.6% / 24.0% | +1.50 (z +1.4) | +2.74 (z +3.2) |
| H1 FVG | 1.0–2.0 | 502 / 794 | 6.8% / 7.4% | +1.69 (z +1.5) | +2.18 (z +2.1) |
| H1 FVG | 2.0+ | 30 / 52 | 3.3% / 1.9% | +3.33 (z +1.0) | +1.54 (z +0.8) |
| H4 FVG | 0.0–0.25 | 1,752 / 2,383 | 75.3% / 74.7% | -0.27 (z -0.2) | -0.92 (z -1.1) |
| H4 FVG | 0.25–0.5 | 2,258 / 3,160 | 49.5% / 47.2% | +1.16 (z +1.0) | +0.39 (z +0.4) |
| H4 FVG | 0.5–1.0 | 2,871 / 4,338 | 19.9% / 20.8% | -0.70 (z -1.0) | +0.36 (z +0.5) |
| H4 FVG | 1.0–2.0 | 2,427 / 3,634 | 4.3% / 4.2% | +0.51 (z +1.2) | +0.27 (z +0.7) |
| H4 FVG | 2.0+ | 693 / 1,028 | 0.4% / 1.3% | +0.23 (z +0.9) | +0.81 (z +2.3) |
Same-day horizon. The negative difference at PDH / PDL comes from levels 0.25–1 ATR away — close enough to be reached on an ordinary day. The few very distant previous-day levels (2 ATR or more, after a large gap) behave inconsistently between blocks. For H1 FVGs the small positive difference comes from gaps 0.5–2 ATR away and is clearest in 2019–2026.
3.3 Claim ② — Does the weekly or monthly bias pick the right side?
| Pair | Bias | Period | n | Neither hit | Predicted side first | Random | Difference, pp (z) |
|---|---|---|---|---|---|---|---|
| PDH / PDL | Weekly (5-day range) | 2012–2018 | 4,328 | 25% | 38.6% | 39.2% | -0.63 (z -0.9) |
| PDH / PDL | Weekly (5-day range) | 2019–2026 | 5,920 | 26% | 39.7% | 38.7% | +1.05 (z +1.7) |
| PDH / PDL | Monthly (20-day range) | 2012–2018 | 4,328 | 25% | 45.4% | 44.2% | +1.19 (z +2.1) |
| PDH / PDL | Monthly (20-day range) | 2019–2026 | 5,920 | 26% | 44.9% | 44.0% | +0.85 (z +1.5) |
| H1 FVG | Weekly (5-day range) | 2012–2018 | 1,387 | 6% | 30.7% | 32.5% | -1.79 (z -1.6) |
| H1 FVG | Weekly (5-day range) | 2019–2026 | 2,230 | 7% | 33.0% | 32.8% | +0.25 (z +0.2) |
| H1 FVG | Monthly (20-day range) | 2012–2018 | 1,387 | 6% | 38.4% | 38.7% | -0.29 (z -0.3) |
| H1 FVG | Monthly (20-day range) | 2019–2026 | 2,230 | 7% | 40.8% | 40.9% | -0.13 (z -0.1) |
| H4 FVG | Weekly (5-day range) | 2012–2018 | 979 | 35% | 49.2% | 52.0% | -2.88 (z -2.2) |
| H4 FVG | Weekly (5-day range) | 2019–2026 | 1,334 | 40% | 50.1% | 51.6% | -1.52 (z -1.3) |
| H4 FVG | Monthly (20-day range) | 2012–2018 | 979 | 35% | 34.2% | 35.0% | -0.64 (z -0.5) |
| H4 FVG | Monthly (20-day range) | 2019–2026 | 1,334 | 40% | 34.2% | 33.1% | +1.14 (z +1.1) |
“Predicted side first” is among days where one of the two levels was hit by 17:00 NY. It is often below 50% because, by construction, price in a discount is nearer the lower level; the random column carries exactly the same distances, so the difference is what matters.
The differences range from -2.88 to +1.19 pp. No pair and bias combination is positive and significant in both blocks: the monthly bias on previous-day levels is +1.19 pp (z +2.1) in 2012–2018 but +0.85 pp (z +1.5) in 2019–2026, and the weekly bias on H4 FVGs is negative in both. A premium / discount reading of the weekly or monthly range does not tell which level price will take first.
3.4 Claim ③ — Trading toward the draw
| Pair | Bias | Period | n | Median target / stop | Gross exp. | Random | Difference (z) | Net exp. |
|---|---|---|---|---|---|---|---|---|
| PDH / PDL | Weekly (5-day range) | 2012–2018 | 4,027 | 1.10 | -0.032R | -0.009R | -0.023R (z -1.3) | -0.084R |
| PDH / PDL | Weekly (5-day range) | 2019–2026 | 6,062 | 1.21 | +0.015R | -0.013R | +0.028R (z +1.8) | -0.030R |
| PDH / PDL | Monthly (20-day range) | 2012–2018 | 4,215 | 0.84 | -0.014R | -0.017R | +0.003R (z +0.2) | -0.063R |
| PDH / PDL | Monthly (20-day range) | 2019–2026 | 6,325 | 0.97 | +0.000R | -0.023R | +0.023R (z +1.8) | -0.042R |
| H1 FVG | Weekly (5-day range) | 2012–2018 | 452 | 1.00 | -0.083R | -0.026R | -0.058R (z -1.4) | -0.145R |
| H1 FVG | Weekly (5-day range) | 2019–2026 | 1,011 | 1.17 | -0.005R | -0.010R | +0.005R (z +0.1) | -0.057R |
| H1 FVG | Monthly (20-day range) | 2012–2018 | 544 | 0.60 | -0.050R | -0.015R | -0.035R (z -1.0) | -0.106R |
| H1 FVG | Monthly (20-day range) | 2019–2026 | 1,171 | 0.73 | -0.018R | +0.001R | -0.019R (z -0.5) | -0.066R |
| H4 FVG | Weekly (5-day range) | 2012–2018 | 1,194 | 0.64 | -0.032R | +0.006R | -0.038R (z -1.5) | -0.071R |
| H4 FVG | Weekly (5-day range) | 2019–2026 | 1,917 | 0.71 | -0.002R | -0.011R | +0.009R (z +0.4) | -0.034R |
| H4 FVG | Monthly (20-day range) | 2012–2018 | 1,069 | 1.38 | +0.018R | -0.022R | +0.040R (z +1.2) | -0.029R |
| H4 FVG | Monthly (20-day range) | 2019–2026 | 1,771 | 1.47 | -0.005R | -0.011R | +0.006R (z +0.2) | -0.043R |
Before costs the trades are close to the random baseline, and no difference holds in both blocks. After prop-firm costs every one of the twelve combinations loses money, from -0.029R to -0.145R per trade. The cost burden is heaviest for H1 FVG pairs, whose levels are close together and give small stops.
3.5 By instrument
| Instrument | PDH/PDL 2012–18 | PDH/PDL 2019–26 | H1 FVG 2012–18 | H1 FVG 2019–26 |
|---|---|---|---|---|
| EURUSD | -1.28 (z -2.2) | -0.85 (z -1.4) | +0.20 (z +0.2) | +1.46 (z +1.8) |
| GBPUSD | -0.54 (z -0.7) | -0.65 (z -0.9) | +2.23 (z +2.5) | +1.01 (z +1.1) |
| USDJPY | -2.32 (z -3.2) | -2.05 (z -3.1) | -0.59 (z -0.5) | +0.72 (z +0.8) |
| AUDUSD | -0.52 (z -0.7) | -0.07 (z -0.1) | +0.66 (z +0.6) | -0.40 (z -0.4) |
| XAUUSD | -3.13 (z -5.1) | -0.86 (z -1.4) | -0.22 (z -0.2) | +2.11 (z +2.5) |
| BTCUSD | -1.36 (z -1.0) | -3.06 (z -4.3) | +0.57 (z +0.4) | +1.17 (z +1.4) |
| US100 | +0.24 (z +0.2) | -0.28 (z -0.4) | +4.34 (z +2.1) | -0.20 (z -0.2) |
Same-day difference in pp (z). The barrier effect at the previous day’s high and low is negative in 6 of 7 instruments in 2012–2018 and 7 of 7 in 2019–2026, strongest in USDJPY, XAUUSD and BTCUSD. The H1 FVG effect is mixed by instrument.
4. Checks
- Independent recheck. 25 previous-day levels (untaken status at midnight and same-day hit) and 10 H4 FVG levels (nearest unfilled gap and its distance) were recomputed with separate, plain loops over the M1 data, rebuilding the candles independently. All 35 matched the main run exactly.
- Baseline correction. In the first run, random days were not held to the “untaken between 17:00 and midnight” condition that real levels must meet. This was corrected before any conclusion was drawn and applied to both blocks. The first-run results (Appendix) lead to the same conclusions.
- No other changes. Level definitions, horizons, bins and the bias rule are those fixed before the first run.
5. Conclusion
- ① The previous day’s high and low are not a draw on the same day. They are reached slightly less often than random, in both blocks and in most instruments. Unfilled FVGs show a weak pull — H1 gaps on the same day, H4 gaps over several days — of about one percentage point.
- ② A weekly or monthly premium / discount bias does not tell which of two levels price will reach first.
- ③ Trading toward the predicted draw, with the opposite level as the stop, loses money after costs in every combination tested.
On the question of timeframe: the only place a pull toward liquidity shows up at all is unfilled H1 gaps within the day and unfilled H4 gaps over several days, and it is far too small to trade. Selecting the draw, the step that gives the concept its value, carried no information in these tests.
6. Limitations
- One decision time (New York midnight) and one horizon per test. Discretionary use reassesses the draw during the day and combines it with session timing.
- Only the nearest level of each kind is used. Older highs and lows, equal highs / lows and weekly levels were not included.
- The bias is one simple reading of premium / discount. Other definitions (dealing ranges anchored on swings, the 20/40/60-day ranges) may behave differently.
- The untaken condition for random days covers only the 17:00–midnight session, not the full history of each FVG.
- Bid prices only; costs are representative estimates and slippage is not modelled. BTCUSD weekdays from 2017; US100 from 2013.
7. Next Steps
- Test the barrier effect at the previous day’s high and low on its own, as a fade, with a fresh hold-out period
- Re-run the direction test at the London and New York session opens instead of midnight
- Add equal highs / lows and previous-week levels as candidate draws
Appendix — First-run baseline (random days without the untaken condition), same-day and five-day difference in pp (z):
| Level | Horizon | 2012–2018 | 2019–2026 |
|---|---|---|---|
| PDH / PDL | Same day (to 17:00 NY) | -1.50 (z -4.6) | -1.40 (z -4.5) |
| PDH / PDL | Five days | +0.13 (z +0.3) | +0.35 (z +1.1) |
| H1 FVG | Same day (to 17:00 NY) | +0.43 (z +1.0) | +0.38 (z +0.9) |
| H1 FVG | Five days | +0.11 (z +0.2) | +1.04 (z +2.5) |
| H4 FVG | Same day (to 17:00 NY) | -0.18 (z -0.4) | -0.23 (z -0.6) |
| H4 FVG | Five days | +1.29 (z +1.8) | +0.94 (z +1.4) |
Technical notes: Candles: H1 on clock boundaries, H4 NY-aligned (18:00 NY start), NY days 17:00–17:00. Hits, first-touch times and trade outcomes are resolved on M1 data with a compiled C routine. FVG: three-candle gap of at least 0.1 × ATR(14) of the candle timeframe; level = near edge. Random baselines: ten days per observation within ±60 days, same ATR distance(s) and side, same untaken condition. Standard errors: month-block bootstrap. Costs: EURUSD 1.4 pips, GBPUSD 2.2 pips, USDJPY 2.5 pips, AUDUSD 1.6 pips, XAUUSD $0.58, BTCUSD $30, US100 1.5 points round trip. Full methodology and scripts available on request.
