Backtestify

Shared report

Free view
Backtest a strategy
Improved

Gold Demand/Supply Zone Strategy

41.1%Win rate56 tradesOriginal22.6% · 159 trades▲ 18.4 pts vs original
1.12Profit factorOriginal0.60▲ 0.52× vs original
3.1%Net return · closed trades+6.5 pts vs buy & holdClosed trades +3.1% · open position -0.2% unrealized · +2.9% with it markedOriginal-21.9%▲ 25.0 pts vs original
-7.4%Max drawdownOriginal-23.7%▼ 16.3 pts vs original

We tested 363 variations on older data and kept removed do not trade if price closes through the zone (dead zone), removed only trade fresh zones, removed do not trade if price is diving into the zone (falling knife) and only trade when RSI(14) below 65, volume above 1.5× its 20-candle average and previous candle closed bullish. Chosen on the window shown, from 2,017 candidates checked there.

On the 5-minute chart of Gold Spot it buys when close > EMA(20), close > EMA(200), RSI(14) < 65 and previous candle is bullish, and sells short when close < EMA(20), close < EMA(200), RSI(14) > 35 and previous candle is bearish, only when the candle opens inside 08:00-21:00 UTC and volume > 1.5× its 20-candle average. Stop beyond the 20-candle swing, target 2× risk, 1% of the account per trade. It closes any open trade at the session close (08:00-21:00 UTC).

10 differences from what you wrotePrice taps into a demand zone and a candle closes above the zone · Price taps into a supply zone and a candle closes below the zone · Stop loss: Above the supply zone for short trades, below the demand zone for long trades · Target recent price action · Only trade with the trend · A session cut-off read as your rule (the position is closed at the end of 08:00-16:00 / 13:00-21:00 UTC) · Entries only between 08:00-16:00 UTC / 13:00-21:00 UTC, with no exit stated for the end of that window · Do not trade if price closes through the zone (dead zone) · Only trade fresh zones · Do not trade if price is diving into the zone (falling knife)
  • Price taps into a demand zone and a candle closes above the zoneprice_vs_ema (source: close, period: 20, op: >)

    Demand/supply zones are not supported; using EMA as a trend/reversal proxy.

  • Price taps into a supply zone and a candle closes below the zoneprice_vs_ema (source: close, period: 20, op: <)

    Demand/supply zones are not supported; using EMA as a trend/reversal proxy.

  • Stop loss: Above the supply zone for short trades, below the demand zone for long tradesswing (lookback: 20)

    Zone-based stops are not supported; using swing high/low as proxy.

  • Target recent price actionr_multiple (r: 2)

    No specific exit rule provided; using 2R as standard structural target.

  • Only trade with the trendprice_vs_ema (source: close, period: 200, op: >)

    Trend filter approximated using 200 EMA.

  • A session cut-off read as your rule (the position is closed at the end of 08:00-16:00 / 13:00-21:00 UTC)Not counted as your rule — the description never says when an open trade is closed

    Your description limits when a trade may be OPENED but never states when one is CLOSED, so a cut-off presented as your own rule would be a rule you did not write. The trade is still closed rather than carried for days — the note below says exactly how, as Backtestify's convention. If the real strategy does state an exit, say it and it will be tested as written.

  • Entries only between 08:00-16:00 UTC / 13:00-21:00 UTC, with no exit stated for the end of that windowThe position is also CLOSED at the end of 08:00-16:00 UTC / 13:00-21:00 UTC

    The description says when a trade may be OPENED but never when an open one must be closed. With only a stop and a target to end it, a single position is carried across days and blocks every later signal in the window — the 60-minute scalp this was read from booked one trade from 65 qualifying candles. The strategy is therefore executed as being in the market only during the hours it names, so a trade that has not hit its stop or target by the end of the window is closed at that candle's close. This is Backtestify's convention, not a rule in the description; if the real strategy holds past the window, say so and it will be tested that way.

  • Do not trade if price closes through the zone (dead zone)Not tested

    Zone logic not supported.

  • Only trade fresh zonesNot tested

    Zone logic not supported.

  • Do not trade if price is diving into the zone (falling knife)Not tested

    Zone logic not supported.

  • Notes

    • Tested on 55 days of 5m candles · 166 trades — the most this feed serves at that resolution.
    • Tested on 114 days of 5m candles · 457 trades — the most this feed serves at that resolution.
    • Tested on 115 days of 5m candles · 167 trades — the most this feed serves at that resolution.

