The Geometry Trading Research Report ¶
A Quantitative Audit of Retail Price Action, Smart Money Concepts, and Macro Regime Gating
Executive Summary ¶
Over the course of intensive backtesting and algorithmic vetting, every mainstream retail trading concept—including Smart Money Concepts (SMC), ICT Fair Value Gaps, Order Blocks, Asian Session Breakouts/Sweeps, VWAP Reversion/Momentum, Round Numbers, and Oscillator Divergences—was subjected to strict institutional quantitative testing standards.
Using direct tick data from MetaTrader 5 (MT5) with institutional broker friction modeling (raw spreads and commissions), each concept was tested across 100,000 to 200,000 continuous tick candles (2 to 4+ years).
The research yielded two profound discoveries:
- The Retail Geometry Manifesto (Continuous Failure): When executed as static, always-on single-asset strategies, all intraday chart geometry mathematically collapses into a random walk. The market efficiently counter-balances the Win Rate against the Risk/Reward ratio, ensuring that total Expectancy converges to
0.0 - Broker Spread. - The Regime Gating Breakthrough (Conditional Alpha): When tested across discrete rolling 3-month blocks over 3 to 5 years, intraday geometry strategies were proven not to be fundamentally useless, but strictly regime-dependent. Certain geometric patterns (like FVG mitigations or Inside Bar breakouts) yield massive positive expectancy, but only when gated by macro-environmental filters (e.g., ADX > 40 or extreme distance from the 200 SMA).
1. Quantitative Vetting Standards Applied ¶
To eliminate heuristic bias and curve-fitting, all strategies were coded into a standardized StrategyCore interface and executed via a vectorized simulation engine (FastEngine):
- Sample Depth: Intraday M5 and M15 timeframes required a minimum of 50,000 to 100,000 continuous candles (~2 to 4.5 years).
- Sample Count (): A minimum of executed trades to satisfy the Law of Large Numbers.
- Expectancy Metric (): Calculated in R-multiples:
Pass threshold: Minimum to after full friction deduction. - Profit Factor (): Minimum .
- Risk Modeling: Full raw spread matrix, latency buffer, and commission modeling.
2. Continuous Macro Test Results (The Falsification) ¶
A. ICT Fair Value Gaps & Order Block Mitigation ¶
- Module:
fvg_order_block_core.py - Timeframe: M15 (100,000 candles, ~4 Years)
- Mechanics: Identified 3-candle price voids where Candle 1 High and Candle 3 Low did not overlap. Required Candle 2 body to exceed 1.5x ATR (institutional displacement). Placed limit orders at the gap retest with a 2:1 RR (Stop Loss below origin candle).
- Macro Results:
- EURUSD: 1,208 Trades | Win Rate: 32.70% | Expectancy: -0.09 R | PF: 0.97
- GBPUSD: 1,265 Trades | Win Rate: 31.94% | Expectancy: -0.12 R | PF: 0.94
- USDJPY: 1,271 Trades | Win Rate: 34.38% | Expectancy: -0.02 R | PF: 1.05
- Macro Filter Test: Adding an H4 200 EMA directional filter reduced trade count from ~1,250 down to ~750, but expectancy remained negative (EURUSD: -0.06 R, GBPUSD: -0.10 R).
- Conclusion: Mechanically catching pullbacks into visual price voids holds zero standalone statistical edge.
B. Asian Session Volatility Breakout ¶
- Module:
volatility_breakout_core.py - Timeframe: M15 (100,000 candles)
- Mechanics: Measured Asian session range (00:00–08:00 UTC). Entered on London open breakout if today's range was 10% tighter than the 20-day rolling average (volatility compression).
- Macro Results:
- Wide Stop (Bottom of Asian Range): Generated a 42% Win Rate, but Expectancy was -0.05 R.
- Midpoint Stop (Tighter SL to double R:R): Win Rate immediately fell from 42% to 32% (GBPJPY 32.69% WR, -0.10 R; GBPUSD 26.02% WR, -0.05 R; EURUSD 24.45% WR, -0.15 R).
- Conclusion: The market dynamically neutralizes risk/reward adjustments. Compressing stop losses simply increases stop-out frequency at an identical mathematical ratio.
C. London Stop Hunt (Asian Sweep / Judas Swing) ¶
- Module:
asian_sweep_core.py - Timeframe: M15 (100,000 candles, ~4 Years)
- Mechanics: Waited for price to break beyond the Asian session high/low during London open, then entered a fade if the M15 candle closed back inside the range (false breakout/liquidity run).
- Macro Results:
- EURUSD: 855 Trades | Win Rate: 30.64% | Expectancy: 0.00 R
- GBPUSD: 868 Trades | Win Rate: 26.38% | Expectancy: -0.16 R
- GBPJPY: 780 Trades | Win Rate: 23.85% | Expectancy: -0.16 R
- Conclusion: Over 855 trades on EURUSD, the expectancy flatlined at exactly 0.00 R before spread. Stop-run fades are efficiently counter-balanced by high-frequency market-making algorithms.
D. VWAP Mean Reversion & Inversion ¶
- Modules:
vwap_reversion_core.py,vwap_momentum_core.py - Timeframe: M5 (200,000 candles, ~2.6 Years)
- Mean Reversion (Fading 2.5 SD Bands):
- EURUSD: 344 Trades | Win Rate: 29.65% | Expectancy: -0.07 R
- GBPUSD: 360 Trades | Win Rate: 30.56% | Expectancy: -0.10 R
- USDJPY: 336 Trades | Win Rate: 22.02% | Expectancy: -0.26 R
- Diagnosis: Fading standard deviation bands on intraday timeframes is stepping in front of institutional trends.
- Momentum Inversion (Buying 2.5 SD Breakout with 2:1 RR):
- EURUSD: 669 Trades | Win Rate: 32.44% | Expectancy: -0.08 R
- Diagnosis: Inverting a losing strategy does not produce a winning strategy. Because forex ranges ~70% of the time, breakout entries trigger on wicks and get chopped up by spread and variance.
E. Daily-Anchored M15 Momentum ¶
- Module:
daily_anchor_momentum_core.py - Timeframe: M15
- Mechanics: Evaluated M15 VWAP pullbacks strictly in the direction of the Daily 50 SMA.
- Macro Results:
- With 16:00 London close exit: Win rate was ~40%, but expectancy was -0.03 R to -0.07 R because time-stops truncated runners while taking full 20-pip losses.
- With 4:1 RR (80-pip TP / 20-pip SL): EURUSD produced 355 trades, 19.44% Win Rate, -0.07 R Expectancy. Moving averages are lagging indicators; by the time the Daily trend is confirmed, M15 pullbacks frequently align with macro trend exhaustion.
F. The Timeframe Paradox (Bollinger Double Bounce) ¶
- Module:
bb_double_bounce_core.py - H4 Timeframe: Generated verified alpha (+0.22 R, PF ~1.50).
- H1 Timeframe: Tested over 8 years (1,600+ trades) to increase frequency. The edge immediately evaporated to -0.05 R.
- The Law of Timeframe Physics: A 2.5 Standard Deviation extension on H4 represents global macroeconomic liquidity exhaustion (central bank level re-balancing). A 2.5 SD extension on H1 or M15 represents localized retail stop runs (random noise). High frequency and standalone structural geometry are fundamentally incompatible.
G. Other Quarantined Intraday Concepts ¶
- Round Number Bounce (M1/M5): 24 trades in 100,000 candles (-0.12 R). Excessive constraint stacking and negative expectancy.
- RSI Divergence Reversal (M5): -0.09 R on EURUSD, -0.18 R on GBPJPY. Oscillators fail to predict the duration of institutional blow-off tops.
- London Close Trap (M15): Profitable over 8 months (favorable regime), but collapsed to -0.09 R to -0.22 R across a full 3-year multi-regime sample (220,000 candles).
3. The Regime Orchestrator Breakthrough ¶
Rather than discarding all failed geometry strategies, we tested the hypothesis: "Do these strategies work consistently under specific, identifiable market weather?"
All 18 strategies were re-evaluated across rolling 3-month blocks over 3 to 5 years, tracking four macro sensors:
- ADX (14): Trend strength and momentum velocity.
- ATR (14): Realized market volatility.
- Dist200 (%): Absolute percentage distance between price and the 200 SMA (Macro Extension).
- Bollinger Squeeze (20): Volatility compression.
The Findings: Regime Separation ¶
| Strategy | Profitable Block Conditions (PF > 1.2) | Failed Block Conditions (PF < 1.0) | Quantitative Takeaway |
|---|---|---|---|
| Inside Bar Momentum (M15) | ADX: 38.84, Dist200: 5.81% | ADX: 35.01, Dist200: 1.95% | Only works when the market is severely extended and moving forcefully. Hugging the 200 SMA causes false breakouts. |
| FVG Order Block (M15) | ADX: 41.13, Dist200: 3.11% | ADX: 32.13, Dist200: 1.40% | Order blocks only hold during peak institutional liquidity injection (ADX > 40). Slow markets slice right through them. |
| Daily Anchor Momentum (M15) | ADX: 42.98, Dist200: 1.60% | ADX: 32.14, Dist200: 2.66% | Requires massive trend velocity (ADX > 40) but price must be close to the mean (Dist200 < 2%). Fails if already extended. |
| Asian Sweep / Stop Hunt (M15) | ADX: 33.63, Dist200: 2.74% | ADX: 37.19, Dist200: 2.12% | Stop-hunting works best in contained momentum (ADX < 35). In strong trends (ADX > 37), the sweep does not revert—it breaks out. |
| London ORB (M5) | Dist200: 0.80%, ADX: 33.81 | Dist200: 4.24%, ADX: 34.17 | Breakouts require price to be near the macro mean (room to expand). Fails when already extended into macro exhaustion. |
| RSI Divergence (M5) | Dist200: 1.83%, ADX: 35.62 | Dist200: 4.70%, ADX: 33.08 | Intraday divergence requires a flat macro base (< 2.5%). Fading divergence in a trending market is suicidal. |
| BB Double Bounce (H4) | Dist200: 1.21% | Dist200: 3.09% | Mean reversion works in consolidating markets. When secular trends push Dist200 > 3%, the bands ride the trend. |
| Weekend Gap Fill (H1) | Dist200: 3.58%, ADX: 30.49 | Dist200: 5.27%, ADX: 33.51 | Highly robust (won 8 of 9 blocks). Only fails during extreme macro extensions (> 5%), where gaps represent runaway breaks. |
4. The Universal Failures (Permanently Quarantined) ¶
Four strategies failed to generate a single profitable 3-month block across the multi-year history, regardless of market conditions:
- Round Number Bounce (M5): 0 for 5 blocks profitable. Psychological round numbers offer no quantifiable edge over spread.
- ATR Trend Follower (D1): Flawed ATR trailing-stop logic caused unrecoverable equity drawdowns.
- ATR Fade (M15): 0 for 10 blocks profitable. Intraday fading based on ATR bands bleeds capital continuously.
- VWAP Reversion (M5): 0 for 4 blocks profitable. Mean-reverting to VWAP intraday is mathematically negative across all regimes.
5. Architectural Implementation & Strategy Portfolio ¶
These findings led to the construction of a dynamic Regime Orchestrator, establishing a two-tier portfolio architecture:
Tier 1: Universal / Global Strategies (Always-On) ¶
Strategies that do not rely on intraday chart patterns and are immune to single-asset regime collapse:
- Statistical Arbitrage (Pairs Cointegration): H1/D1 mean-reversion between cointegrated assets (
EURUSD/GBPUSD,SPGI/MCO,GS/MS). Market neutral. - Connors RSI-2 Mean Reversion: D1 equity pullbacks on S&P 500 / Nasdaq stocks above the 200 SMA.
- Macro Carry Trades: EOD central bank interest rate differential harvesting with a Daily 200 EMA trend filter.
Tier 2: Regime-Gated Geometry Strategies ¶
Intraday strategies dynamically toggled by the Orchestrator via real-time macro telemetry:
- London ORB: Active only when
Dist200 < 1.5% - Inside Bar Momentum: Active only when
ADX > 35.0ANDDist200 > 4.0% - Asian Sweep: Active only when
ADX < 35.0 - FVG Order Block: Active only when
ADX > 40.0 - Daily Anchor Momentum: Active only when
ADX > 40.0ANDDist200 < 2.0% - RSI Divergence: Active only when
Dist200 < 2.5% - BB Double Bounce: Active only when
Dist200 < 2.0% - Weekend Gap Fill: Active only when
Dist200 < 4.0%