CAT researchOverviewEURUSDGBPUSDXAUUSDGBPCADEURCADAUDJPYGBPJPYResearch notes

entry5m v9 — no fixed take-profit, exit only at the opposite-side indicator event: pre-registration (two cells)

Status: pre-registered 2026-09-07 (commit 5c845f2), built (e9a1d2b) and run the same day; verdicts: 9a FAIL 0/3, 9b FAIL 0/3 (see research/2026-09-07-entry5m-v9a-opptri-only-screen.md and ...-v9b-oppdiv-only-screen.md). No Pine change. Parents: v3 2026-09-06-entry5m-v3-fixed3r-prereg.md (the base; FAIL 1/3, EURUSD alone), v7 (opposite-triangle exit alongside the 3R target, FAIL 0/3), v8 (opposite-divergence exit on the arm base: cannot fire).

1. The variants (Daniel, 2026-09-07)

"If we are taking 1x take profit initially and letting the other half hit the take profit condition, then I would like to test without taking the 1x take profit. Just take profit at the triangle or divergence. This should be 2 tests."

Decided: no partial and no fixed R:R target; the whole position runs until the stop, the bias end, or the opposite-side indicator event. Two pre-registered cells on the v3 divergence base (the arm base cannot see an opposite divergence, v8), four symbols, each judged on its own (two chances at the criteria, stated here).

9a — opposite triangle 9b — opposite divergence
Bias ZTD divergence fire on H1 (v3), stop_mode = "h1_extreme" same
Take-profit none (target_mode = "none") none
Indicator exit exit_on_opp_tri = True: AVWAP-Z triangle at the Elevated tier or above on the opposite side, read on the H1 close, trade closed at the next 5m bar's close exit_on_opp_div = True: a ZTD divergence fire on the opposite side (RDIV or HDIV). On this base the opposite fire also replaces the bias, so the exit is the same bar-close exit the replacement makes; the flag labels it opp_div so the record can count it
Other exits the stop (one tick beyond the H1 divergence extreme, fixed at placement) and the bias end (zero-touch level touched, contradiction, timeout, replaced), at the bar close as in v1-v8 same
Scale-out off off

2. Exact rule change

Entry5mConfig.target_mode gains the value "none": order_for sets the order's target to na and skips the reward-to-risk floor (there is no reward to measure; a na or wrong-side stop still rejects the order); the broker's target check never fires on na; target_beyond_zero_touch stays 0. Everything else is v7/v8 code.

3. Primary cells (judged) and criteria

Common: pivot_n = 3, min_pb_bars = 3, timeout_h1 = 96, min_rr = 1.0 (not binding), pending_max_bars = 48, max_hold_bars = 0, stop_mode = "h1_extreme", target_mode = "none", bias_source = "divergence", scale_out_r = 0, ZTD defaults; EURUSD, GBPUSD, XAUUSD, EURJPY.

  • 9a: exit_on_opp_tri = True, exit_on_opp_div = False.
  • 9b: exit_on_opp_tri = False, exit_on_opp_div = True.

Criteria for each cell: the v1 spec's section 8 verbatim (at least 200 trades; PF > 1.15 and ex-outlier PF > 1.0; expectancy > +0.05 R; best month <= 35% of net R; both calendar halves net-positive; at least two of the three groups usd/metal/jpy, GBPUSD net R not negative). A fail means that cell is dead as specified; no parameter search follows. Sensitivity grids printed, NOT judged.

Expected side effects, stated now: without a take-profit every winner runs to a bar-close exit, so average wins in R rise and win rates fall against v3; 9b's exits coincide with the bias replacements (the reference for 9b is therefore v3 with the 3R target removed); 9a should exit earlier than 9b on most trades.

4. Pine

No Pine change in this step. If a cell passes, the indicator gets a No take-profit target option in its own pre-registered follow-up.