Market

Gold SpotXAUUSDBinance spot index (USD)3 data notes

Timeframe

5m

Account

$10,000

History

115 days1 market period
25 Jun14 Sept18 Oct 2026
Training81 dSelection34 d

Requested 2026-06-20 → 2026-10-18 · traded from 2026-06-25 (warm-up 600 bars)

Verdict

NOT RECOMMENDED
41.1%

win rate · 56 trades, too few to judge

  • Ended above the starting budget+3.1% · 0.083R
  • Win rate 50% or above41.1%
  • More than 50 trades56 trades
  • Under 10% of trades on missing bars13 of 193 trades
  • Verdict rules v9
Weak evidenceProp-firm ready
Trades
56
Timeframe
5M
Selection window
32 days
Time in market
29.6%

Win rate 41.1%, below 50%

What to watch

  • 24 of 57 trades were size-capped at 3× equity
  • 13 of 193 trades depend on missing bars
  • Removed: do not trade if price closes through the zone (dead zone) — the engine cannot execute it
  • Removed: only trade fresh zones — the engine cannot execute it
6 more
  • Removed: do not trade if price is diving into the zone (falling knife) — the engine cannot execute it
  • Tested an approximation of your rules
  • Could not be checked with doubled costs
  • Too few trades to judge: 56 of the 100 this timeframe needs
  • The unseen window was used to choose these rules (improve: the shipped variant was chosen among 2017 candidates measured on this window), so no untouched window is left to check them on
  • Chosen from 2018 candidates: not significant after the selection penalty (p 1.000)

What the data supports

  • Short side held up

    +0.337R average trade · 47.8% win rate

    short only · 23 of 56 trades

  • Best entry hours (analysis, not a rule)

    +0.655R average trade · 57.1% win rate

    entries 00:00–06:00 NY · 14 of 56 trades

  • Beat buy & hold

    +3.1% vs -3.4%

    same symbol, same window · 56 closed trades

  • Made money after costs

    profit factor 1.12

    all 56 trades

Win rate · original vs improved

Original

22.6%159 trades
+18.4 pts1.81× the original

Improved

41.1%56 trades

Both measured on the same window. The improved rules were chosen on it.

What changed

6 upgrades applied

3 rules removed363 variations testedBetter on all 5 metricsChosen on this window · 2,017 candidates checked

Momentum filter

RSI(14) below 65

Volume filter

Volume above 1.5× its 20-candle average

Confirmation filter

Previous candle closed bullish

Removed

Do not trade if price closes through the zone (dead zone) — the engine cannot execute it

Removed

Only trade fresh zones — the engine cannot execute it

Removed

Do not trade if price is diving into the zone (falling knife) — the engine cannot execute it

Profit factor

0.52×
Original0.60×
Improved1.12×

Avg per trade

0.26R
Original-0.173R
Improved0.083R

Win rate

18.43 pp
Original22.6%
Improved41.1%

Return

25.03 pp
Original-21.9%
Improved3.1%

Max drawdown

16.31 pp
Original-23.7%
Improved-7.4%

Trades

103
Original159
Improved56

Evidence window

56 trades

chosen on this window

Best of ≥ 2,018 candidates on this window

Failed

t 0.42 · p 1.000 · best of ≥ 2018 (Bonferroni)

Variations tested

363

