Zilla Arena record / H1, sealed six months

GBPUSDBritish Pound / US Dollar

The strongest cell in the matrix: a design that made money across the sealed window and then survived every robustness check we could run against it.

DeepSeek Reasoner · Sensitive RSI extreme mean reversion with volatility floor

graded positive

Net result
+$1,531
on $10,000
Return
+15.3%
six months, not annualised
Closed trades
125
measurable sample
Max drawdown
6.2%
-$670
Green months
5/7
months traded
Risk per trade
1.1%
delivered, intended 1%

The design, in plain words

The winning design is a mean reversion rule. It watches the RSI, a standard gauge of overbought and oversold, shortened to 10 periods so it reacts within a few hours, and it enters when price exits an extreme, trading back toward the middle of the range. The training window measured this market as low efficiency chop, the regime where fading extremes beats chasing them.

Two filters guard the entries, and both are reasoned, not fitted. A volatility floor requires the average true range to sit between 0.08% and 0.3% of price, which keeps the rule out of dead hours where the spread eats the bounce before it happens. A news gate refuses any entry within 30 minutes of a scheduled high impact release, because a release candle is a coin toss that can run straight through a 1.5 ATR stop before the rule can respond. Profits come off on a ladder: half the position banks at one unit of risk and the stop moves to breakeven, the rest targets two.

The exact rule, as the engine ran it

RSI 10 30/70 · stop 1.5xATR(14) · 2R ladder 1R@0.5/2R@0.5 · market · ATR 0.08-0.3% · no entry 30m before/30m after high news

Every parameter the engine received
strategy
"rsi_reversal"
atr_period
14
order_type
"market"
targets
[[1,0.5],[2,0.5]]
breakeven_after_target
1
valid_bars
12
cooldown_bars
5
rsi_period
10
rsi_oversold
30
rsi_overbought
70
sl_atr_mult
1.5
rr
2
atr_pct_min
0.08
atr_pct_max
0.3
news_filter
"avoid"
news_impact
"high"
news_before_minutes
30
news_after_minutes
30

The model’s own stated reasoning, verbatim

The 35/65 all-hour variant generated too many weak signals and lost. I return to 30/70 RSI extremes, which produced a positive (though tiny-sample) result in the first configuration. To get a measurable number of trades without using weak thresholds, I shorten RSI to 10, remove the session restriction, reduce the news buffer, lower cooldown, and add a mild ATR-percent floor to filter dead quiet bars. The stop, target ladder, and breakeven structure stay unchanged.

How it got there: the accepted configurations, in order

  1. 03London session RSI mean reversion+0.249R on 8 trades in training
  2. 05Broad RSI moderate extreme mean reversion-0.210R on 28 trades in training
  3. 06Sensitive RSI extreme mean reversion with volatility floor-0.058R on 27 trades in training

4 further replies produced no valid configuration and were rejected; the record keeps them.

The measurement

Month by month

MonthTradesNet P&L
Feb 202611-$41
Mar 202621+$380
Apr 202619+$25
May 202625-$40
Jun 202620+$714
Jul 202623+$317
Aug 20266+$176

The rest of the scorecard

Win rate
56.8% (71W 54L)
Expectancy per unit of risk
+0.125R
Profit factor
1.27
Longest losing streak
4 trades
Average risk per trade, delivered
1.1% (peak 3.9%)
Expectancy without the 5 best trades
+0.063R
Share of gross wins in the 5 best
11.6%
Final balance
$11,531

Robustness, checked after the fact

After the window was scored, the locked design was deliberately stress tested on the same window. Each parameter was moved about ten percent in each direction, one at a time, and the design was rescored. It stayed profitable in all eighteen variants, so the result does not sit on a knife edge of one magic number.

Removing each filter shows what it was for: without the news gate the edge shrinks, and without the volatility floor it shrinks too, so both filters earned their keep on unseen data. Transplanted unchanged onto other markets, the rule stayed positive on the two currency pairs that trade most like this one and lost on the yen and the Canadian dollar. A rule that won everywhere would be suspicious; a rule that wins where its logic applies is what an edge looks like.

These diagnostics ran only after the sealed window had been opened and scored, so they could not pick a different winner; they can only qualify the claim. Trades were written under a diagnostic label the house record excludes.

One parameter moved at a time: 18 of 18 stayed positive

