Skip to content
All strategies

Strategies

Spot Gold Asian-Range London-Open Breakout, Long/Short Intraday, Flat Before the 17:00 NY Financing Cut (XAUUSD.SPOTMETAL 15-MINUTE)

Outcome: Verifying

XauAsianRangeLondonBreakout

Spot Gold Asian-Range London-Open Breakout, Long/Short Intraday, Flat Before the 17:00 NY Financing Cut (XAUUSD.SPOTMETAL 15-MINUTE)

Hypothesis

Single-instrument, long+short intraday breakout on spot gold (XAUUSD.SPOTMETAL), 15-minute bars from 2006 onward. Mechanism: gold trades thinly in the Asian session (18:00-02:00 New York time). When London opens, the day's first informed order flow arrives. A close outside the overnight Asian range during the London morning tends to continue into the New York session rather than reverse. SPOTMETAL makes up only 0.1% of the corpus, so this avoids BINANCE (53%) and BTC. Execution substitutions: a decision on a bar close fills at the next bar's open, which is how session venues fill (supported). The protective stop is an intrabar stop the platform matches inside the bar (supported). Every position is closed by 16:00 NY, so overnight financing is never charged. Cost arithmetic: the Asian range is about 0.35-0.45% of price. A stop at the range midpoint risks about 0.2-0.3%. Expected capture is about 0.08-0.15% per trade against a round-trip spread of about 0.015%, which is 5-10x the cost. Risk route (a): the loss at the stop is 0.75% of equity, and notional is capped at 3x equity.

Implementation

Spot gold (XAUUSD.SPOTMETAL, 15m) long/short Asian-range breakout. The Asian range is the high/low of bars opening 18:00-02:00 New York. From the 02:00 bar close until entry_end_hour NY, a bar close above range_high + buffer_frac*range goes long (below range_low - buffer_frac*range goes short) with a market order that fills at the next bar's open (session-venue next_open_fill). Max one entry per trading day, and only if the range width is between range_min_atr and range_max_atr times the 20-day Wilder ATR of trading-day (18:00-17:00 NY) bars. On fill, an OUO pair of reduce-only orders is attached: an intrabar STOP_MARKET at the range midpoint and a LIMIT target at fill +/- target_mult x (fill-to-midpoint distance). A time exit is decided on the bar closing one bar before flat_hour_ny (16:00 NY) or before an early session close, so positions are flat before the 17:00 NY financing cut. Size = equity*risk_per_trade / |close - midpoint|, capped at min(max_notional_mult, leverage) x 0.98 x equity.

Implements the hypothesis directly: thin Asian session sets the range, London-morning close outside it is the continuation trigger, stop at range midpoint, intraday flat before financing. Interpretations of plan parameters: buffer_frac is a fraction of the Asian range width beyond the boundary; target_mult is an R-multiple of the fill-to-stop distance; range_min_atr/range_max_atr bound the Asian range width in units of the 20-day daily ATR; entry_end_hour is the last NY hour at which a deciding bar may close. Execution equivalents: next_open_fill (supported) for entry/time-exit, intrabar_stop (supported) via reduce-only STOP_MARKET in an OUO with the target. Risk route (a): loss at the stop is 0.75% of equity (gap risk aside); notional cap 3x equity with leverage 3 read from self.config.leverage, minus a 2% margin buffer for the next-open fill gap. 'session_open_hour_ny' and 'asian_end_hour_ny' are fixed structural constants (18, 2) exposed as parameters, not tunables. All state is scalar on self.

Backtest and paper results are hypothetical. Trading involves risk of loss.