Quiet Asia builds a range. When London / early-US liquidity arrives, a clean break of that range often runs directionally. This strategy places resting buy/sell stops at the range edges the moment the window closes, rides the first fill to a fixed time exit, and uses the full range width as its stop.
A faithful reproduction of the provided EasyLanguage spec, run bar-by-bar with realistic fills on two independent 15m gold datasets.
Orders are placed the moment the range closes — there is no gap between defining the level and arming the order, so price cannot run through the level before the order exists. (This is what kills naive previous-day breakouts.)
StopFrac 1.0, gross (before spread/slippage). Two datasets: the Bybit XAUUSDT perp (primary, 176 full days) and real CME GC=F futures (independent cross-check, ~51 days).
Every series below is computed from the actual engine trade log — no simulated curves.
10,000 bootstrap resamples of the actual trade returns (with replacement, same trade count). This answers: how likely is the strategy to stay profitable if the trade sequence is re-shuffled many times?
Bootstrap reshuffles the observed trade returns — it measures sequence risk, not regime risk. It cannot tell you whether a different gold regime (e.g. a choppy, mean-reverting tape) would generate the same trade distribution. The sample is a single ~6-month window in a strong downtrend; treat the probabilities as conditional on that distribution.
Walk-forward split, parameter sensitivity and cost sensitivity on the primary dataset.
How the backtest was built, verified, and where the numbers come from.
| Dataset | Source | Window | Bars | Trades |
|---|
# needs python3 + pandas + numpy (a venv is recommended) python3 backtest/generate_site_data.py # recompute site data from the engine python3 backtest/asian_breakout.py --data data/XAUUSDT_15m_bybit.csv --mc 10000 python3 backtest/asian_analysis.py # full metric suite + sensitivities