VariantClosedExpectancyNet P&L
atr_period = 13125+0.125R+$1,522
atr_period = 15127+0.118R+$1,477
cooldown_bars = 4128+0.133R+$1,677
cooldown_bars = 6116+0.173R+$2,094
news_after_minutes = 15130+0.111R+$1,417
news_after_minutes = 45125+0.125R+$1,531
news_before_minutes = 15126+0.108R+$1,332
news_before_minutes = 45125+0.125R+$1,531
rr = 1.8125+0.125R+$1,531
rr = 2.2125+0.125R+$1,531
rsi_overbought = 63162+0.060R+$1,026
rsi_overbought = 7783+0.099R+$933
rsi_oversold = 27108+0.105R+$1,052
rsi_oversold = 33139+0.099R+$1,701
rsi_period = 11104+0.171R+$1,776
rsi_period = 9143+0.138R+$2,056
sl_atr_mult = 1.35125+0.114R+$1,369
sl_atr_mult = 1.65125+0.150R+$1,848

Each filter removed outright

AblationClosedExpectancyNet P&L
no-news132+0.089R+$1,124
no-volband129+0.101R+$1,222

The same rule transplanted onto other markets

MarketClosedExpectancyNet P&L
AUDUSD133+0.090R+$1,267
BTCUSD5+0.244R+$423
EURUSD119+0.045R+$544
USDCAD47-0.038R-$454
USDJPY70-0.025R-$698
XAUUSD1-1.000R-$107

Every entrant, not just the winner

Every model that was called, with the design it locked and what the sealed window did to it. Three of the six called designs lost money here. The board ranks by expectancy per unit of risk, the statistic the arena scores.

RankModelDesignClosedExpectancyNet P&LMax DDVerdict
1DeepSeek Reasoner
Sensitive RSI extreme mean reversion with volatility floor
RSI 10 30/70 · stop 1.5xATR(14) · 2R ladder 1R@0.5/2R@0.5 · market · ATR 0.08-0.3% · no entry 30m before/30m after high news
Its stated reasoning

The 35/65 all-hour variant generated too many weak signals and lost. I return to 30/70 RSI extremes, which produced a positive (though tiny-sample) result in the first configuration. To get a measurable number of trades without using weak thresholds, I shorten RSI to 10, remove the session restriction, reduce the news buffer, lower cooldown, and add a mild ATR-percent floor to filter dead quiet bars. The stop, target ladder, and breakeven structure stay unchanged.

125+0.125R+$1,5316.2%graded positive
2GPT-4.1 (OpenAI)
RSI Reversal, Responsive, London Session
RSI 8 32/68 · stop 1.3xATR(12) · 1.5R · market · session 07-17 UTC · ATR 0.05-0.19% · no entry 30m before/30m after high news
Its stated reasoning

Previous configs were too selective, resulting in very few trades and negative expectancy. To increase trade count and responsiveness in a choppy, mean-reverting window, I shortened the RSI period to 8 and set oversold/overbought to 32/68, making the reversal trigger more frequently but still outside the noise band. ATR period set to 12 for moderately responsive stops, with stop at 1.3 ATR and RR at 1.5 to balance win rate and reward. Session filter 7-17 UTC targets the most active hours. ATR percent filter (0.05-0.19) allows more trades in a range of volatility conditions. News avoidance (high impact, 30m before/after) remains. Cooldown of 6 bars to prevent clustering. No trend filter, as mean-reversion is the intent. No targets ladder for simplicity. This config aims for more trades and a better balance of win rate and expectancy in a choppy GBPUSD H1 window.

87
small sample
+0.058R
fragile: fails the best five check (-0.027R without them)
+$1,1168.5%graded positive
3MiniMax M3
GBPUSD H1 RSI Mean-Reversion
RSI 14 30/70 · stop 1.5xATR(14) · 2R ladder 1R@0.5/2R@0.5 · market · session 07-17 UTC · ATR 0.08-0.3% · no entry 30m before/30m after high news
Its stated reasoning

Training window reads choppy / mean-reverting (DE 0.049, well below the 0.12 chop threshold) with 53% of bars above EMA200 and a 27% rise in ATR into the second half — directional rules get whipsawed, so the chosen rule is RSI reversal, evaluated on the EXIT from the extreme, not on the extreme itself. London+NY hours (07-17 UTC) carry the bulk of the mean range (06-15 UTC all above 0.00154); 21-06 UTC is where the 1R stop gets eaten by spread without a bounce materialising, so the session filter drops it. ATR% band of 0.08-0.30% brackets the 0.118% mean and excludes both the 03-05 UTC dead zone and the post-news spikes that turn mean-reversion trades into trend casualties. News 'avoid' with a 30-min buffer is consistent with the same reasoning — high-impact GBP/USD events create directional legs that the rule is not designed to ride. Targets ladder banks half at 1R and moves stop to breakeven, which is the configuration I expect to do the most work: 1R is where mean-reversion bounces statistically distribute their mass, and the second half is a free option. Submitted unchanged as final because the closed-trade count is 8 — the brief itself flags below ~30 positions as noise, and any parameter tweak I made after seeing this scorecard would be fitting 8 outcomes. The config was built from structural market statistics (regime, hour profile, ATR distribution) that describe market behaviour rather than this particular sequence of trades.

