| Time | Decision | Setup | Detail |
|---|---|---|---|
| 06-12 12:31:21 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 12:01:36 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 12:01:36 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 12:01:36 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 12:01:36 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 12:01:05 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 12:01:03 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 12:00:29 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 11:59:36 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 11:59:36 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 11:58:26 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| 06-12 11:58:16 | error | edge long | ProjectXError: account '50KTC-V2-456765-14541130' not found. Available: 50KTC-V2 |
| Bot | Fills | Lots | Gross | Fees+Comm | NET | Last fill |
|---|---|---|---|---|---|---|
| MNQ1! 1m ORB/1 | 124 | 153 | +$359.00 | −$94.86 | +$264.14 | 06-11 09:36:16 |
| MNQ1! 1m PRED/1 | 527 | 1012 | +$132.00 | −$627.44 | $-495.44 | 06-10 06:44:03 |
| untagged | 70 | 73 | $-1,844.00 | −$45.26 | $-1,889.26 | 06-11 10:29:22 |
| Symbol | Lifecycles | Closed | TP1 / TP2 / TP3 hits | SL | W/L | ~Realized $ | ~Realized R |
|---|---|---|---|---|---|---|---|
| MNQ1! (+$2.00/pt) | 370 | 172 (198 open) | 417 / 157 / 60 | 123 | 108W / 43L (72%) | +$4,752.00 | +66.03R |
| ={"settlement-as-close":true,"symbol":"CME_MINI:MNQ1!"} (+$2.00/pt) | 149 | 86 (63 open) | 120 / 59 / 0 | 86 | 55W / 27L (67%) | +$327.48 | -352.17R |
| ={"backadjustment":"default","settlement-as-close":true,"symbol":"CME_MINI:MES1!"} (+$2.00/pt) | 66 | 50 (16 open) | 50 / 15 / 0 | 50 | 43W / 15L (74%) | $-187.88 | -20.24R |
| MES1! (+$5.00/pt) | 9 | 5 (4 open) | 10 / 1 / 1 | 5 | 5W / 4L (56%) | $-351.25 | -0.76R |
| ? (+$2.00/pt) | 2 | 0 (2 open) | 0 / 0 / 0 | 0 | 0W / 0L (0%) | +$0.00 | +0.00R |
uv run python -m trading_agent.time_analysis| Session | n | W/L | WR | P&L | Avg |
|---|---|---|---|---|---|
| overnight | 227 | 83W / 116L | 42% | +$1,448.33 | +$6.38 |
| ny_am | 38 | 6W / 25L | 19% | +$69.62 | +$1.83 |
| ny_pm bleeds | 20 | 1W / 15L | 6% | $-85.06 | $-4.25 |
| asian bleeds | 111 | 35W / 64L | 35% | $-134.59 | $-1.21 |
| london bleeds | 211 | 63W / 129L | 33% | $-668.70 | $-3.17 |
| Session | n | W/L | WR | P&L | Avg |
|---|---|---|---|---|---|
| off_hours | 232 | 171W / 61L | 74% | +$7,241.98 | +$31.22 |
| ny_pm | 16 | 13W / 3L | 81% | +$1,029.62 | +$64.35 |
| ny_am | 9 | 9W / 0L | 100% | +$642.88 | +$71.43 |
| london | 8 | 6W / 2L | 75% | +$231.82 | +$28.98 |
| Symbol | Analyzed | Filled | Missed | Fill rate | Avg slip (pts) | Avg slip ($) | Worst slip (pts) |
|---|---|---|---|---|---|---|---|
| MNQ | 14 | 11 | 3 | 78.6% | +2.43 | +$4.86 | +18.00 |
For each entry alert: did the NEXT 1m bar retouch the intended-entry level (limit fills)? What would the bar-open market-order fill have cost in slip?
Positive slip = worse than the level. Updated each dashboard refresh; reads from state/events.jsonl + bars cache.
| Tier | Closed | W/L | P&L |
|---|---|---|---|
| sb | 32 | 27W / 5L (84%) | +$1,570.87 |
| 2022 | 229 | 168W / 61L (73%) | +$6,284.38 |
| ote | 4 | 4W / 0L (100%) | +$1,291.05 |
| Total | 265 | 199W / 66L (75%) | +$9,146.30 |
| Entered | Side | Tier | Qty | Entry | TP1 / TP2 | SL | Close | P&L | Session |
|---|---|---|---|---|---|---|---|---|---|
| 06-03 21:47:00 | short | 2022 | 8.0 | 7545.75 | 7544.625 / 7541.25 | 7548.0 | tp2_hit | +$112.50 | off_hours |
| 06-03 21:35:00 | long | 2022 | 3.0 | 30499.25 | 30511.4375 / 30531.75 | 30483.0 | sl_hit | $-97.50 | off_hours |
| 06-03 16:03:00 | short | 2022 | 3.0 | 7540.75 | 7538.0 / 7529.75 | 7546.25 | open | +$0.00 | off_hours |
| 06-03 16:02:00 | short | 2022 | 2.0 | 30451.0 | 30436.0 / 30411.0 | 30471.0 | open | +$0.00 | off_hours |
| 06-03 15:38:00 | short | 2022 | 2.0 | 30443.75 | 30426.875 / 30398.75 | 30466.25 | be_stop | +$33.75 | off_hours |
| 06-03 12:22:00 | short | 2022 | 3.0 | 7576.0 | 7573.125 / 7564.5 | 7581.75 | sl_hit | $-86.25 | off_hours |
| 06-03 12:22:00 | short | 2022 | 1.0 | 30623.5 | 30596.125 / 30550.5 | 30660.0 | sl_hit | $-73.00 | off_hours |
| 06-03 12:14:00 | long | 2022 | 8.0 | 7576.5 | 7577.625 / 7581.0 | 7574.25 | be_stop | +$22.50 | off_hours |
| 06-03 12:14:00 | long | 2022 | 4.0 | 30627.0 | 30635.0625 / 30648.5 | 30616.25 | be_stop | +$32.25 | off_hours |
| 06-03 11:25:00 | long | sb | 2.0 | 7584.0 | 7587.375 / 7597.5 | 7577.25 | sl_hit | $-67.50 | ny_pm |
| 06-03 11:25:00 | long | sb | 1.0 | 30655.5 | 30674.625 / 30706.5 | 30630.0 | sl_hit | $-51.00 | ny_pm |
| 06-03 11:07:00 | short | sb | 8.0 | 7581.25 | 7580.0 / 7576.25 | 7583.75 | be_stop | +$25.00 | ny_pm |
| 06-03 10:09:00 | long | 2022 | 1.0 | 30574.75 | 30594.8125 / 30628.25 | 30548.0 | sl_hit | $-53.50 | off_hours |
| 06-03 10:02:00 | short | 2022 | 6.0 | 7575.75 | 7574.25 / 7569.75 | 7578.75 | be_stop | +$22.50 | off_hours |
| 06-03 10:02:00 | short | 2022 | 2.0 | 30588.25 | 30573.8125 / 30549.75 | 30607.5 | tp2_hit | +$105.88 | off_hours |
| When | Version | Variable | Change | Applied | Conf | Source | Rationale |
|---|---|---|---|---|---|---|---|
| 05-27 19:49:22 | v20→v21 | filtering.alert_min_score |
"Strong" → "Elite" |
✓ | medium | claude | Of the 25 trades, those with score < 8.0 net deeply negative: the score=7.4 asian cluster (10 trades) lost -$377.50 and the score=7.7 cluster won +$192, totaling -$185 on sub-8 setups. Sub-8 trades: 1 |
| 05-27 15:51:06 | v19→v20 | tp.tp1_trim_perc |
50 → 70 |
✓ | medium | claude | The dominant leak in these 25 trades is the 'TP1 hit → SL trails to BE → stopped at BE' pattern: 9 of 25 trades (36%) closed at exactly $0.00 after hitting TP1 (12:24 edge, 12:33 half, 22:20 edge, 22: |
| 05-27 13:32:01 | v18→v19 | behavior.retest_filters |
null → {"edge": {"max_gap": 6}, "ce": { |
✓ | high | manual_backtest_override | Empirical analysis on 384 closed v7 trades showed Edge entries with gap_bars in [7,15] net -$0.78/trade and CE retests with gap_bars > 6 net -$2.17/trade. Adding max_gap=6 to Edge and CE blocks both b |
| 05-27 11:30:11 | v17→v18 | tp.tp1_trim_perc |
33 → 50 |
✓ | medium | claude | Of 25 trades, 10 closed at exactly $0.00 with tp1=1, tp2=0 — TP1 was tagged but the 'trim' netted zero because 33% of small contract counts (often 1–2 per tier from a 3-way ladder split) rounds down t |
| 05-27 11:29:18 | v16→v17 | risk.risk_amount, tp.{method,tp1_value,tp2_value,tp3_value} |
{"risk_amount": 150.0, "method": → {"risk_amount": 300.0, "method": |
✓ | high | manual_backtest_override | Manual override based on 9-month Polygon backtest (1707 trades full sample, 581 in held-out test slice). Two findings: (1) Ticks method materially outperforms R:R because fixed-point TPs match how MNQ |
| 05-27 10:17:36 | v15→v16 | tp.tp1_value |
3.0 → 3.5 |
✓ | — | fallback_after_claude_error | realised return 0.45% < target 10%; widen TP1 R-multiple 3.0 -> 3.5 |
| 05-27 10:15:56 | v14→v15 | risk.{risk_amount,max_contracts} |
{"risk_amount": 100.0, "max_cont → {"risk_amount": 150.0, "max_cont |
✓ | high | manual_backtest_override | Manual override based on 44-day / 484-trade Polygon backtest. The max_contracts=10 cap was binding on smaller-SL setups, clipping real edge. Sweep confirmed: maxc=20 lifts P&L from $2,550 to $2,882 wi |
| 05-27 10:08:47 | v13→v14 | filtering.session_blocks |
{"asia": false, "london": false, → {"asia": false, "london": false, |
✓ | high | manual_backtest_override | Manual override based on 44-day / 484-trade Polygon backtest. The v13 overnight-block was applied by an auto-reflection on a 25-trade sample that included an 11-trade losing cluster on 2026-05-21 23:0 |
| 05-27 08:49:23 | v12→v13 | filtering.session_blocks.overnight |
false → true |
✓ | medium | claude | Overnight session is the single largest source of bleed: 11 of 25 trades (44%) came from the 2026-05-21 23:06–23:13 cluster, all shorts, all stopped out, ZERO winners, total ~$80 lost. None of them ev |
| 05-27 08:45:39 | v11→v12 | tp.tp1_value |
2.5 → 3.0 |
✓ | — | ? | realised return -0.07% < target 10%; widen TP1 R-multiple 2.5 -> 3.0 |
| Entered | Side | Tier | Qty | Entry | P&L | Close reason | Context | Event timeline |
|---|---|---|---|---|---|---|---|---|
| 06-12 05:30:00 | short | edge | 6 | 29545.125 | +$186.00 | tp3_hit | trending_down · normal | entry tp1_hit tp2_hit tp1_retest tp3_hit |
| 06-12 05:31:00 | short | ce | 6 | 29548.3125 | +$186.00 | tp3_hit | trending_down · high | entry tp1_hit tp2_hit tp3_hit |
| 06-12 05:31:00 | short | half | 6 | 29546.7188 | +$186.00 | tp3_hit | trending_down · high | entry tp1_hit tp2_hit tp3_hit |
| 06-08 16:18:00 | short | edge | 1 | 29449.0 | +$12.00 | sl_hit | trending_up · normal | entry tp1_hit tp2_hit sl_hit |
| 06-08 16:17:00 | short | edge | 1 | 29449.0 | +$12.00 | sl_hit | trending_up · normal | entry tp1_hit be_retest tp2_hit sl_hit |
| 06-08 15:21:00 | short | ce | 2 | 29352.125 | +$12.00 | sl_hit | trending_down · normal | entry tp1_hit be_retest sl_hit |
| 06-08 15:21:00 | short | half | 2 | 29346.8125 | $-63.75 | sl_hit | trending_down · normal | entry sl_hit |
| 06-08 15:21:00 | short | edge | 2 | 29341.5 | $-85.00 | sl_hit | trending_down · normal | entry sl_hit |
| 06-12 00:27:00 | long | ce | 1 | 29297.75 | $-13.50 | sl_hit | trending_down · normal | entry sl_hit |
| 06-12 00:27:00 | long | half | 1 | 29301.125 | $-20.25 | sl_hit | trending_down · normal | entry sl_hit |
| 06-12 00:27:00 | long | edge | 1 | 29304.5 | $-27.00 | sl_hit | trending_down · normal | entry sl_hit |
| 06-12 00:19:00 | short | ce | 5 | 29286.0 | $-50.00 | sl_hit | trending_down · normal | entry sl_hit |
| 06-12 00:19:00 | short | half | 4 | 29283.5 | $-60.00 | sl_hit | trending_down · normal | entry sl_hit |
| 06-12 00:19:00 | short | edge | 4 | 29281.0 | $-80.00 | sl_hit | trending_down · normal | entry sl_hit |
| 06-11 23:57:00 | short | edge | 3 | 29364.0 | +$12.00 | sl_hit | trending_down · normal | entry tp1_hit sl_hit |
| 06-11 23:46:00 | short | ce | 4 | 29388.5625 | $-41.50 | sl_hit | trending_down · normal | entry sl_hit |
| 06-11 23:46:00 | short | half | 4 | 29385.9688 | $-62.25 | sl_hit | trending_down · normal | entry sl_hit |
| 06-11 23:46:00 | short | edge | 4 | 29383.375 | $-83.00 | sl_hit | trending_down · normal | entry sl_hit |
| 06-11 22:13:00 | short | edge | 3 | 29518.25 | $-45.00 | sl_hit | trending_down · normal | entry sl_hit |
| 06-11 18:31:00 | short | ce | 4 | 29499.75 | $-50.00 | sl_hit | trending_down · normal | entry sl_hit |
| Received | Event | Side | Tier | Price | parent_ob_id |
|---|---|---|---|---|---|
| 06-12 11:58:15 | entry | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 11:58:25 | tp1_retest | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 11:58:25 | tp2_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 11:59:35 | tp1_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 11:59:35 | entry | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 11:59:35 | be_retest | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 11:59:35 | tp1_retest | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 11:59:35 | tp2_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 12:00:02 | entry | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 12:00:28 | tp1_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 12:00:29 | be_retest | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 12:01:02 | tp1_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 12:01:05 | tp2_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 12:01:35 | tp1_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v2 |
| 06-12 12:01:35 | sl_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v1 |
| 06-12 12:01:35 | entry | long | edge | 29649.5 | long_29649.50_1781288820000_v2 |
| 06-12 12:01:35 | be_retest | long | edge | 29649.5 | long_29649.50_1781288820000_v2 |
| 06-12 12:01:35 | tp1_retest | long | edge | 29649.5 | long_29649.50_1781288820000_v2 |
| 06-12 12:01:35 | tp2_hit | long | edge | 29649.5 | long_29649.50_1781288820000_v2 |
| 06-12 12:31:20 | entry | long | edge | 29649.5 | long_29649.50_1781288820000_v3 |
version: '22'
name: proorder_block_v7
notes: "v22: REVERT to validated v19 config + auto-reflection DISABLED. Auto-reflection\
\ had degraded the strategy v19\u2192v20\u2192v21 with two unvalidated changes (tp1_trim\
\ 50\u219270, alert_min_score Strong\u2192Elite). The Elite floor strangled trade\
\ flow to ~5 trades/18h (only 20 entries vs ~130 normal). This restores the backtest-validated\
\ v19 settings: Ticks 24/60/120, $300 risk, max_contracts 20, NY blocked, Strong\
\ floor, 50% TP1 trim, retest filters Edge/CE max_gap=6. auto_reflect set to false\
\ in goal.yaml so manual backtest-validated configs no longer get overwritten. Re-enable\
\ reflection only with guardrails (propose-only bucket for alert_min_score + tp\
\ params, or much higher reflection_every)."
detection:
volume_pivot_length: 5
use_adx: true
adx_length: 14
adx_thresh: 20
score_floors:
medium: 3.0
strong: 5.0
elite: 8.0
risk:
risk_amount: 300.0
max_contracts: 20
sl_buffer_ticks: 0
counter_trend_size_mult: 0.5
tp:
method: Ticks
tp1_value: 24
tp1_trim_perc: 50
tp2_value: 60
tp2_trim_perc: 33
tp3_value: 120
tiering:
ladder_split_1: 33
ladder_split_2: 33
ladder_split_3: 34
filtering:
alert_min_score: Strong
skip_high_vol_entry: true
dyn_vol_mult: 1.15
vol_lookback: 20
session_blocks:
asia: false
london: false
ny: true
overnight: false
skip_regimes:
- chop
- ranging
min_htf_vote: 0
skip_volatility_buckets:
- low
- extreme
require_wick_ok: false
require_trend_aligned: false
behavior:
block_be_reentry: true
max_retests: 3
max_entry_slip_ticks: 0
retest_filters:
edge:
max_gap: 6
ce:
max_gap: 6
lifecycle:
proximity_filter_atr: 10.0
max_active_obs_per_side: 5
use_pre_market_filter: false
allow_child_overlap_obs: false
suppress_overlapping_opposite: true