2,017 checked on this window

Account balance

Selection window only (14 Sept 2026 – 16 Oct 2026)

$10,312Final · improved

$10,000

Starting balance

$7,810

Final · original

$10,291

With the open position marked

$9,665

Buy & hold

  • Original
  • Improved
  • Buy & hold

Trust scoreThe fixed factors behind the trust score, each with its own measurement.

38Weak evidence

D

Grade

NOT RECOMMENDED

Verdict

Strategy replay

BINANCEINDEX:XAUUSDT · 5mImproved
Trade 20 / 20
  • EMA 20
  • EMA 200
  • RSI 14
  • Volume
  • 1.5× 20-candle average

Entry

4,158.24

Sell · 16 Oct, 14:50 NY · 8 bars

Stop loss

4,168.18

0.24% away

Take profit

4,138.35

0.48% away

Result

-1.08R

Stop loss · -0.78% of equity, size-capped

Trace5 steps
  1. Signal

    candle close

    4,159.34

    16 Oct, 14:45 NY

  2. Filled

    next open

    4,158.24

    16 Oct, 14:50 NY

  3. Stop

    N-candle swing

    4,168.18

    16 Oct, 14:50 NY

  4. TP1 · 2.00R

    r multiple

    4,138.35

    16 Oct, 14:50 NY

  5. Exit · Stop loss · -0.78R

    4,168.18

    16 Oct, 15:25 NY

Monthly returns

Original beside improved, month by month

Best month10.5%· Original -11.0%Worst month-6.7%· Original -13.3%Typical month1.91%· Original -12.12%Months in profit50%· Original 0%
  • Original
  • Improved

Wins and losses

Original

23%win rate
  • Wins36
  • Losses123

Improved

41%win rate
  • Wins23
  • Losses33

Improved rules

Changed from the original: Momentum filter: RSI(14) below 65 · Volume filter: volume above 1.5× its 20-candle average · Confirmation filter: previous candle closed bullish · Removed: do not trade if price closes through the zone (dead zone) — the engine cannot execute it · Removed: only trade fresh zones — the engine cannot execute it · Removed: do not trade if price is diving into the zone (falling knife) — the engine cannot execute it

  • Buys when

    close > EMA(20) and close > EMA(200) and the candle opens inside 08:00-21:00 UTC time and RSI(14) < 65 and volume > 1.5× its 20-candle average and previous candle is bullish

  • Stop

    lowest low of the 20 completed candles before the signal candle

  • Target / exit

    2R (R = entry-to-stop distance) · closed at the session end (14 of 57)

  • Risk per trade

    1% of equity risked to the stop · 24 of 57 trades were size-capped at 3× equity

After an exit
The next entry signal is read from the candle after the exit, not on the exit candle
Opposite signal
Closes the open trade and opens the reverse at the next open
Not modelled
Margin calls, liquidation and CFD overnight financing; perpetual funding is charged when the data carries it

Latest trades

56 closed · 1 open at the end of the data, marked at the last close

DateDirectionEntry priceExit priceResult
16 Oct 2026short4163.82814166.6972Open
16 Oct 2026short4158.23824169.0176Loss
16 Oct 2026long4174.46274158.2382Loss
16 Oct 2026short4167.83534174.4627Loss
16 Oct 2026long4179.44674171.0396Loss
15 Oct 2026long4164.31274169.7029Win
15 Oct 2026long4149.78884132.1664Loss
14 Oct 2026short4145.00884118.6145Win
13 Oct 2026long4189.62384178.7411Loss
13 Oct 2026long4191.83324182.7693Loss

Monthly heatmap

Original

P&L of trades closed in the month

YearJanFebMarAprMayJunJulAugSepOctNovDec
2026————————-13.3%-11.0%——

Improved

YearJanFebMarAprMayJunJulAugSepOctNovDec
2026————————10.5%-6.7%——

Advanced AnalysisPro