[
 {
  "source": "trade_bot",
  "date": "2026-09-30",
  "symbol": "SSTI",
  "watched": [
   [
    "09:40",
    "11:40"
   ]
  ],
  "day": {
   "open": 8.21,
   "high": 8.78,
   "low": 8.21,
   "close": 8.31,
   "open_to_close_pct": 1.22
  },
  "bot": {
   "entry_time": "09:45",
   "entry_price": 8.4654,
   "exit_time": "15:22",
   "exit_price": 8.36,
   "pl": -20.66,
   "qty": 196,
   "exit_reason": "exit_v2 stop: price 8.36 <= 8.38 (entry stop)",
   "entry_reasons": [
    "v2: RVOL 3.0x, room above 14d high, buy share 75%, smoothness 0.86, straightness 0.56, VWAP +1.1%, stop 8.38"
   ],
   "entry_signals": {
    "time": "09:45",
    "price": 8.455,
    "vs_open_pct": 2.98,
    "vs_vwap_pct": 0.98,
    "day_low": 8.21,
    "day_low_time": "09:30",
    "min_since_low": 15,
    "low_held_open": true,
    "vwap_reclaim_last5": false,
    "high_so_far": 8.54,
    "below_high_pct": -1.0,
    "vol15x": 3.18,
    "max_volx_last30": 8.4,
    "no_new_low_min": 15,
    "tags": [
     "opening dip held the open"
    ]
   },
   "mfe_price": 8.78,
   "mfe_time": "10:45",
   "mfe_pct": 3.72,
   "mae_pct": -1.25,
   "hold_to_close_pl": -30.46
  },
  "right_watched": {
   "entry": {
    "time": "09:40",
    "price": 8.45,
    "vs_open_pct": 2.92,
    "vs_vwap_pct": 1.24,
    "day_low": 8.21,
    "day_low_time": "09:30",
    "min_since_low": 10,
    "low_held_open": true,
    "vwap_reclaim_last5": false,
    "high_so_far": 8.45,
    "below_high_pct": 0.0,
    "vol15x": 3.29,
    "max_volx_last30": 8.4,
    "no_new_low_min": 10,
    "tags": [
     "opening dip held the open",
     "breakout to a new high"
    ]
   },
   "exit": {
    "time": "10:45",
    "price": 8.78,
    "vs_vwap_pct": 3.27,
    "bar_close_pos": 1.0,
    "bar_volx": 5.4,
    "max_volx_pm5": 21.4,
    "at_run_high": true,
    "next30_low_pct": -3.64,
    "tags": [
     "volume climax (21.4x)",
     "stretched 3.27% over VWAP"
    ]
   },
   "gain_pct": 3.91
  },
  "right_day": {
   "entry": {
    "time": "09:30",
    "price": 8.27,
    "vs_open_pct": 0.73,
    "vs_vwap_pct": 0.2,
    "day_low": 8.21,
    "day_low_time": "09:30",
    "min_since_low": 0,
    "low_held_open": true,
    "vwap_reclaim_last5": false,
    "high_so_far": 8.28,
    "below_high_pct": -0.12,
    "vol15x": 4.17,
    "max_volx_last30": 4.2,
    "no_new_low_min": 0,
    "tags": [
     "opening dip held the open",
     "pullback to VWAP held"
    ]
   },
   "exit": {
    "time": "10:45",
    "price": 8.78,
    "vs_vwap_pct": 3.27,
    "bar_close_pos": 1.0,
    "bar_volx": 5.4,
    "max_volx_pm5": 21.4,
    "at_run_high": true,
    "next30_low_pct": -3.64,
    "tags": [
     "volume climax (21.4x)",
     "stretched 3.27% over VWAP"
    ]
   },
   "gain_pct": 6.17
  },
  "what_happened": "Entry was fine (9:45, first allowed bar, opening dip held the open). It ran to 8.78 at 10:45 (+3.7%) into a 21x volume climax while 3.3% over VWAP, then faded all day; nothing sold the top and the 1% stop hit at 15:22.",
  "suggestion": "SELL INTO THE CLIMAX: volume >= 10x normal near a new high while >= 3% over VWAP -> sell (would have made about +$63 instead of -$21).",
  "rule_candidates": [
   "X1 volume climax at the high",
   "X2 stretched >= 3% over VWAP"
  ]
 },
 {
  "source": "trade_bot",
  "date": "2026-09-30",
  "symbol": "NVA",
  "watched": [
   [
    "09:40",
    "10:40"
   ]
  ],
  "day": {
   "open": 5.59,
   "high": 5.74,
   "low": 5.45,
   "close": 5.45,
   "open_to_close_pct": -2.5
  },
  "bot": {
   "entry_time": "10:04",
   "entry_price": 5.65,
   "exit_time": "10:25",
   "exit_price": 5.64,
   "pl": -2.95,
   "qty": 295,
   "exit_reason": "exit_v2 smooth break: smoothness 0.50 < 0.6 (trend broke)",
   "entry_reasons": [
    "v2: RVOL 2.2x, room 2.1%, buy share 56%, smoothness 0.85, straightness 0.51, VWAP +0.4%, stop 5.57"
   ],
   "entry_signals": {
    "time": "10:04",
    "price": 5.65,
    "vs_open_pct": 1.07,
    "vs_vwap_pct": 0.39,
    "day_low": 5.52,
    "day_low_time": "09:46",
    "min_since_low": 18,
    "low_held_open": false,
    "vwap_reclaim_last5": true,
    "high_so_far": 5.74,
    "below_high_pct": -1.57,
    "vol15x": 1.51,
    "max_volx_last30": 10.7,
    "no_new_low_min": 18,
    "tags": [
     "VWAP reclaim"
    ]
   },
   "mfe_price": 5.73,
   "mfe_time": "10:15",
   "mfe_pct": 1.42,
   "mae_pct": -0.35,
   "hold_to_close_pl": -59.0
  },
  "right_watched": {
   "entry": {
    "time": "09:46",
    "price": 5.531,
    "vs_open_pct": -1.06,
    "vs_vwap_pct": -1.81,
    "day_low": 5.52,
    "day_low_time": "09:46",
    "min_since_low": 0,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 5.74,
    "below_high_pct": -3.64,
    "vol15x": 3.18,
    "max_volx_last30": 10.7,
    "no_new_low_min": 0,
    "tags": [
     "other"
    ]
   },
   "exit": {
    "time": "10:18",
    "price": 5.72,
    "vs_vwap_pct": 1.48,
    "bar_close_pos": 1.0,
    "bar_volx": 0.5,
    "max_volx_pm5": 6.7,
    "at_run_high": false,
    "next30_low_pct": -1.57,
    "tags": [
     "top (no clear signal)"
    ]
   },
   "gain_pct": 3.42
  },
  "right_day": {
   "entry": {
    "time": "09:46",
    "price": 5.531,
    "vs_open_pct": -1.06,
    "vs_vwap_pct": -1.81,
    "day_low": 5.52,
    "day_low_time": "09:46",
    "min_since_low": 0,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 5.74,
    "below_high_pct": -3.64,
    "vol15x": 3.18,
    "max_volx_last30": 10.7,
    "no_new_low_min": 0,
    "tags": [
     "other"
    ]
   },
   "exit": {
    "time": "10:18",
    "price": 5.72,
    "vs_vwap_pct": 1.48,
    "bar_close_pos": 1.0,
    "bar_volx": 0.5,
    "max_volx_pm5": 6.7,
    "at_run_high": false,
    "next30_low_pct": -1.57,
    "tags": [
     "top (no clear signal)"
    ]
   },
   "gain_pct": 3.42
  },
  "what_happened": "Bought the VWAP reclaim at 10:04 (5.65), fine. It ran to 5.72 at 10:18 (+1.4%) then stalled and rolled over; the smooth exit sold 5.64 at 10:25 and the stock closed -2.5% on the day.",
  "suggestion": "TAKE PROFIT ON THE STALL: after +1R, sell when a new high fails within 15 minutes (a lower high) instead of waiting for the trend to break (about +$20).",
  "rule_candidates": [
   "X3 stall after +1R"
  ]
 },
 {
  "source": "trade_bot",
  "date": "2026-09-30",
  "symbol": "COUR",
  "watched": [
   [
    "10:40",
    "15:15"
   ]
  ],
  "day": {
   "open": 4.96,
   "high": 5.15,
   "low": 4.81,
   "close": 4.95,
   "open_to_close_pct": -0.2
  },
  "bot": {
   "entry_time": "10:43",
   "entry_price": 5.0578,
   "exit_time": "11:10",
   "exit_price": 5.09,
   "pl": 10.63,
   "qty": 330,
   "exit_reason": "exit_v2 smooth break: smoothness 0.56 < 0.6 (trend broke)",
   "entry_reasons": [
    "v2: RVOL 2.9x, room 1.0%, buy share 74%, smoothness 0.91, straightness 0.76, VWAP +1.9%, stop 4.95"
   ],
   "entry_signals": {
    "time": "10:43",
    "price": 5.05,
    "vs_open_pct": 1.81,
    "vs_vwap_pct": 1.77,
    "day_low": 4.81,
    "day_low_time": "09:30",
    "min_since_low": 73,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 5.07,
    "below_high_pct": -0.39,
    "vol15x": 4.37,
    "max_volx_last30": 27.1,
    "no_new_low_min": 30,
    "tags": [
     "other"
    ]
   },
   "mfe_price": 5.15,
   "mfe_time": "11:04",
   "mfe_pct": 1.82,
   "mae_pct": -0.15,
   "hold_to_close_pl": -35.57
  },
  "right_watched": {
   "entry": {
    "time": "10:43",
    "price": 5.05,
    "vs_open_pct": 1.81,
    "vs_vwap_pct": 1.77,
    "day_low": 4.81,
    "day_low_time": "09:30",
    "min_since_low": 73,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 5.07,
    "below_high_pct": -0.39,
    "vol15x": 4.37,
    "max_volx_last30": 27.1,
    "no_new_low_min": 30,
    "tags": [
     "other"
    ]
   },
   "exit": {
    "time": "11:04",
    "price": 5.15,
    "vs_vwap_pct": 3.38,
    "bar_close_pos": 1.0,
    "bar_volx": 1.0,
    "max_volx_pm5": 4.5,
    "at_run_high": true,
    "next30_low_pct": -1.84,
    "tags": [
     "stretched 3.38% over VWAP"
    ]
   },
   "gain_pct": 1.98
  },
  "right_day": {
   "entry": {
    "time": "09:30",
    "price": 4.8286,
    "vs_open_pct": -2.65,
    "vs_vwap_pct": -0.77,
    "day_low": 4.81,
    "day_low_time": "09:30",
    "min_since_low": 0,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 4.96,
    "below_high_pct": -2.65,
    "vol15x": 2.51,
    "max_volx_last30": 2.5,
    "no_new_low_min": 0,
    "tags": [
     "other"
    ]
   },
   "exit": {
    "time": "11:04",
    "price": 5.15,
    "vs_vwap_pct": 3.38,
    "bar_close_pos": 1.0,
    "bar_volx": 1.0,
    "max_volx_pm5": 4.5,
    "at_run_high": true,
    "next30_low_pct": -1.84,
    "tags": [
     "stretched 3.38% over VWAP"
    ]
   },
   "gain_pct": 6.66
  },
  "what_happened": "Entry equal to the right entry (10:43, 5.05). It peaked 5.15 at 11:04, 3.4% over VWAP; the smooth exit sold 5.09 at 11:10 (+$11).",
  "suggestion": "SELL THE STRETCH: >= 3% over VWAP with the move stalling -> sell (about +$30).",
  "rule_candidates": [
   "X2 stretched >= 3% over VWAP"
  ]
 },
 {
  "source": "trade_bot",
  "date": "2026-09-30",
  "symbol": "SSL",
  "watched": [
   [
    "11:10",
    "11:40"
   ]
  ],
  "day": {
   "open": 13.83,
   "high": 13.995,
   "low": 13.725,
   "close": 13.81,
   "open_to_close_pct": -0.14
  },
  "bot": {
   "entry_time": "11:10",
   "entry_price": 13.965,
   "exit_time": "11:25",
   "exit_price": 13.945,
   "pl": -2.38,
   "qty": 119,
   "exit_reason": "exit_v2 smooth break: smoothness 0.56 < 0.6 (trend broke)",
   "entry_reasons": [
    "v2: RVOL 1.5x, room 1.5%, buy share 100%, smoothness 0.88, straightness 0.64, VWAP +1.1%, stop 13.68"
   ],
   "entry_signals": {
    "time": "11:10",
    "price": 13.965,
    "vs_open_pct": 0.98,
    "vs_vwap_pct": 1.12,
    "day_low": 13.725,
    "day_low_time": "09:41",
    "min_since_low": 86,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 13.965,
    "below_high_pct": 0.0,
    "vol15x": 0.78,
    "max_volx_last30": 11.0,
    "no_new_low_min": 29,
    "tags": [
     "base after low (86 min)"
    ]
   },
   "mfe_price": 13.995,
   "mfe_time": "11:12",
   "mfe_pct": 0.21,
   "mae_pct": -0.29,
   "hold_to_close_pl": -18.44
  },
  "right_watched": {
   "entry": {
    "time": "11:40",
    "price": 13.9,
    "vs_open_pct": 0.51,
    "vs_vwap_pct": 0.59,
    "day_low": 13.725,
    "day_low_time": "09:41",
    "min_since_low": 114,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 13.995,
    "below_high_pct": -0.68,
    "vol15x": 0.89,
    "max_volx_last30": 13.2,
    "no_new_low_min": 0,
    "tags": [
     "base after low (114 min)"
    ]
   },
   "exit": {
    "time": "12:11",
    "price": 13.975,
    "vs_vwap_pct": 1.11,
    "bar_close_pos": 1.0,
    "bar_volx": 0.3,
    "max_volx_pm5": 1.1,
    "at_run_high": true,
    "next30_low_pct": -0.18,
    "tags": [
     "double top"
    ]
   },
   "gain_pct": 0.54
  },
  "right_day": {
   "entry": {
    "time": "09:48",
    "price": 13.73,
    "vs_open_pct": -0.72,
    "vs_vwap_pct": -0.22,
    "day_low": 13.725,
    "day_low_time": "09:41",
    "min_since_low": 6,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 13.83,
    "below_high_pct": -0.72,
    "vol15x": 2.32,
    "max_volx_last30": 5.2,
    "no_new_low_min": 0,
    "tags": [
     "pullback to VWAP held"
    ]
   },
   "exit": {
    "time": "11:12",
    "price": 13.995,
    "vs_vwap_pct": 1.33,
    "bar_close_pos": 1.0,
    "bar_volx": 1.4,
    "max_volx_pm5": 13.2,
    "at_run_high": true,
    "next30_low_pct": -0.68,
    "tags": [
     "volume climax (13.2x)"
    ]
   },
   "gain_pct": 1.93
  },
  "what_happened": "Bought 16 s after the 11:10 rescan added it, at the day's high, on a 2% range day with normal volume (15-min volume 0.8x). The best trade while watched was only +0.5%.",
  "suggestion": "NO TRADE: skip a stock at its day high right after it's added (flow backfill now fixed) and skip flat, normal-volume days.",
  "rule_candidates": [
   "B2 just added / at day high",
   "B3 flat day"
  ]
 },
 {
  "source": "trade_bot",
  "date": "2026-09-30",
  "symbol": "BB",
  "watched": [
   [
    "09:40",
    "10:10"
   ],
   [
    "11:10",
    "15:15"
   ]
  ],
  "day": {
   "open": 8.72,
   "high": 9.29,
   "low": 8.68,
   "close": 9.04,
   "open_to_close_pct": 3.67
  },
  "bot": {
   "entry_time": "12:48",
   "entry_price": 9.21,
   "exit_time": "13:26",
   "exit_price": 9.115,
   "pl": -17.1,
   "qty": 180,
   "exit_reason": "exit_v2 stop: price 9.12 <= 9.12 (entry stop)",
   "entry_reasons": [
    "v2: RVOL 1.8x, room n/a, buy share 57%, smoothness 0.75, straightness 0.70, VWAP +1.8%, stop 9.12"
   ],
   "entry_signals": {
    "time": "12:48",
    "price": 9.255,
    "vs_open_pct": 6.14,
    "vs_vwap_pct": 2.31,
    "day_low": 8.68,
    "day_low_time": "09:30",
    "min_since_low": 198,
    "low_held_open": true,
    "vwap_reclaim_last5": false,
    "high_so_far": 9.275,
    "below_high_pct": -0.22,
    "vol15x": 3.03,
    "max_volx_last30": 20.1,
    "no_new_low_min": 28,
    "tags": [
     "other"
    ]
   },
   "mfe_price": 9.29,
   "mfe_time": "12:52",
   "mfe_pct": 0.87,
   "mae_pct": -1.3,
   "hold_to_close_pl": -30.6
  },
  "right_watched": {
   "entry": {
    "time": "09:48",
    "price": 8.785,
    "vs_open_pct": 0.75,
    "vs_vwap_pct": -1.05,
    "day_low": 8.68,
    "day_low_time": "09:30",
    "min_since_low": 18,
    "low_held_open": true,
    "vwap_reclaim_last5": false,
    "high_so_far": 8.98,
    "below_high_pct": -2.17,
    "vol15x": 1.29,
    "max_volx_last30": 2.5,
    "no_new_low_min": 18,
    "tags": [
     "other"
    ]
   },
   "exit": {
    "time": "12:51",
    "price": 9.275,
    "vs_vwap_pct": 2.48,
    "bar_close_pos": 0.69,
    "bar_volx": 1.1,
    "max_volx_pm5": 20.1,
    "at_run_high": true,
    "next30_low_pct": -1.67,
    "tags": [
     "volume climax (20.1x)"
    ]
   },
   "gain_pct": 5.58
  },
  "right_day": {
   "entry": {
    "time": "09:30",
    "price": 8.705,
    "vs_open_pct": -0.17,
    "vs_vwap_pct": -0.04,
    "day_low": 8.68,
    "day_low_time": "09:30",
    "min_since_low": 0,
    "low_held_open": true,
    "vwap_reclaim_last5": false,
    "high_so_far": 8.74,
    "below_high_pct": -0.4,
    "vol15x": 0.42,
    "max_volx_last30": 0.4,
    "no_new_low_min": 0,
    "tags": [
     "opening dip held the open",
     "pullback to VWAP held"
    ]
   },
   "exit": {
    "time": "12:51",
    "price": 9.275,
    "vs_vwap_pct": 2.48,
    "bar_close_pos": 0.69,
    "bar_volx": 1.1,
    "max_volx_pm5": 20.1,
    "at_run_high": true,
    "next30_low_pct": -1.67,
    "tags": [
     "volume climax (20.1x)"
    ]
   },
   "gain_pct": 6.55
  },
  "what_happened": "Bought 12:48 at 9.21, +5.6% over the open and 2.3% over VWAP, two minutes after a 20x volume climax -- the breakout exception of the 3% rule let a climax buy through. It topped at 9.28 (12:51) and stopped out.",
  "suggestion": "DON'T BUY RIGHT AFTER A CLIMAX: no buy within 30 min after a >= 10x volume bar at the high; the right trade was 9:48 at 8.79 (opening dip held the open) to the 12:51 climax (+5.6%).",
  "rule_candidates": [
   "B1 no buy after a climax",
   "E2 opening dip held the open",
   "X1 volume climax at the high"
  ]
 },
 {
  "source": "trade_bot",
  "date": "2026-09-30",
  "symbol": "FPI",
  "watched": [
   [
    "13:10",
    "13:40"
   ],
   [
    "14:10",
    "14:40"
   ],
   [
    "15:11",
    "15:15"
   ]
  ],
  "day": {
   "open": 11.17,
   "high": 11.46,
   "low": 11.01,
   "close": 11.36,
   "open_to_close_pct": 1.7
  },
  "bot": {
   "entry_time": "13:11",
   "entry_price": 11.395,
   "exit_time": "14:23",
   "exit_price": 11.4292,
   "pl": 4.96,
   "qty": 145,
   "exit_reason": "exit_v2 smooth break: smoothness 0.52 < 0.6 (trend broke)",
   "entry_reasons": [
    "v2: RVOL 3.6x, room above 14d high, buy share 66%, smoothness 0.81, straightness 0.57, VWAP +1.5%, stop 11.28"
   ],
   "entry_signals": {
    "time": "13:11",
    "price": 11.4,
    "vs_open_pct": 2.06,
    "vs_vwap_pct": 1.53,
    "day_low": 11.01,
    "day_low_time": "09:42",
    "min_since_low": 158,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 11.405,
    "below_high_pct": -0.04,
    "vol15x": 5.96,
    "max_volx_last30": 43.1,
    "no_new_low_min": 29,
    "tags": [
     "breakout to a new high"
    ]
   },
   "mfe_price": 11.46,
   "mfe_time": "15:23",
   "mfe_pct": 0.57,
   "mae_pct": -0.44,
   "hold_to_close_pl": -5.08
  },
  "right_watched": {
   "entry": {
    "time": "13:15",
    "price": 11.365,
    "vs_open_pct": 1.75,
    "vs_vwap_pct": 1.2,
    "day_low": 11.01,
    "day_low_time": "09:42",
    "min_since_low": 162,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 11.405,
    "below_high_pct": -0.35,
    "vol15x": 6.61,
    "max_volx_last30": 43.1,
    "no_new_low_min": 13,
    "tags": [
     "base after low (162 min)"
    ]
   },
   "exit": {
    "time": "15:21",
    "price": 11.455,
    "vs_vwap_pct": 1.59,
    "bar_close_pos": 1.0,
    "bar_volx": 2.6,
    "max_volx_pm5": 43.4,
    "at_run_high": true,
    "next30_low_pct": -1.18,
    "tags": [
     "volume climax (43.4x)",
     "double top"
    ]
   },
   "gain_pct": 0.79
  },
  "right_day": {
   "entry": {
    "time": "09:42",
    "price": 11.01,
    "vs_open_pct": -1.43,
    "vs_vwap_pct": -0.56,
    "day_low": 11.01,
    "day_low_time": "09:42",
    "min_since_low": 0,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 11.17,
    "below_high_pct": -1.43,
    "vol15x": 4.96,
    "max_volx_last30": 17.4,
    "no_new_low_min": 0,
    "tags": [
     "other"
    ]
   },
   "exit": {
    "time": "15:21",
    "price": 11.455,
    "vs_vwap_pct": 1.59,
    "bar_close_pos": 1.0,
    "bar_volx": 2.6,
    "max_volx_pm5": 43.4,
    "at_run_high": true,
    "next30_low_pct": -1.18,
    "tags": [
     "volume climax (43.4x)",
     "double top"
    ]
   },
   "gain_pct": 4.04
  },
  "what_happened": "Bought 13:11 at 11.40, at the high after a 43x volume bar; small range afterwards; the smooth exit sold 11.43 (+$5). The day's real move (from the 9:42 low) came before the bot watched it.",
  "suggestion": "SMALL EDGE ONLY: fine exit; the lesson is watching earlier (it was added at 13:10).",
  "rule_candidates": [
   "B1 no buy after a climax",
   "W watch earlier"
  ]
 },
 {
  "source": "trade_bot",
  "date": "2026-09-30",
  "symbol": "PSQL",
  "watched": [
   [
    "11:10",
    "12:10"
   ],
   [
    "12:40",
    "15:15"
   ]
  ],
  "day": {
   "open": 6.25,
   "high": 6.4599,
   "low": 6.1,
   "close": 6.36,
   "open_to_close_pct": 1.76
  },
  "bot": {
   "entry_time": "13:51",
   "entry_price": 6.385,
   "exit_time": "14:36",
   "exit_price": 6.32,
   "pl": -16.9,
   "qty": 260,
   "exit_reason": "exit_v2 stop: price 6.32 <= 6.32 (entry stop)",
   "entry_reasons": [
    "v2: RVOL 2.6x, room 3.4%, buy share 64%, smoothness 0.72, straightness 0.51, VWAP +1.1%, stop 6.32"
   ],
   "entry_signals": {
    "time": "13:52",
    "price": 6.37,
    "vs_open_pct": 1.92,
    "vs_vwap_pct": 0.83,
    "day_low": 6.1,
    "day_low_time": "09:36",
    "min_since_low": 215,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 6.4599,
    "below_high_pct": -1.39,
    "vol15x": 5.02,
    "max_volx_last30": 102.9,
    "no_new_low_min": 17,
    "tags": [
     "base after low (215 min)"
    ]
   },
   "mfe_price": 6.41,
   "mfe_time": "14:11",
   "mfe_pct": 0.39,
   "mae_pct": -1.02,
   "hold_to_close_pl": -6.5
  },
  "right_watched": {
   "entry": {
    "time": "11:27",
    "price": 6.35,
    "vs_open_pct": 1.6,
    "vs_vwap_pct": 1.04,
    "day_low": 6.1,
    "day_low_time": "09:36",
    "min_since_low": 92,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 6.4599,
    "below_high_pct": -1.7,
    "vol15x": 2.44,
    "max_volx_last30": 9.5,
    "no_new_low_min": 26,
    "tags": [
     "base after low (92 min)"
    ]
   },
   "exit": {
    "time": "12:31",
    "price": 6.435,
    "vs_vwap_pct": 2.11,
    "bar_close_pos": 0.0,
    "bar_volx": 6.2,
    "max_volx_pm5": 33.9,
    "at_run_high": false,
    "next30_low_pct": -0.56,
    "tags": [
     "volume climax (33.9x)",
     "rejection bar on heavy volume"
    ]
   },
   "gain_pct": 1.34
  },
  "right_day": {
   "entry": {
    "time": "09:38",
    "price": 6.115,
    "vs_open_pct": -2.16,
    "vs_vwap_pct": -1.23,
    "day_low": 6.1,
    "day_low_time": "09:36",
    "min_since_low": 1,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 6.3,
    "below_high_pct": -2.94,
    "vol15x": 2.82,
    "max_volx_last30": 6.2,
    "no_new_low_min": 1,
    "tags": [
     "other"
    ]
   },
   "exit": {
    "time": "10:53",
    "price": 6.4597,
    "vs_vwap_pct": 3.14,
    "bar_close_pos": 0.99,
    "bar_volx": 1.8,
    "max_volx_pm5": 8.9,
    "at_run_high": true,
    "next30_low_pct": -2.16,
    "tags": [
     "stretched 3.14% over VWAP"
    ]
   },
   "gain_pct": 5.64
  },
  "what_happened": "Bought 13:52 at 6.37, 1.4% under a high that had been rejected at 12:31 on a 34x volume bar (and a 103x bar in the last 30 min); it never got going and stopped out.",
  "suggestion": "AFTER A CLIMAX REJECTION, WAIT: no buy until price clears the rejected high; the right trade was 11:27 6.35 (base 92 min after the low) to the 12:31 rejection (+1.3%).",
  "rule_candidates": [
   "B1 no buy after a climax",
   "E1 base after the low",
   "X1 volume climax at the high"
  ]
 },
 {
  "source": "trade_bot",
  "date": "2026-09-30",
  "symbol": "IMTX",
  "watched": [
   [
    "09:40",
    "10:10"
   ],
   [
    "11:10",
    "15:15"
   ]
  ],
  "day": {
   "open": 8.58,
   "high": 9.16,
   "low": 8.43,
   "close": 8.77,
   "open_to_close_pct": 2.21
  },
  "bot": {
   "entry_time": "14:31",
   "entry_price": 8.83,
   "exit_time": "14:40",
   "exit_price": 8.81,
   "pl": -3.76,
   "qty": 188,
   "exit_reason": "exit_v2 smooth break: smoothness 0.60 < 0.6 (trend broke)",
   "entry_reasons": [
    "v2: RVOL 3.5x, room 2.4%, buy share 62%, smoothness 0.87, straightness 0.52, VWAP +0.1%, stop 8.69"
   ],
   "entry_signals": {
    "time": "14:34",
    "price": 8.81,
    "vs_open_pct": 2.68,
    "vs_vwap_pct": -0.1,
    "day_low": 8.43,
    "day_low_time": "09:31",
    "min_since_low": 230,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 9.16,
    "below_high_pct": -3.82,
    "vol15x": 1.26,
    "max_volx_last30": 29.4,
    "no_new_low_min": 15,
    "tags": [
     "base after low (230 min)",
     "pullback to VWAP held"
    ]
   },
   "mfe_price": 8.83,
   "mfe_time": "15:14",
   "mfe_pct": 0.0,
   "mae_pct": -0.34,
   "hold_to_close_pl": -11.28
  },
  "right_watched": {
   "entry": {
    "time": "10:05",
    "price": 8.65,
    "vs_open_pct": 0.82,
    "vs_vwap_pct": -0.4,
    "day_low": 8.43,
    "day_low_time": "09:31",
    "min_since_low": 34,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 8.78,
    "below_high_pct": -1.48,
    "vol15x": 3.2,
    "max_volx_last30": 220.6,
    "no_new_low_min": 0,
    "tags": [
     "base after low (34 min)",
     "pullback to VWAP held"
    ]
   },
   "exit": {
    "time": "11:57",
    "price": 9.13,
    "vs_vwap_pct": 4.22,
    "bar_close_pos": 1.0,
    "bar_volx": 0.5,
    "max_volx_pm5": 341.8,
    "at_run_high": true,
    "next30_low_pct": -2.74,
    "tags": [
     "volume climax (341.8x)",
     "stretched 4.22% over VWAP"
    ]
   },
   "gain_pct": 5.55
  },
  "right_day": {
   "entry": {
    "time": "09:30",
    "price": 8.49,
    "vs_open_pct": -1.05,
    "vs_vwap_pct": -0.24,
    "day_low": 8.46,
    "day_low_time": "09:30",
    "min_since_low": 0,
    "low_held_open": false,
    "vwap_reclaim_last5": false,
    "high_so_far": 8.58,
    "below_high_pct": -1.05,
    "vol15x": 2.41,
    "max_volx_last30": 2.4,
    "no_new_low_min": 0,
    "tags": [
     "pullback to VWAP held"
    ]
   },
   "exit": {
    "time": "11:57",
    "price": 9.13,
    "vs_vwap_pct": 4.22,
    "bar_close_pos": 1.0,
    "bar_volx": 0.5,
    "max_volx_pm5": 341.8,
    "at_run_high": true,
    "next30_low_pct": -2.74,
    "tags": [
     "volume climax (341.8x)",
     "stretched 4.22% over VWAP"
    ]
   },
   "gain_pct": 7.54
  },
  "what_happened": "Bought 14:34 at 8.81, 3.8% under a top made at 11:57 on a huge volume climax (4.2% over VWAP); the afternoon faded and the smooth exit sold 8.81.",
  "suggestion": "THE TRADE WAS IN THE MORNING: 10:05 at 8.65 (base 34 min after the low, holding VWAP) to the 11:57 climax at 9.13 (+5.5%); v2 rejected 10:05 on buy share 33% and smoothness -0.47. Afternoon: after a climax top, no buys.",
  "rule_candidates": [
   "E1 base after the low",
   "E3 pullback to VWAP held",
   "X1 volume climax at the high",
   "B1 no buy after a climax"
  ]
 }
]