← Curriculum

Override Capture — Where Your Instinct Beats the Rules

Most trading systems are open-loop. The bot recommends, you follow or ignore, and the system never learns. With override capture, every override is logged with intent and outcome. The dataset becomes the product. After 30+ overrides on a specific recommendation type, patterns emerge — and the rules update based on what your instinct knows that the rules don't.

This is the transformative layer. The other seven modules teach you the framework. This module turns the framework into a coach that learns YOU specifically.

The three layers of value (and why this is the third)

A trading product can deliver three layers of value:

  1. Bookkeeping. Journal exists, trades logged. Necessary, not transformative. TradeZella does this.
  2. Framework grading. 5-layer grader catches setup violations in real time. Useful, not transformative. Most trading-edu products that sell a "system" stop here.
  3. Recursive learning. Override capture turns the dataset into the product. The system learns where YOUR instinct diverges from the rules and tells you about it. This is the transformative layer.

Without Layer 3, the product is "smart journal + alert helper." With it, the product is "9-year practitioner amplified by a quantitative learning loop tuned to YOU." That's the difference between a tool and a coach.


The design principles (operator's hard rules)

  1. Operator is always right in the moment. Bot never blocks an action. You can override any signal at any time. The bot's job is to log, not to interfere.
  2. Frictionless capture. Logging an override must take less than 5 seconds. Intent is inferred from journal data by default; you only fill in detail if you want to.
  3. Post-trade reconciliation only. Don't ask the operator to justify mid-trade. Mid-trade prompts kill flow. Capture happens AFTER the trade closes.
  4. Outcomes are categorical, not judgmental. Verdicts are "operator-right" / "bot-right" / "inconclusive" — never "good" or "bad." The system describes; the operator interprets.
  5. The dataset IS the product. After 30+ overrides on a specific recommendation type, surface a refinement candidate. The rule updates based on YOUR data — not generic backtest data.

The override schema (what the system stores)

Concrete data structure

CREATE TABLE overrides (
    override_id TEXT PRIMARY KEY,
    trade_id TEXT NOT NULL,                    -- FK to journal_trades.trade_id
    bot_recommendation_kind TEXT NOT NULL,     -- 'setup_grade' | 'trail_signal' | 'anti_trade_flag'
    bot_recommendation TEXT NOT NULL,          -- e.g. 'trail:exit-now:wicky-expansion'
    bot_recommendation_at_local TEXT NOT NULL,
    operator_action TEXT NOT NULL,             -- 'follow' | 'override-take-anyway' | 'override-hold-past'
                                               -- | 'override-exit-early' | 'override-ignore-flag'
    operator_reason TEXT,                      -- optional free-form; captured at post-trade prompt
    bot_recommendation_outcome_r REAL,         -- R if rule had been followed (simulated forward)
    operator_action_outcome_r REAL,            -- R actually realized
    delta_r REAL,                              -- operator_action_outcome_r - bot_recommendation_outcome_r
    verdict TEXT,                              -- 'operator-right' | 'bot-right' | 'inconclusive' | 'pending'
    verdict_threshold_r REAL DEFAULT 0.5,      -- |delta_r| needed for non-inconclusive verdict
    market_context_json TEXT,                  -- snapshot: paint, range, body, labels, session, instrument
    created_at TEXT DEFAULT CURRENT_TIMESTAMP
);

Positive delta_r = operator was right (their action captured more R than the rule's would have). Negative = bot was right.


The capture flow (in five steps)

  1. Bot emits recommendation. Logged with unique ID and timestamp. Recommendation kinds: setup_grade, trail_signal, anti_trade_flag.
  2. Bot infers operator action by watching trade state.
    • setup_grade flag → if a trade is created within 5 minutes, operator overrode. If no trade, operator followed.
    • trail_signal: exit-now → if trade closes within 2 bars, followed. If still open 2+ bars, override-hold-past pending.
    • anti_trade_flag → if trade is created despite the flag, override-take-anyway.
  3. Trade closes → verdict resolves. Replay rule forward from recommendation timestamp against actual OHLC; assign bot_recommendation_outcome_r; compute delta_r; assign verdict based on threshold.
  4. Optional operator-reason prompt. Once in daily recap, skip is fine. Only for override-hold-past and override-exit-early. Cap at 3 prompts/day to avoid friction.
  5. Aggregate weekly. Group overrides by (kind, recommendation, instrument). Surface refinement candidates per the analyzer below.

The weekly analyzer (the surfacing logic)

When a refinement candidate fires

Every week, the analyzer aggregates overrides over the trailing 30 days and groups them by recommendation type and instrument. Two thresholds for surfacing a candidate:

Example output (Discord post):

Weekly Override Analysis · last 30 days · 47 overrides logged

1. Trail rule exit-now-wicky-expansion on CL — operator overrode 6 times, was right 5 (83%). Avg gain by holding past signal: +1.4R. Suggestion: loosen wicky-expansion threshold for CL, or apply only when paint also flips on entry TF.

2. Setup grade B-grade-no-trigger on RTH ES — operator took the trade 8 times, was right 6 (75%). Suggestion: B-grade-no-trigger may underweight reclaim setups during RTH cash-hour liquidity.

Operator reads, accepts or rejects each refinement. Accepted refinements feed back into rule code. The bot just got smarter — about you specifically.


How this surfaces the operator's edge

From the corpus

Operator's documented overrides over years of journaling tell us what kinds of patterns the analyzer should surface:

The pattern: after 30 days of override data, the bot has a tuned-to-you rule set. After 90 days, it's a meaningfully personalized coach. After a year, it's the documented edge of YOUR trading style — defensible and quantitative.


Integration with model_review (the AI commentary loop)

Override patterns become AI Mentor context

The bot's review output extends with historical_override_pattern — a structured note about your override history relevant to the current trade:

Bot review on a CL setup

"Trail signal: exit-now (wicky-expansion).

Note: you've overridden this signal on CL 5 times in the last 30 days, holding past was right 4/5 times (avg +1.2R extension). Consider whether this CL setup matches the pattern."

That's the bot showing you YOUR data, in real time, on the trade in front of you. Recursive learning made visible. The bot isn't telling you to override; it's telling you about your own track record on overriding this exact signal type, on this exact instrument.

The decision is still yours. Always. The bot is the coach, not the trader.


Privacy and safety

Hard guardrails

The override data is YOUR trading edge documented quantitatively. It belongs to you, stays with you, and doesn't get shared without your explicit action.


Why this is the hardest competitor moat to clone

The 30-day data flywheel

Other trading-edu products can copy the framework. They can copy the indicators. They can copy the bot architecture. What they CAN'T copy is your override dataset — because it's specific to you.

The longer you use the bot, the more personalized the recommendations become. After 30 days you have a tuned-to-you rule set. After a year, the rule set is unique to your trading psychology, instrument preferences, time-of-day patterns, and emotional triggers. Switching to a competitor means starting over from generic backtest rules.

This is the competitive moat that compounds. Each member's bot becomes more valuable to that member every month. Not because the underlying code changes — because the override data accumulates.

Combined with the operator's 26,600-message journal corpus that the AI Mentor RAG-indexes, the bot has TWO data flywheels: the operator's voice + framework knowledge as the foundation, plus the member's personal override patterns as the personalization layer.


What to do tomorrow

Without the bot, you can still capture overrides manually:

  1. Pre-declare the framework grade for every setup (A / B+ / B / C / F) before clicking. Write it in your journal.
  2. If you take a sub-A setup, log it as an override. Note: setup grade was B; took anyway because [reason].
  3. If the bot's trail rule would have fired and you held past, log it as a hold-past override. Note the bar that fired and the bar you actually exited on.
  4. After the trade closes, replay the rule forward. What R would the rule have captured? What R did you capture? Difference is delta_R.
  5. After 30 trades with override capture, look at the pattern. Where are you systematically right? Where systematically wrong? Adjust accordingly.

The manual version is slow and error-prone, which is why the bot version exists — but you can practice the discipline now. The data accumulates either way.


Curriculum complete

That's all 8 modules. The framework (M1) plus the discipline (M2-M7) plus the recursive learning loop (M8) is the complete Jalen Method. You now have:

From here: practice. Journal every trade. Tag spiral days. Pre-declare framework grades. Track overrides. The framework compounds with reps.

Browse the curriculum index →

Risk disclosure. Trading futures involves substantial risk of loss. Most retail traders lose money. The recursive-learning methodology described here reflects the operator's actual trading methodology over 9 years. Past performance is not indicative of future results. Operator does not manage customer accounts. Nothing in this module is investment advice or a solicitation. Customers trade their own accounts under their own decisions.