BacktestLab Pro
Systematic Strategy Blueprint • Tested on 12,000+ Bars

How to Trade Previous Day High and Low (PDH/PDL) Breakouts Without Getting Faked Out

BacktestLab Quant Team September 2026 11 min read XAUUSD / Forex
Strategy Summary (Quick Reference)
TIME FRAME 5-Minute (M5)
TARGET ASSET XAUUSD & EURUSD
VOLUME FILTER RVOL > 1.6
EXPECTED RR 1:2.0 to 1:2.5

Trading breakouts blindly when price crosses the Previous Day High (PDH) or Previous Day Low (PDL) yields an intraday win rate of under 38% due to liquidity sweeps. By filtering expansion candles with Relative Volume (RVOL) and waiting for a structural retest, retail traders can turn false liquidity sweeps into high-probability trend continuation plays.

1. Why Previous Day High and Low Levels Attract Institutional Orders

Every automated market-making algorithm, bank trading desk, and discretionary hedge fund marks the high and low of the previous trading day. In Forex and commodities like Gold (XAUUSD), the previous 24 hours of price action represent the consensus range of fair value.

Retail stop-loss orders concentrate heavily 3 to 10 pips above the Previous Day High and below the Previous Day Low. When price reaches these boundaries, two scenarios take place:

  • The Liquidity Sweep (Fakeout): Institutions intentionally push price past the boundary to capture resting buy-stops, convert them into sell orders, and aggressively force price back inside the daily range.
  • The Momentum Expansion (True Breakout): Macro imbalance forces institutional capital to absorb resting liquidity and continue aggressive buying or selling outside the prior day's range.

2. Breakout vs. Sweep: The Quantitative Distinction

Metric Failed Fakeout (Sweep) Genuine PDH/PDL Breakout
Candle Body Close Closes with a long wick; body stays inside PDH/PDL Full candle body closes decisively past the level
Relative Volume (RVOL) Low to Average (RVOL < 1.2) Aggressive Expansion (RVOL > 1.6)
Session Timing Dead zones (Asian late afternoon, pre-session drift) High liquidity (London Open 08:00 UTC, NY Open 13:30 UTC)
Subsequent Bar Reaction Instant rejection and reversal inside 1–2 bars Retest of former PDH/PDL acting as dynamic support/resistance
Verify On Real Data

Test this exact setup on tick data with zero limits.

Load multi-year Gold (XAUUSD) or EURUSD historical candles on BacktestLab Pro.

Open Free Simulator →

3. The Mechanical 5-Minute Entry Rules

1

Identify Daily Extremes at 00:00 Server Time

Mark the absolute High and absolute Low of the previous trading day (24-hour cycle). Do not adjust these levels during intraday sessions.

2

Check Volume Expansion (RVOL > 1.6)

Wait for a 5-minute bar to close completely above the PDH (for longs) or below the PDL (for shorts). Inspect the Relative Volume indicator on that specific candle. If RVOL is below 1.6, the trade is cancelled due to fakeout risk.

3

Wait for the Retest Bar

Do not chase the initial breakout bar. Wait for price to pull back to the broken PDH/PDL level. Enter on the first confirmation candle (bullish hammer or engulfing bar on M5) that bounces off the level.

4

Protective Stop Loss & Profit Targets

Place your stop loss 2 to 3 pips below the retest swing point or under the broken PDH level. Target a minimum Risk-to-Reward ratio of 1:2.0 or trail the stop using a 14-period Average True Range (ATR).

4. How to Model This Logic in MetaTrader 5 or Python

Systematic traders can automate the detection of Previous Day High and Low levels. Below is the MQL5 logic snippet for extracting the prior daily candle metrics inside an Expert Advisor:

// Extract Previous Day High and Low in MQL5
MqlRates daily_rates[];
ArraySetAsSeries(daily_rates, true);
CopyRates(_Symbol, PERIOD_D1, 1, 1, daily_rates);

double pdh = daily_rates[0].high;
double pdl = daily_rates[0].low;

// Relative Volume (RVOL) calculation benchmarked against 20 bars
long current_vol = iVolume(_Symbol, PERIOD_M5, 0);
double avg_vol = 0;
for(int i = 1; i <= 20; i++) avg_vol += (double)iVolume(_Symbol, PERIOD_M5, i);
avg_vol /= 20.0;
double rvol = current_vol / avg_vol;

if(Close[1] > pdh && rvol > 1.6) {
    // Valid breakout detected: Arm retest watcher
}

Need compile-ready bots? You can export verified algorithmic source code on our Production Code page or build custom bots using your own API key in the BYO-AI Builder.

5. Step-by-Step Backtesting Protocol on BacktestLab Pro

To establish statistical confidence before trading live or with prop firm capital, backtest at least 200 occurrences across varying market regimes:

  1. Open the Free Simulator: Navigate to the Free Bar Replay Terminal. No login or credit card is required.
  2. Select Asset & Timeframe: Choose XAUUSD on the 5m timeframe.
  3. Jump to Historical Cycles: Select dates during past trending quarters (e.g., 2023–2026 inflation trends).
  4. Record Replay Metrics: Log win rate, average win to loss ratio, and max consecutive drawdown runs.

Frequently Asked Questions

What is the difference between a PDH/PDL breakout and a liquidity sweep?

A breakout establishes full candle body closes outside the daily boundary accompanied by elevated volume (RVOL > 1.6). A liquidity sweep briefly pokes past the level with a wick to trigger stops before immediately reversing back inside the range.

Why do raw PDH/PDL breakouts fail frequently on Gold (XAUUSD)?

Gold is heavily manipulated during session opens to hunt retail liquidity. Without an RVOL confirmation filter, blind breakout trades often trigger right at the peak of an institutional stop run.

Are there session limits when backtesting on BacktestLab Pro?

No. BacktestLab Pro features unlimited backtesting sessions, deep historical tick feeds, and unrestricted candle replay 100% free with zero paywalls.

Ready to Test the PDH/PDL Strategy?

Step through multi-year historical candles bar-by-bar and inspect your win rate with realistic slippage simulation.