The Rack Journal · Research · Open Data

The setups that look best are the ones that lose

A five-year, out-of-sample study of limit-entry trading across ten currency pairs — and the one simple indicator that survived when four others didn't.

zEAge — The Rack Trading Co.

We started where most discretionary-to-systematic traders start: with a setup-quality score. Then five years of data told us the score was pointing the wrong way.

The uncomfortable finding

Our strategy placed limit orders at areas of interest (AOIs) — price levels touched repeatedly — and graded each setup A through D using the usual ingredients: trend alignment, ADX momentum, an RSI-zone check, a logistic "trigger probability," and proximity to the level.

Then we backtested five years (2021–2026), ten major and minor FX pairs, ~20,000 filled limit trades, and found something we didn't want to find: the grade was anti-predictive. The better a setup scored, the worse it did. Average realized R ran backwards — A-grades ≈ +0.03R, B ≈ +0.05R, C ≈ +0.25R. Filtering for "high quality" was systematically removing our best trades.

Why quality scores fail at limit entries

The cause was mechanical. Every ingredient that raised a setup's grade — strong trend, high ADX, high probability, price hugging the level — describes a market that is trending hard and extended. A limit order into that fills on a shallow pullback the trend then steamrolls. The best-looking setups were a tag, not a test.

What mattered was something the score never measured: how price arrived at the zone. A limit entry is a bet on a reaction, and reactions are more reliable when price has stretched away from value and is snapping back — not when it's grinding along.

VZD: a one-line definition

VZD = | price − AOI | / ATR

The absolute distance between price and the area of interest, divided by Average True Range. It answers one question: how far, in units of current volatility, has price displaced from the zone it's reacting to? The volatility normalization is the point — a VZD of 0.30 means the same thing on gold, on EUR/CHF, and across every session and regime.

Does it rank edge out of sample?

A relationship that only exists in-sample is worthless. Every result below holds out the last 30% of the timeline from any tuning. Sort trades into VZD quartiles and average realized R:

0R −0.018R Q1 · 0.00–0.10 +0.027R Q2 · 0.10–0.20 +0.113R Q3 · 0.20–0.33 +0.180R Q4 · 0.33+ Average realized R per trade, by VZD quartile — five years, ten pairs
Monotonic: the shallowest displacements lose; expectancy climbs cleanly as displacement grows.

Out of sample, the rank correlation between VZD and realized R stays positive (Spearman +0.058) and the top-decile-minus-bottom-decile spread is +0.239R — knowing a trade's VZD separates outcomes by ~¼R on data the rule never saw. Modest coefficients, but monotonic, mechanism-grounded, and stable — and they compound over volume.

The part that earns the word "validated": it beat four challengers

One indicator that ranks edge OOS is interesting. One that does so while four plausible competitors fail is a moat. We ran an adversarial lab — three "approach character" indicators (computed only from bars before the signal, no lookahead) plus the legacy grade — and asked each to do what VZD does:

ChallengerIdeaOut-of-sample verdict
Kaufman efficiencystraight-line vs choppy arrivalrejected (≈ 0, regime-dependent)
Pullback depthFibonacci "golden-zone retest"rejected — wrong sign
Momentum slopeprice decelerating into zonetoo weak to gate
A/B/C setup grademulti-factor quality scoreanti-predictive
VZDvolatility-normalized displacementsurvives — monotonic, OOS-stable

The Fibonacci-style pullback idea is the one most traders expect to work — "buy the golden-zone retest." In five years of out-of-sample data it didn't; it was marginally inverted. Intuition is not edge.

What it's worth in practice

Used as an entry gate, VZD roughly triples per-trade expectancy. Ungated, the filled-limit edge is ≈ +0.077R/trade. Gate to VZD ≥ 0.30 and it rises to ≈ +0.18R avg (59.3% win, OOS +0.13R — verified across 5 years, 9 pairs, no lookahead). Tighten to VZD ≥ 0.45 and you trade volume for quality: fewer signals, ≈ +0.27R avg, OOS +0.21R, with materially lower drawdown — 44.9R max vs 59.4R.

The same indicator is a dial — looser for more trades and a thinner edge, tighter for rare, high-conviction, low-drawdown ones. With evaluation accounts now removing time limits, the tight setting fits unusually well: when there's no clock, the optimal play is fewer, higher-conviction, lower-drawdown trades.

zEAge Standard
VZD ≥ 0.30
59.3%
win rate · OOS +0.13R avg
5-yr no-lookahead · 9 pairs · v1.46
zEAge Pro v1.0
VZD ≥ 0.45 · high-conviction
63.5%
win rate · OOS +0.21R avg
25% less drawdown than Standard · v1.46

Live proof: 72.22% win on a real FTMO Free Trial

The five-year backtest is one thing. Here's what happened when we ran this on a live FTMO Free Trial — 18 trades, +$4,283 (+4.2%), worst day −0.6%, profit factor 5.25. Every trade is documented with timestamps, pair, and outcome.

Read the FTMO case study →

See it on your own account — free for 14 days

Don't take our word for any of it. Run zEAge on a free 14-day FTMO Free Trial demo — the trial license lasts exactly as long as the demo. Watch real fills on real prices, judge it yourself, then decide. No card, no risk, nothing to take on faith.

Start the free 14-day trial →

Don't trust us — run it yourself

One command, zero dependencies

We published an anonymized sample of the real trades (VZD + realized R only) and a pure-Python script. No pandas, no setup — regenerate the ladder and the out-of-sample stats on your own machine, or point it at your own trade log.

$ python vzd_reproduce.py

⬇ vzd_reproduce.py ⬇ vzd_sample.csv (19,908 trades)

The takeaway

The most useful thing we learned wasn't the indicator — it was the reframe. For reaction-based entries, stop scoring the level and start measuring the arrival. A one-line, volatility-normalized distance carried more out-of-sample information than a five-factor quality score, a momentum-efficiency ratio, and a Fibonacci rule combined. Simple, mechanistic, and survivable beat complex and intuitive — which is, more often than the literature admits, how real edges look.

Honest limitations. This is a backtest-and-out-of-sample study, not an audited live track record:
  • Ten FX majors/minors, 2021–2026, ~20k filled limit trades. No equities, crypto, or thin instruments tested.
  • Modeled fills and spread; real slippage will differ.
  • Drawdown figures elsewhere in our work are flat-1R, single-stream — a volatility flag, not a literal account path.
  • Per-trade edge is modest; returns come from consistency and volume, not home runs.
  • Nothing here is financial advice or a performance guarantee. Past results, including out-of-sample, do not guarantee future returns. A live, third-party-verified track record is in progress and will be linked when it exists.