Pre-registration: entry5m/docs/2026-09-07-entry5m-v8-arm-oppdiv-prereg.md at commit 37b4561, committed before the code (a7a8dfd) and before this run. Code HEAD at run time: a7a8dfd. Parents: v4 (arm bias, XAUUSD only), v7 (opposite-triangle exit on v3).
Primary cell (unmodified): bias_source = "arm", arm_tier = "Extreme", stop_mode = "h1_extreme", target_mode = "fixed_r", target_r = 3.0, no scale-out, exit_on_opp_div = True; four symbols, same data windows as the v1 record. The pre-declared reference line (same cell with the exit off) is in 2026-09-07-entry5m-v8-arm-oppdiv-screen-ref.md.
Verdict (copied from the table below): FAIL overall: 0 of 3 groups (need 2) — group usd FAIL, group metal FAIL, group jpy FAIL.
The variant as specified is dead; no parameter search was run.
The rule never fired, and cannot on this base. exit_opp_div = 0 on all four symbols, so the judged cell and the reference line are identical to the last digit. The reason is structural, visible in the ZTD state machines: an arm bias lives only while its own oscillator range is open (z on the bias side of zero, curHi/curLo non-na) and ends at the zero touch; a divergence fire on the opposite side can only happen inside an open range on the other side of zero (range 2 of that side). The two conditions exclude each other bar by bar, so on the H1 close where an opposite fire could first appear the arm bias has already ended (range_end) and the trade is already closed at that bar's close as a bias-end exit. On the divergence-based bias, by contrast, the bias survives its range end and an opposite fire replaces it — which is why the request was already the behaviour there (prereg section 1). Net: an opposite-side divergence take-profit adds nothing on either bias source; on the arm base it is empty, on the divergence base it is the existing replacement rule.
What the run does show: the arm base on the four pairs, read for the first time (reference line, NOT judged, identical numbers):
FAIL — 438 arm biases (438 ended at the range end, 0 by timeout, 7 triggers skipped); 2811 orders, 878 filled; 0 opposite-divergence exits. n 878 (ok), PF 1.04 / ex-outlier PF 1.02 (fail), expectancy 0.019 R (fail), best month share 52.2% (fail), halves 30.7 / -14.0 R (fail); win rate 46.2%, net R 16.7, max drawdown 29.4 R, average hold 65.8 bars.FAIL — 399 arm biases (399 ended at the range end, 0 by timeout, 10 triggers skipped); 2501 orders, 755 filled; 0 opposite-divergence exits. n 755 (ok), PF 1.11 / ex-outlier PF 1.08 (fail), expectancy 0.054 R (ok), best month share 19.8% (ok), halves 24.0 / 16.9 R (ok); win rate 47.0%, net R 40.9, max drawdown 26.4 R, average hold 68.0 bars.FAIL — 373 arm biases (373 ended at the range end, 0 by timeout, 17 triggers skipped); 2489 orders, 732 filled; 0 opposite-divergence exits. n 732 (ok), PF 0.83 / ex-outlier PF 0.81 (fail), expectancy -0.096 R (fail), best month share n/a, net R negative (fail), halves -16.1 / -54.5 R (fail); win rate 41.5%, net R -70.6, max drawdown 80.9 R, average hold 73.2 bars.FAIL — 379 arm biases (377 ended at the range end, 2 by timeout, 8 triggers skipped); 2617 orders, 799 filled; 0 opposite-divergence exits. n 799 (ok), PF 0.90 / ex-outlier PF 0.88 (fail), expectancy -0.056 R (fail), best month share n/a, net R negative (fail), halves -32.7 / -12.4 R (fail); win rate 43.6%, net R -45.1, max drawdown 55.0 R, average hold 61.2 bars.Against the v3 divergence base on the same symbols (EURUSD +53.9 R PF 1.21, GBPUSD +19.6 R, XAUUSD −28.4 R, EURJPY −21.9 R): the arm trigger roughly doubles the trade count on every symbol, lifts GBPUSD (+40.9 R, PF 1.11, both halves positive, best month 19.8% — failing only PF and expectancy) and lowers EURUSD (+16.7 R, PF 1.04, second half negative); gold and EURJPY lose more. The 15m secondary run (2026-09-07-entry5m-v8-arm-oppdiv-screen-15m.md) fails 0 of 3.
The sensitivity block below is reported as required and is NOT judged.
symbol n win% netR expR PF exPF ddR month share% h1R h2R bars verdict
EURJPY 799 43.6 -45.1 -0.056 0.90 0.88 55.0 2025-04 - -32.7 -12.4 61.2 FAIL
EURUSD 878 46.2 16.7 0.019 1.04 1.02 29.4 2022-11 52.2 30.7 -14.0 65.8 FAIL
GBPUSD 755 47.0 40.9 0.054 1.11 1.08 26.4 2025-11 19.8 24.0 16.9 68.0 FAIL
XAUUSD 732 41.5 -70.6 -0.096 0.83 0.81 80.9 2023-08 - -16.1 -54.5 73.2 FAIL
bias / pullback funnel:
EURJPY biases=379 biases_RDIV=0 biases_HDIV=0 biases_ARM=379 bias_end_target=0 bias_end_contradiction=0 bias_end_timeout=2 bias_end_replaced=0 bias_end_range_end=377 bias_no_target=8 pullbacks_too_short=2269 pullbacks_qualifying=6431 rr_rejected=14 already_broken=591 skipped_in_position=3209 orders_placed=2617 cancel_extreme_taken=1191 cancel_expired=1 cancel_bias_end=9 cancel_replaced=617 filled=799 target_beyond_zero_touch=0 partial_exits=0 exit_opp_tri=0 exit_opp_div=0
EURUSD biases=438 biases_RDIV=0 biases_HDIV=0 biases_ARM=438 bias_end_target=0 bias_end_contradiction=0 bias_end_timeout=0 bias_end_replaced=0 bias_end_range_end=438 bias_no_target=7 pullbacks_too_short=2565 pullbacks_qualifying=7358 rr_rejected=14 already_broken=669 skipped_in_position=3864 orders_placed=2811 cancel_extreme_taken=1228 cancel_expired=0 cancel_bias_end=11 cancel_replaced=694 filled=878 target_beyond_zero_touch=0 partial_exits=0 exit_opp_tri=0 exit_opp_div=0
GBPUSD biases=399 biases_RDIV=0 biases_HDIV=0 biases_ARM=399 bias_end_target=0 bias_end_contradiction=0 bias_end_timeout=0 bias_end_replaced=0 bias_end_range_end=399 bias_no_target=10 pullbacks_too_short=2380 pullbacks_qualifying=6438 rr_rejected=9 already_broken=561 skipped_in_position=3367 orders_placed=2501 cancel_extreme_taken=1140 cancel_expired=1 cancel_bias_end=10 cancel_replaced=595 filled=755 target_beyond_zero_touch=0 partial_exits=0 exit_opp_tri=0 exit_opp_div=0
XAUUSD biases=373 biases_RDIV=0 biases_HDIV=0 biases_ARM=373 bias_end_target=0 bias_end_contradiction=0 bias_end_timeout=0 bias_end_replaced=0 bias_end_range_end=373 bias_no_target=17 pullbacks_too_short=2210 pullbacks_qualifying=6618 rr_rejected=8 already_broken=511 skipped_in_position=3610 orders_placed=2489 cancel_extreme_taken=1139 cancel_expired=2 cancel_bias_end=8 cancel_replaced=608 filled=732 target_beyond_zero_touch=0 partial_exits=0 exit_opp_tri=0 exit_opp_div=0
FAIL group usd (EURUSD, GBPUSD)
FAIL group metal (XAUUSD)
FAIL group jpy (EURJPY)
FAIL overall: 0 of 3 groups (need 2)
sensitivity (NOT judged): net R / PF / n per cell
cell EURJPY EURUSD GBPUSD XAUUSD
N=2 rr=1.0 -66.5 0.87 849 14.1 1.03 939 36.0 1.08 818 -74.6 0.84 785
N=2 rr=1.5 -66.5 0.87 849 14.1 1.03 939 36.0 1.08 818 -74.6 0.84 785
N=3 rr=1.0 -45.1 0.90 799 16.7 1.04 878 40.9 1.11 755 -70.6 0.83 732
N=3 rr=1.5 -45.1 0.90 799 16.7 1.04 878 40.9 1.11 755 -70.6 0.83 732
N=5 rr=1.0 -32.9 0.91 695 17.2 1.05 744 55.3 1.18 657 -57.3 0.83 635
N=5 rr=1.5 -32.9 0.91 695 17.2 1.05 744 55.3 1.18 657 -57.3 0.83 635