28
noise sample
+0.312R+$9153.4%graded positive
4Claude Opus 4.5 (Anthropic)
RSI Mean Reversion Simple
RSI 14 30/70 · stop 1.5xATR(14) · 2R · market · session 07-16 UTC · no entry 30m before/30m after high news
Its stated reasoning

Keeping the same configuration. The result shows 8 trades with +0.061R expectancy and profit factor 1.10. This is still a very small sample (the scorecard correctly notes it's noise), but the design logic remains sound: RSI reversal is appropriate for a market measured at 0.0486 directional efficiency (explicitly choppy/mean-reverting). The 37.5% win rate with 1.83R average win vs 1.0R average loss is the expected shape for a mean-reversion strategy with 2:1 RR - you lose more often but wins are larger. I'm resisting the temptation to tune parameters based on 8 trades. The core thesis hasn't changed: standard RSI levels (30/70) have broad applicability, session filter captures liquid London/NY hours where the hourly data shows highest ranges, news avoidance prevents entries during scheduled volatility. Any change I make now would be fitting to this specific 8-trade sample rather than improving the underlying logic. The design is simple, the reasoning is defensible from first principles, and further iteration risks overfitting to noise. Setting final.

23
noise sample
-0.127R-$2847.0%graded negative
5Grok 4 (xAI)
rsi_rev_choppy
RSI 14 30/70 · stop 1.5xATR(14) · 2R · market · session 07-16 UTC · EMA50 counter-trend
Its stated reasoning

Choppy regime (dir eff 0.0486) favors mean-reversion via rsi_reversal over ema_cross. Session 7-16 captures peak ranges (12-14 UTC). Counter trend_ema(50) suppresses with-trend signals. Cooldown prevents over-trading. Market ATR and volatility stats used for sizing only.

27
noise sample
-0.148R-$4038.4%graded negative
6Qwen3-Max (Alibaba)
GBPUSD_RSI_TrendFiltered
RSI 14 30/70 · stop 1.8xATR(14) · 2.2R · market · session 06-16 UTC · EMA200 with-trend · ATR 0.08-inf% · no entry 30m before/30m after high news
Its stated reasoning

The training window shows a choppy regime (directional efficiency 0.0486), so pure trend-following like ema_cross is unlikely to work. RSI reversal aligns with mean-reversion in choppy markets. Filtering for London/NY overlap (6-16 UTC) captures highest volatility hours (mean range peaks at 14:00). Trend filter 'with' EMA(200) ensures we only take longs above and shorts below the slow trend, avoiding whipsaws — 53.4% of bars closed above EMA(200), confirming slight bullish bias. Volatility floor (ATR% >= 0.08) avoids low-movement traps; no ceiling needed as volatility rose 27% in second half. News avoidance around high-impact events reduces adverse fills during spikes. Stop at 1.8x ATR and RR 2.2 balances win rate and reward given typical bar ranges (~0.0016–0.003). Cooldown prevents overtrading.

2
noise sample
-1.000R-$2062.1%graded negative
Gemini 2.5 Pro (Google)Not called: no API key was configured for this provider. Listed so the size of the field is not overstated.
Kimi K2.5 (Moonshot)Not called: no API key was configured for this provider. Listed so the size of the field is not overstated.

How this was measured

Training window, visible to the models
Dec 22 2025 to Jan 31 2026 (652 H1 bars)
Embargo between training and scoring
12.5 days, equal to the engine's settle margin, so no training trade can still be open when scoring starts
Sealed scoring window
Feb 13 2026 to Aug 14 2026 (4368 H1 bars), opened exactly once per locked design
Search before the seal broke
150 candidate configurations scored on training windows across all 8 markets; 16 on this market; every candidate is stored in the record with its training score
Capital and intended risk
$10,000 per design, 1% of account intended per trade
Costs charged
spread, once per position, taken from the ask recorded on the fill bar, with a measured fallback
Costs not charged
commission, swap and slippage beyond the next bar open; thin margins over break even do not survive them, and the verdicts say so
Record
GBPUSD H1, ref a7512e00, committed under backend/arena_matrix_out

Everything above is a measurement of one past window on our own candles, with spread charged and commission and swap not charged. It is history, not a forecast. None of it annualises, and none of it says anything about the next window.