Note down entery and exit Why we took trade?
What were each indicator signal on that specific time when we took trade
How many indicators agreed at trade time
Always backtest using engine.py and signal_aggregator.py
Dont take trades on weekends and Fridays
Keep TP small 1.3 Reward ratio
At the end of test make table of results and print all values you observed.
Trade context

Time of day and trading session (Asian/London/NY/overlap)
Day of week (track Mon/Tue/Wed/Thu performance separately)
Market regime at entry: trending, ranging, or choppy (use ATR or ADX)
Volatility level (ATR value or ATR percentile vs recent average)
Pair/instrument traded
News proximity (high-impact news within 30 min before/after entry)

Trade execution details

Spread at entry in pips
Slippage on entry and exit (planned vs actual fill)
Time in trade (minutes/hours from entry to exit)
Maximum Adverse Excursion (MAE): how far against you it went
Maximum Favorable Excursion (MFE): how far in profit before pullback

Risk metrics

Max consecutive losses (streak)
Max consecutive wins (streak)
Expectancy: (Win% x Avg Win) minus (Loss% x Avg Loss)
Expectancy per hour in trade
Recovery factor: Total R divided by Max DD

Indicator/signal analysis

Each indicator's standalone win rate when it agreed with the trade
Confluence level performance (2 vs 3 vs 4+ indicators agreeing)
Which indicator disagreed on losing trades (find the "canary")

Decision quality

Rate each setup A/B/C at entry, before knowing outcome
Verify A-grade setups actually win more often
Track system trades vs discretionary deviations separately

Process notes

Screenshot or chart snapshot at entry and exit
Emotional state (calm, FOMO, revenge, tired)
What would have happened if you held longer or exited sooner

Aggregate analysis at end of backtest

Equity curve, not just total R
Performance breakdown by session, day, volatility regime
Win rate over rolling 20-trade windows (check for edge decay)

Critical extra
"Do not trade" log: setups flagged but skipped, and what happened after


--- 2026-09-06: decision-time feature export ---
- `--export-features` appends stake_multiplier, r_sized and the 65 `f_*` decision-time
  features (position_sizing.FEATURE_ORDER) AFTER the 63 pinned columns; default export is
  byte-identical to the pinned books. Use backtest/research/book_report.py for weekday /
  hour x weekday / session / streak / rolling-WR / feature-quintile (both halves) tables,
  backtest/research/burst_map.py for the burst-by-hour map, and
  backtest/research/sizing_model.py for the walk-forward + shuffle-control harness.
- Any sizing report must show the FLAT book and the SIZED book side by side and the
  label-shuffle null; the 2026-09-06 campaign verdict (nothing ships) is the reference.
