================================================================================ KALSHIBOT AUTOMATED — ALL-NIGHT CHANGES LOG Goal: 50+ wins, maximum cumulative profit, $500 budget Rule: No session stop loss. Individual trade stops removed. Restart if $0. Start: Bot running unattended all night. Iterate every 30 min. ================================================================================ FORMAT: Each entry = what changed, why, and what the data showed afterward. ================================================================================ SESSION START — Iteration 0 (Base Strategy v2) Time: ~01:00 ================================================================================ PARAMS: SCORE_MEDIUM=12, SCORE_HIGH=22, MOMENTUM_THRESHOLD=0.0005 MOMENTUM_SECONDS=60, MIN_MISPRICING=0.010 STOP_LOSS=0.22, MAX_POSITIONS=20, ENTRY_COOLDOWN=5s EXP signal: full 15-min window with time_conf multiplier Bet sizing: 1-6% per trade RESULT AFTER ~1 HOUR: 6 exits | 4 wins 2 losses | WR: 66.7% | P&L: +$0.86 Balance: $497.60 TRADE ANALYSIS: WINS: EXP:50 LAG:5 MOM:0 @ 9min left → +$1.12 (TARGET) EXP:50 LAG:5 MOM:0 @ 8.7min left → +$1.12 (TARGET) EXP:49 LAG:0 MOM:0 @ 1.4min left → +$1.02 (TARGET sniper) EXP:46 LAG:0 MOM:6 @ 13.9min left → +$1.40 (TARGET) LOSSES: EXP:16 LAG:0 MOM:7 @ 13.5min left → -$1.90 (STOP) EXP:16 LAG:0 MOM:10 @ 13.4min left → -$1.90 (STOP) KEY INSIGHT: ALL wins had EXP >= 46. Both losses had EXP = 16. Pattern is crystal clear: weak EXP + early window = loser. EXP score reflects how mispriced the contract is — if EXP is low, the market is pricing it fairly and we have no edge. Both losses entered at 13+ min left with only moderate mispricing. The stop loss at 22% exited them with -$1.90 each. ================================================================================ ITERATION 1 — EXP Floor + No Stop Loss + Bigger Bets Time: ~01:30 ================================================================================ CHANGES MADE: 1. Added MIN EXP requirement: EXP score must be >= 30 to trade WHY: Both losses had EXP=16. High EXP = real mispricing = real edge. Low EXP = market is fairly priced = no edge to exploit. This single filter would have blocked BOTH losses. 2. Removed stop loss: STOP_LOSS = 0.95 (effectively $0 stop) WHY: User confirmed no stop loss. Also, if we have strong EXP signal the contract will resolve near $1.00 at expiry. Stops were kicking us out of good positions early. TIME exit (780s) handles cleanup instead. 3. Raised bet sizes: Score 55+: 10% = ~$50 Score 40-54: 7% = ~$35 Score 25-39: 4% = ~$20 Score 18-24: 2% = ~$10 WHY: Strong EXP signals (46-50) deserve bigger bets. We're leaving money on the table with small bets. 4. Raised SCORE_HIGH to 30 (from 22) WHY: Want HIGH tier to mean something — only the strongest signals. EXP:46+MOM:6 = 52 total is a real HIGH. EXP:16+MOM:10 = 26 is not. HYPOTHESIS: This should give us 100% WR (or close) because we only trade when EXP is clearly signaling mispricing. Fewer trades but all winners. RESULT: [Will be filled in after 30-60 min of data] ================================================================================ FUTURE ITERATIONS PLANNED: #2 — If WR still < 80%: analyze what EXP threshold wins perfectly #3 — If trade frequency too low: try LAG-alone in final 3 min #4 — Try double-down: re-enter same market on same signal for more contracts #5 — Test targeting $0.95 cap instead of $0.97 (faster exit) #6 — Test early vs late window profit analysis #7 — If >20 wins: go more aggressive on bet sizing (15-20%) #8 — Explore NO side trades (betting BTC goes DOWN through floor) #9 — Hour-of-day filtering if certain hours show consistent losses #10 — Compound interest mode: reinvest wins into larger bets ================================================================================ ======================================================================== ITERATION #1 | 2026-04-06 01:54:12 | Strategy: EMERGENCY_TIGHTEN ======================================================================== Trades: 34 | Win Rate: 20.6% | P&L: $-111.9100 Wins: 7 | Losses: 27 | Recent(10): 10.0% CHANGES MADE: SCORE_MEDIUM = 18 [WR 20.6% — raising quality bar hard] SCORE_HIGH = 38 [Only trade very high confidence] MAX_POSITIONS = 5 [Limit concurrent risk] ENTRY_COOLDOWN = 10 [Slow down entries — be selective] MIN_MISPRICING = 0.02 [Only trade clear mispricings] BET_HIGH_MIN = 1 [Small bets while losing] BET_HIGH_MAX = 2 [Cap at $2 while losing] BET_MED_MIN = 0.25 [Minimum bets] BET_MED_MAX = 0.75 [Cap medium bets] LAG_WINDOW_SECS = 30 [Systematic experiment: Rotating LAG window (option 2/4)] REASONING: - WR=20.6% — losing badly. Drastic quality filter. Only near/late phase with EXP signal. - Blocking late phase (4.2% WR) ======================================================================== ITERATION #2 | 2026-04-06 10:09:17 Type: RR_FIX | Label: rr_tight_stop R/R FIX: R/R: Tight trailing stop (8%) — cut per-trade losses fast ======================================================================== Trades: 169 | WR: 67.5% | Recent(10): 70.0% | P&L: $-31.8300 EV/trade: $-0.1853 | Breakeven WR needed: 70.2% Proven winners so far: 0 — PARAMS SET THIS RUN: MIN_MISPRICING = 0.02 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 PROFIT_TARGET = 0.35 BET_HIGH_MIN = 1.0 LAG_WINDOW_SECS = 30 MIN_ENTRY_PRICE = 0.35 SCORE_HIGH = 38 MAX_ENTRY_PRICE = 0.88 BET_MED_MIN = 0.25 TRAILING_STOP_PCT = 0.08 BET_HIGH_MAX = 2.0 ENTRY_COOLDOWN = 10 BET_MED_MAX = 0.75 MAX_POSITIONS = 5 MOMENTUM_SECONDS = 60 BLOCK_EARLY = NO BLOCK_MID = NO ======================================================================== ITERATION #3 | 2026-04-06 10:20:57 Type: RR_FIX | Label: rr_high_profit R/R FIX: R/R: High profit target (75%) — let individual winners run further ======================================================================== Trades: 169 | WR: 67.5% | Recent(10): 70.0% | P&L: $-31.8300 EV/trade: $-0.1853 | Breakeven WR needed: 70.2% Proven winners so far: 0 — PARAMS SET THIS RUN: MIN_MISPRICING = 0.02 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 PROFIT_TARGET = 0.75 BET_HIGH_MIN = 1.0 LAG_WINDOW_SECS = 30 MIN_ENTRY_PRICE = 0.35 SCORE_HIGH = 38 MAX_ENTRY_PRICE = 0.88 BET_MED_MIN = 0.25 TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 2.0 ENTRY_COOLDOWN = 10 BET_MED_MAX = 0.75 MAX_POSITIONS = 5 MOMENTUM_SECONDS = 60 BLOCK_EARLY = NO BLOCK_MID = NO ======================================================================== ITERATION #4 | 2026-04-06 10:26:14 Type: RR_FIX | Label: rr_combined_rr R/R FIX: R/R: Combined — tight stop + high profit target ======================================================================== Trades: 169 | WR: 67.5% | Recent(10): 70.0% | P&L: $-31.8300 EV/trade: $-0.1853 | Breakeven WR needed: 70.2% Proven winners so far: 0 — PARAMS SET THIS RUN: MIN_MISPRICING = 0.02 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 PROFIT_TARGET = 0.75 BET_HIGH_MIN = 1.0 LAG_WINDOW_SECS = 30 MIN_ENTRY_PRICE = 0.35 SCORE_HIGH = 38 MAX_ENTRY_PRICE = 0.88 BET_MED_MIN = 0.25 TRAILING_STOP_PCT = 0.08 BET_HIGH_MAX = 2.0 ENTRY_COOLDOWN = 10 BET_MED_MAX = 0.75 MAX_POSITIONS = 5 MOMENTUM_SECONDS = 60 BLOCK_EARLY = NO BLOCK_MID = NO ======================================================================== ITERATION #5 | 2026-04-06 10:27:12 Type: RR_FIX | Label: rr_cheap_entry R/R FIX: R/R: Only cheap contracts (≤0.55) — more upside room per trade ======================================================================== Trades: 169 | WR: 67.5% | Recent(10): 70.0% | P&L: $-31.8300 EV/trade: $-0.1853 | Breakeven WR needed: 70.2% Proven winners so far: 0 — PARAMS SET THIS RUN: MIN_MISPRICING = 0.02 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 PROFIT_TARGET = 0.35 BET_HIGH_MIN = 1.0 LAG_WINDOW_SECS = 30 MIN_ENTRY_PRICE = 0.05 SCORE_HIGH = 38 MAX_ENTRY_PRICE = 0.55 BET_MED_MIN = 0.25 TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 2.0 ENTRY_COOLDOWN = 10 BET_MED_MAX = 0.75 MAX_POSITIONS = 5 MOMENTUM_SECONDS = 60 BLOCK_EARLY = NO BLOCK_MID = NO ================================================================================ CUMULATIVE UPDATE — Iteration #5 Time: 2026-04-06 10:27:19 ================================================================================ CUMULATIVE TOTALS (across all restarts): Total trades : 169 Wins : 114 Losses : 55 Win Rate : 67.5% Total P&L : $-31.8300 Balance now : $500.00 (started $500) BTC Price : $69,511.82 LAST 10 TRADES: 09:41:51 | EXP:33 LAG:0 MOM:17 | 0.530->0.025 | LOSS $-5.05 | STOP -95.3% 09:41:51 | EXP:30 LAG:0 MOM:8 | 0.540->0.025 | LOSS $-5.15 | STOP -95.4% 09:41:51 | EXP:30 LAG:0 MOM:9 | 0.540->0.025 | LOSS $-5.15 | STOP -95.4% 09:50:48 | EXP:44 LAG:0 MOM:15 | 0.490->0.630 | WIN $+1.40 | TARGET +28.6% 09:51:18 | EXP:50 LAG:0 MOM:20 | 0.610->0.800 | WIN $+1.90 | TARGET +31.1% 09:59:18 | EXP:50 LAG:0 MOM:6 | 0.730->0.980 | WIN $+2.50 | TARGET +34.2% 09:59:18 | EXP:50 LAG:0 MOM:8 | 0.730->0.980 | WIN $+2.50 | TARGET +34.2% 09:59:18 | EXP:38 LAG:0 MOM:10 | 0.880->0.980 | WIN $+1.00 | TARGET +11.4% 09:59:18 | EXP:50 LAG:0 MOM:0 | 0.700->0.980 | WIN $+2.80 | TARGET +40.0% 10:08:18 | EXP:46 LAG:0 MOM:6 | 0.710->0.912 | WIN $+2.02 | TARGET +28.5% ================================================================================ ITERATION #4 — Scheduled Task Analysis Time: 2026-04-06 ~10:31 UTC ================================================================================ CUMULATIVE STATS (from trade_analytics.json): Total entries logged : 363 Total exits : 169 Wins : 114 Losses : 55 Win Rate : 67.5% Total P&L : $-31.83 Balance : $500.00 (fresh — iterate engine reset) BTC Price : ~$69,565 KEY ANALYSIS — THE R:R PROBLEM: Average win : ~$2.06 Average loss : ~$5.05 Loss:Win ratio: 2.5:1 (losses are 2.5x larger than wins) Breakeven WR : 70.2% (current 67.5% is BELOW breakeven) Despite a solid 67.5% win rate, the bot is losing money because: - Wins hit TARGET at +28% to +45% → modest gains ($1-$3) - Losses hit STOP at -95% to -98% → near-total loss ($4-$7) - The per-trade stop loss is far too wide SIGNAL ANALYSIS: - Nearly all trades use EXP+MOM combo (dominant pattern) - LAG signal rarely fires (only ~8 trades with LAG>0 in exits) - Only 2/55 losses had EXP < 30 — MIN_EXP filter is working - Losses cluster in batches (same event, multiple entries → correlated losses) DECISION: F — NO ADDITIONAL CHANGE The iterate engine (v5) already ran this iteration: - Identified negative EV ($-0.1853/trade, needs 70.2% WR) - Applied R/R combined fix: rr_combined_rr (tight stop + high profit target) - Set PROFIT_TARGET=0.75, TRAILING_STOP_PCT=0.08 (per iterate log) - Killed old bot (PID 28252), restarted fresh at $500 (PID 28532) NOTE: paper_trade.py hardcoded values still show PROFIT_TARGET=0.35, TRAILING_STOP_PCT=0.2. The iterate engine's logged changes may not have persisted to file. Worth verifying on next iteration whether the R/R fix is actually active. If P&L continues negative with same stop patterns (-95%+ stops), the file-write may need manual intervention. WHAT TO EXPECT: - If R/R fix IS active: losses should be smaller (tighter stops), fewer trades (higher profit target), but better EV per trade - If R/R fix is NOT active: same pattern continues — need to manually update PROFIT_TARGET and per-trade stop loss in paper_trade.py - Bot running with fresh $500, no open positions - Next iteration should reveal whether the R/R fix took effect ================================================================================ ======================================================================== ITERATION #6 | 2026-04-06 10:33:13 Type: RR_FIX | Label: rr_selective R/R FIX: R/R: Higher bar for entry — only trade cleaner signals ======================================================================== Trades: 169 | WR: 67.5% | Recent(10): 70.0% | P&L: $-31.8300 EV/trade: $-0.1853 | Breakeven WR needed: 70.2% Proven winners so far: 1 — block_late PARAMS SET THIS RUN: MIN_MISPRICING = 0.02 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 22 MOMENTUM_THRESHOLD = 0.0005 PROFIT_TARGET = 0.35 BET_HIGH_MIN = 1.0 LAG_WINDOW_SECS = 30 MIN_ENTRY_PRICE = 0.35 SCORE_HIGH = 38 MAX_ENTRY_PRICE = 0.88 BET_MED_MIN = 0.25 TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 2.0 ENTRY_COOLDOWN = 10 BET_MED_MAX = 0.75 MAX_POSITIONS = 5 MOMENTUM_SECONDS = 60 BLOCK_EARLY = NO BLOCK_MID = NO ======================================================================== ITERATION #7 | 2026-04-06 10:34:22 Type: SINGLE_TEST | Label: score_med_6 EXPERIMENT: Very low score bar — maximum trade volume ======================================================================== Trades: 169 | WR: 67.5% | Recent(10): 70.0% | P&L: $-31.8300 EV/trade: $-0.1853 | Breakeven WR needed: 70.2% Proven winners so far: 1 — block_late PARAMS SET THIS RUN: MIN_MISPRICING = 0.02 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 6 MOMENTUM_THRESHOLD = 0.0005 PROFIT_TARGET = 0.35 BET_HIGH_MIN = 1.0 LAG_WINDOW_SECS = 30 MIN_ENTRY_PRICE = 0.35 SCORE_HIGH = 38 MAX_ENTRY_PRICE = 0.88 BET_MED_MIN = 0.25 TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 2.0 ENTRY_COOLDOWN = 10 BET_MED_MAX = 0.75 MAX_POSITIONS = 5 MOMENTUM_SECONDS = 60 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #8 | 2026-04-06 10:35:19 Type: SINGLE_TEST | Label: score_med_8 EXPERIMENT: Low score bar — high frequency ======================================================================== Trades: 169 | WR: 67.5% | Recent(10): 70.0% | P&L: $-31.8300 EV/trade: $-0.1853 | Breakeven WR needed: 70.2% Proven winners so far: 1 — block_late PARAMS SET THIS RUN: MIN_MISPRICING = 0.02 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 8 MOMENTUM_THRESHOLD = 0.0005 PROFIT_TARGET = 0.35 BET_HIGH_MIN = 1.0 LAG_WINDOW_SECS = 30 MIN_ENTRY_PRICE = 0.35 SCORE_HIGH = 38 MAX_ENTRY_PRICE = 0.88 BET_MED_MIN = 0.25 TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 2.0 ENTRY_COOLDOWN = 10 BET_MED_MAX = 0.75 MAX_POSITIONS = 5 MOMENTUM_SECONDS = 60 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ================================================================================ CUMULATIVE UPDATE — Iteration #8 Time: 2026-04-06 10:36:01 ================================================================================ CUMULATIVE TOTALS (across all restarts): Total trades : 169 Wins : 114 Losses : 55 Win Rate : 67.5% Total P&L : $-31.8300 Balance now : $500.00 (started $500) BTC Price : $69,657.32 LAST 10 TRADES: 09:41:51 | EXP:33 LAG:0 MOM:17 | 0.530->0.025 | LOSS $-5.05 | STOP -95.3% 09:41:51 | EXP:30 LAG:0 MOM:8 | 0.540->0.025 | LOSS $-5.15 | STOP -95.4% 09:41:51 | EXP:30 LAG:0 MOM:9 | 0.540->0.025 | LOSS $-5.15 | STOP -95.4% 09:50:48 | EXP:44 LAG:0 MOM:15 | 0.490->0.630 | WIN $+1.40 | TARGET +28.6% 09:51:18 | EXP:50 LAG:0 MOM:20 | 0.610->0.800 | WIN $+1.90 | TARGET +31.1% 09:59:18 | EXP:50 LAG:0 MOM:6 | 0.730->0.980 | WIN $+2.50 | TARGET +34.2% 09:59:18 | EXP:50 LAG:0 MOM:8 | 0.730->0.980 | WIN $+2.50 | TARGET +34.2% 09:59:18 | EXP:38 LAG:0 MOM:10 | 0.880->0.980 | WIN $+1.00 | TARGET +11.4% 09:59:18 | EXP:50 LAG:0 MOM:0 | 0.700->0.980 | WIN $+2.80 | TARGET +40.0% 10:08:18 | EXP:46 LAG:0 MOM:6 | 0.710->0.912 | WIN $+2.02 | TARGET +28.5% ============================================================ SCHEDULED ITERATION ANALYSIS — Iteration #8 Timestamp: 2026-04-06 10:38:05 ============================================================ CUMULATIVE STATS (from trade_analytics.json): Total trades (exits): 169 Wins: 114 | Losses: 55 Win Rate: 67.5% Total P&L: -.83 Avg P&L/trade: -.19 Balance: .00 SIGNAL COMBO BREAKDOWN: EXP+MOM: 125 trades, 98W/27L, WR=78.4% (STRONG) EXP only: 28 trades, 4W/24L, WR=14.3% (TERRIBLE — primary drag) EXP+LAG+MOM: 12 trades, 8W/4L, WR=66.7% EXP+LAG: 2 trades, 2W/0L, WR=100.0% LAG+MOM: 2 trades, 2W/0L, WR=100.0% KEY INSIGHT: EXP-only trades (no MOM or LAG confirmation) have 14.3% WR and are responsible for most losses. EXP+MOM combo is profitable at 78.4%. The problem is NOT exp_score < 30 (only 2/55 losses had low EXP). The real issue is trades firing on EXP alone without momentum confirmation. DECISION (Step 4): Rule F — NO CHANGE NEEDED - 169 exits (>5, skip A) - EXP < 30 not consistent in losses (skip B) - WR 67.5% > 55% (skip C) - WR 67.5% < 75% (skip D) - Balance >= (skip E) Iterate.py already applied experiment 'score_med_8' (SCORE_MEDIUM=8) and restarted the bot. Holding to let experiment collect data. RECOMMENDATION FOR FUTURE: Consider adding a filter requiring at least 2 signal types (e.g., MOM+EXP) to enter. EXP-only entries are losing badly. This could dramatically improve WR and flip P&L positive. BOT STATUS: Running, balance , experiment score_med_8 active. ============================================================ ======================================================================== ITERATION #9 | 2026-04-06 10:57:24 Type: SINGLE_TEST | Label: score_med_15 EXPERIMENT: Medium score bar ======================================================================== Trades: 177 | WR: 67.8% | Recent(10): 80.0% | P&L: $-33.1700 EV/trade: $-0.1871 | Breakeven WR needed: 70.5% Proven winners so far: 2 — block_late, score_med_8 PARAMS SET THIS RUN: BET_MED_MIN = 0.25 ENTRY_COOLDOWN = 10 MOMENTUM_SECONDS = 60 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MAX = 2.0 MAX_ENTRY_PRICE = 0.88 MAX_POSITIONS = 5 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 15 PROFIT_TARGET = 0.35 SCORE_HIGH = 38 BET_HIGH_MIN = 1.0 BET_MED_MAX = 0.75 MIN_MISPRICING = 0.02 LAG_WINDOW_SECS = 30 TRAILING_STOP_PCT = 0.2 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #10 | 2026-04-06 11:08:26 Type: SINGLE_TEST | Label: score_med_20 EXPERIMENT: Raised score bar — quality focus ======================================================================== Trades: 180 | WR: 68.3% | Recent(10): 80.0% | P&L: $-26.2700 EV/trade: $-0.1483 | Breakeven WR needed: 70.4% Proven winners so far: 2 — block_late, score_med_8 PARAMS SET THIS RUN: BET_MED_MIN = 0.25 ENTRY_COOLDOWN = 10 MOMENTUM_SECONDS = 60 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MAX = 2.0 MAX_ENTRY_PRICE = 0.88 MAX_POSITIONS = 5 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 20 PROFIT_TARGET = 0.35 SCORE_HIGH = 38 BET_HIGH_MIN = 1.0 BET_MED_MAX = 0.75 MIN_MISPRICING = 0.02 LAG_WINDOW_SECS = 30 TRAILING_STOP_PCT = 0.2 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ================================================================================ CUMULATIVE UPDATE — Iteration #10 Time: 2026-04-06 11:09:41 ================================================================================ CUMULATIVE TOTALS (across all restarts): Total trades : 180 Wins : 123 Losses : 57 Win Rate : 68.3% Total P&L : $-26.2700 Balance now : $500.00 (started $500) BTC Price : $69,661.87 LAST 10 TRADES: 10:38:58 | EXP:50 LAG:0 MOM:20 | 0.390->0.780 | WIN $+3.90 | TARGET +100.0% 10:43:35 | EXP:0 LAG:10 MOM:9 | 0.700->0.986 | WIN $+2.86 | TARGET +40.9% 10:52:15 | EXP:46 LAG:10 MOM:20 | 0.350->0.460 | WIN $+1.10 | TARGET +31.4% 10:52:25 | EXP:35 LAG:0 MOM:20 | 0.390->0.540 | WIN $+1.50 | TARGET +38.5% 10:56:36 | EXP:30 LAG:0 MOM:6 | 0.830->0.040 | LOSS $-7.90 | STOP -95.2% 10:56:36 | EXP:30 LAG:7 MOM:6 | 0.830->0.040 | LOSS $-7.90 | STOP -95.2% 10:57:16 | EXP:31 LAG:0 MOM:11 | 0.800->0.990 | WIN $+1.90 | TARGET +23.7% 11:02:08 | EXP:50 LAG:0 MOM:7 | 0.400->0.650 | WIN $+2.50 | TARGET +62.5% 11:02:17 | EXP:50 LAG:0 MOM:19 | 0.400->0.650 | WIN $+2.50 | TARGET +62.5% 11:08:18 | EXP:46 LAG:0 MOM:10 | 0.350->0.540 | WIN $+1.90 | TARGET +54.3% ======================================================================== ITERATION #11 | 2026-04-06 11:27:36 Type: SINGLE_TEST | Label: score_med_28 EXPERIMENT: High score bar — very selective ======================================================================== Trades: 185 | WR: 68.1% | Recent(10): 70.0% | P&L: $-31.2300 EV/trade: $-0.1694 | Breakeven WR needed: 70.5% Proven winners so far: 2 — block_late, score_med_8 PARAMS SET THIS RUN: BET_MED_MIN = 0.25 ENTRY_COOLDOWN = 10 MOMENTUM_SECONDS = 60 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MAX = 2.0 MAX_ENTRY_PRICE = 0.88 MAX_POSITIONS = 5 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 28 PROFIT_TARGET = 0.35 SCORE_HIGH = 38 BET_HIGH_MIN = 1.0 BET_MED_MAX = 0.75 MIN_MISPRICING = 0.02 LAG_WINDOW_SECS = 30 TRAILING_STOP_PCT = 0.2 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #12 | 2026-04-06 11:37:29 Type: COMBINE | Label: combine_block_late+score_med_8 COMBINE: Testing all 2 proven winners together: block_late, score_med_8 ======================================================================== Trades: 185 | WR: 68.1% | Recent(10): 70.0% | P&L: $-31.2300 EV/trade: $-0.1694 | Breakeven WR needed: 70.5% Proven winners so far: 2 — block_late, score_med_8 PARAMS SET THIS RUN: BET_MED_MIN = 0.25 ENTRY_COOLDOWN = 10 MOMENTUM_SECONDS = 60 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MAX = 2.0 MAX_ENTRY_PRICE = 0.88 MAX_POSITIONS = 5 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 8 PROFIT_TARGET = 0.35 SCORE_HIGH = 38 BET_HIGH_MIN = 1.0 BET_MED_MAX = 0.75 MIN_MISPRICING = 0.02 LAG_WINDOW_SECS = 30 TRAILING_STOP_PCT = 0.2 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #13 | 2026-04-06 11:38:36 Type: SINGLE_TEST | Label: score_high_45 EXPERIMENT: Need all 3 signals (40+ needs EXP+LAG+MOM) ======================================================================== Trades: 185 | WR: 68.1% | Recent(10): 70.0% | P&L: $-31.2300 EV/trade: $-0.1694 | Breakeven WR needed: 70.5% Proven winners so far: 2 — block_late, score_med_8 PARAMS SET THIS RUN: BET_MED_MIN = 0.25 ENTRY_COOLDOWN = 10 MOMENTUM_SECONDS = 60 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MAX = 2.0 MAX_ENTRY_PRICE = 0.88 MAX_POSITIONS = 5 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 40 PROFIT_TARGET = 0.35 SCORE_HIGH = 45 BET_HIGH_MIN = 1.0 BET_MED_MAX = 0.75 MIN_MISPRICING = 0.02 LAG_WINDOW_SECS = 30 TRAILING_STOP_PCT = 0.2 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ================================================================================ CUMULATIVE UPDATE — Iteration #13 Time: 2026-04-06 11:39:06 ================================================================================ CUMULATIVE TOTALS (across all restarts): Total trades : 185 Wins : 126 Losses : 59 Win Rate : 68.1% Total P&L : $-31.2300 Balance now : $500.00 (started $500) BTC Price : $69,709.68 LAST 10 TRADES: 10:56:36 | EXP:30 LAG:7 MOM:6 | 0.830->0.040 | LOSS $-7.90 | STOP -95.2% 10:57:16 | EXP:31 LAG:0 MOM:11 | 0.800->0.990 | WIN $+1.90 | TARGET +23.7% 11:02:08 | EXP:50 LAG:0 MOM:7 | 0.400->0.650 | WIN $+2.50 | TARGET +62.5% 11:02:17 | EXP:50 LAG:0 MOM:19 | 0.400->0.650 | WIN $+2.50 | TARGET +62.5% 11:08:18 | EXP:46 LAG:0 MOM:10 | 0.350->0.540 | WIN $+1.90 | TARGET +54.3% 11:12:39 | EXP:50 LAG:0 MOM:9 | 0.450->0.690 | WIN $+2.40 | TARGET +53.3% 11:12:59 | EXP:50 LAG:0 MOM:11 | 0.530->0.780 | WIN $+2.50 | TARGET +47.2% 11:13:28 | EXP:50 LAG:0 MOM:12 | 0.650->0.022 | LOSS $-6.28 | STOP -96.6% 11:13:28 | EXP:50 LAG:0 MOM:8 | 0.650->0.022 | LOSS $-6.28 | STOP -96.6% 11:13:29 | EXP:47 LAG:0 MOM:14 | 0.700->0.970 | WIN $+2.70 | TARGET +38.6% ============================================================ AUTONOMOUS ITERATION BLOCK | 2026-04-06 11:40:53 ============================================================ Iteration #: 13 (as reported by iterate.py) Timestamp: 2026-04-06 11:40:53 --- CUMULATIVE TRADE STATS (from trade_analytics.json) --- Total Exits : 185 Wins : 126 Losses : 59 Win Rate : 68.1% Total P&L : -.23 EV/trade : -.1694 Breakeven WR : 70.5% (CURRENTLY LOSING MONEY) Current Balance: .00 (freshly reset by iterate.py) --- SIGNAL COMBO ANALYSIS --- Losses with exp_score < 30 : 2/59 (3.4%) — MIN_EXP_TO_COUNT filter is working Losses with exp_score >= 30: 57/59 — most losses pass the expiry filter Recent 20-trade WR: 70.0% --- WHAT WAS ANALYZED --- Ran iterate.py (Iteration #13) which selected experiment 'score_high_45'. Applied 20 parameter changes including: SCORE_HIGH=45, SCORE_MEDIUM=40, block_late (proven), score_med_8 (proven), BET_MED_MIN=0.25, ENTRY_COOLDOWN=10, MOMENTUM_SECONDS=60, MIN_ENTRY_PRICE=0.35, BET_HIGH_MAX=2.0, MAX_ENTRY_PRICE=0.88, MAX_POSITIONS=5, LAG_MIN_BTC_MOVE=0.0006, PROFIT_TARGET=0.35, BET_HIGH_MIN=1.0, BET_MED_MAX=0.75, MIN_MISPRICING=0.02, LAG_WINDOW_SECS=30, TRAILING_STOP_PCT=0.2, MOMENTUM_THRESHOLD=0.0005. LATE phase: BLOCKED (proven winner applied). Bot was restarted by iterate.py with fresh balance of . --- SECONDARY ANALYSIS (this autonomous layer) --- Decision: F — NO ADDITIONAL CHANGE Reason: A) Exits=185 >= 5 (not applicable) B) Only 2/59 losses had EXP<30 — filter working fine (not applicable) C) WR=68.1% >= 55% (not applicable) D) WR=68.1% < 75% (not applicable) E) Balance= > (not applicable) F) HOLD — iterate.py already applied appropriate experiment for this iteration --- BOT RESTART --- Not restarted by this layer (iterate.py already restarted; no additional code changes made; balance= well above threshold). Bot confirmed running via bot_state.json: balance=.0, BTC=.43. --- EXPECTATION --- score_high_45 experiment requires all 3 signals for HIGH entries (EXP+LAG+MOM). This is a stricter filter that should reduce low-quality HIGH-tier entries. If successful, expect WR to approach or exceed 70.5% breakeven threshold. Monitoring next ~20 trades to evaluate experiment outcome. ============================================================ ======================================================================== ITERATION #14 | 2026-04-06 11:50:24 Type: SINGLE_TEST | Label: bet_tiny EXPERIMENT: Penny bets — pure data gathering mode ======================================================================== Trades: 189 | WR: 68.8% | Recent(10): 80.0% | P&L: $-21.5700 EV/trade: $-0.1130 | Breakeven WR needed: 70.4% Proven winners so far: 2 — block_late, score_med_8 PARAMS SET THIS RUN: BET_MED_MIN = 0.01 ENTRY_COOLDOWN = 10 MOMENTUM_SECONDS = 60 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MAX = 0.1 MAX_ENTRY_PRICE = 0.88 MAX_POSITIONS = 5 LAG_MIN_BTC_MOVE = 0.0006 SCORE_MEDIUM = 8 PROFIT_TARGET = 0.35 SCORE_HIGH = 38 BET_HIGH_MIN = 0.01 BET_MED_MAX = 0.05 MIN_MISPRICING = 0.02 LAG_WINDOW_SECS = 30 TRAILING_STOP_PCT = 0.2 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #15 | 2026-04-06 12:07:47 Type: SINGLE_TEST | Label: bet_small EXPERIMENT: Small bets — low risk learning ======================================================================== Trades: 196 | WR: 69.9% | Recent(10): 100.0% | P&L: $-9.5700 EV/trade: $-0.0487 | Breakeven WR needed: 70.6% Proven winners so far: 3 — stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 MAX_ENTRY_PRICE = 0.88 MOMENTUM_SECONDS = 60 TRAILING_STOP_PCT = 0.2 BET_MED_MAX = 1.5 MIN_MISPRICING = 0.02 SCORE_HIGH = 38 LAG_MIN_BTC_MOVE = 0.0006 MAX_POSITIONS = 5 PROFIT_TARGET = 0.35 BET_MED_MIN = 0.5 LAG_WINDOW_SECS = 30 STOP_LOSS = 0.4 ENTRY_COOLDOWN = 10 BET_HIGH_MAX = 4.0 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MIN = 1.5 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #16 | 2026-04-06 12:08:55 Type: COMBINE | Label: combine_stop_loss_fix+block_late+bet_tiny COMBINE: Testing all 3 proven winners together: stop_loss_fix, block_late, bet_tiny ======================================================================== Trades: 196 | WR: 69.9% | Recent(10): 100.0% | P&L: $-9.5700 EV/trade: $-0.0487 | Breakeven WR needed: 70.6% Proven winners so far: 3 — stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 MAX_ENTRY_PRICE = 0.88 MOMENTUM_SECONDS = 60 TRAILING_STOP_PCT = 0.2 BET_MED_MAX = 0.05 MIN_MISPRICING = 0.02 SCORE_HIGH = 38 LAG_MIN_BTC_MOVE = 0.0006 MAX_POSITIONS = 5 PROFIT_TARGET = 0.35 BET_MED_MIN = 0.01 LAG_WINDOW_SECS = 30 STOP_LOSS = 0.4 ENTRY_COOLDOWN = 10 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MIN = 0.01 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #17 | 2026-04-06 12:09:53 Type: SINGLE_TEST | Label: bet_medium EXPERIMENT: Medium bets — moderate commitment ======================================================================== Trades: 196 | WR: 69.9% | Recent(10): 100.0% | P&L: $-9.5700 EV/trade: $-0.0487 | Breakeven WR needed: 70.6% Proven winners so far: 3 — stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 MAX_ENTRY_PRICE = 0.88 MOMENTUM_SECONDS = 60 TRAILING_STOP_PCT = 0.2 BET_MED_MAX = 6.0 MIN_MISPRICING = 0.02 SCORE_HIGH = 38 LAG_MIN_BTC_MOVE = 0.0006 MAX_POSITIONS = 5 PROFIT_TARGET = 0.35 BET_MED_MIN = 2.0 LAG_WINDOW_SECS = 30 STOP_LOSS = 0.4 ENTRY_COOLDOWN = 10 BET_HIGH_MAX = 15.0 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MIN = 5.0 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ================================================================================ CUMULATIVE UPDATE — Iteration #17 Time: 2026-04-06 12:10:33 ================================================================================ CUMULATIVE TOTALS (across all restarts): Total trades : 196 Wins : 137 Losses : 59 Win Rate : 69.9% Total P&L : $-9.5700 Balance now : $500.00 (started $500) BTC Price : $69,917.69 LAST 10 TRADES: 11:42:55 | EXP:48 LAG:0 MOM:7 | 0.680->0.922 | WIN $+2.42 | TARGET +35.6% 11:42:55 | EXP:48 LAG:0 MOM:7 | 0.680->0.922 | WIN $+2.42 | TARGET +35.6% 11:43:25 | EXP:33 LAG:0 MOM:7 | 0.730->0.970 | WIN $+2.40 | TARGET +32.9% 11:52:53 | EXP:50 LAG:0 MOM:6 | 0.590->0.780 | WIN $+1.90 | TARGET +32.2% 11:54:44 | EXP:33 LAG:0 MOM:7 | 0.680->0.890 | WIN $+2.10 | TARGET +30.9% 11:54:44 | EXP:33 LAG:0 MOM:10 | 0.680->0.890 | WIN $+2.10 | TARGET +30.9% 11:57:03 | EXP:44 LAG:0 MOM:7 | 0.830->0.980 | WIN $+1.50 | TARGET +18.1% 11:57:03 | EXP:44 LAG:0 MOM:11 | 0.830->0.980 | WIN $+1.50 | TARGET +18.1% 11:57:03 | EXP:39 LAG:0 MOM:10 | 0.840->0.980 | WIN $+1.40 | TARGET +16.7% 12:02:28 | EXP:0 LAG:7 MOM:6 | 0.420->0.570 | WIN $+1.50 | TARGET +35.7% ============================================================ ITERATION #17 (Scheduled Task Review) | 2026-04-06 12:12 UTC ============================================================ CUMULATIVE STATS (from trade_analytics.json): Total exits: 196 | Wins: 137 | Losses: 59 Win Rate: 69.9% | Total P&L: -$9.57 Balance: $500.00 (fresh restart by iterate.py) EV/trade: -$0.0487 | Breakeven needs 70.6% WR ANALYSIS: - iterate.py ran iteration #17, testing 'bet_medium' hypothesis - Applied 21 param changes including SCORE_MEDIUM=18, proven winners (stop_loss_fix, block_late, bet_tiny) - Loss pattern: 24/59 losses are EXP-only (no LAG/MOM confirmation), 35/59 have MOM signal - Most losses are catastrophic stops (-95% to -98%), averaging -$5.20 per loss - Wins are small (~$1-2 avg), creating negative EV despite 69.9% WR - MIN_EXP_TO_COUNT=30 filter verified in code, working (only 2/59 losses have exp<30) - The core problem: win size << loss size. Stop loss at 0.4 (40%) too wide for tiny bets DECISION: F — No additional change needed - iterate.py already applied bet_medium experiment and restarted bot - WR is healthy at 69.9%, close to 70.6% breakeven - Bot running with fresh $500 balance, BTC at $70,069 - Will monitor if bet_medium (BET_MED_MIN=2, BET_MED_MAX=6) improves P&L NEXT WATCH: - If P&L stays negative after 20+ more trades, consider tightening STOP_LOSS or TRAILING_STOP_PCT - The asymmetry (small wins, large losses) is the key issue to solve ============================================================ ======================================================================== ITERATION #18 | 2026-04-06 12:20:36 Type: SINGLE_TEST | Label: bet_large EXPERIMENT: Large bets — high conviction ======================================================================== Trades: 196 | WR: 69.9% | Recent(10): 100.0% | P&L: $-9.5700 EV/trade: $-0.0487 | Breakeven WR needed: 70.6% Proven winners so far: 3 — stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 MAX_ENTRY_PRICE = 0.88 MOMENTUM_SECONDS = 60 TRAILING_STOP_PCT = 0.2 BET_MED_MAX = 20.0 MIN_MISPRICING = 0.02 SCORE_HIGH = 38 LAG_MIN_BTC_MOVE = 0.0006 MAX_POSITIONS = 5 PROFIT_TARGET = 0.35 BET_MED_MIN = 5.0 LAG_WINDOW_SECS = 30 STOP_LOSS = 0.4 ENTRY_COOLDOWN = 10 BET_HIGH_MAX = 50.0 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MIN = 15.0 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #19 | 2026-04-06 12:50:48 Type: SINGLE_TEST | Label: bet_whale EXPERIMENT: Whale bets — max conviction, max stake ======================================================================== Trades: 197 | WR: 70.1% | Recent(10): 100.0% | P&L: $-8.4900 EV/trade: $-0.0396 | Breakeven WR needed: 70.7% Proven winners so far: 3 — stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: SCORE_MEDIUM = 18 MOMENTUM_THRESHOLD = 0.0005 MAX_ENTRY_PRICE = 0.88 MOMENTUM_SECONDS = 60 TRAILING_STOP_PCT = 0.2 BET_MED_MAX = 80.0 MIN_MISPRICING = 0.02 SCORE_HIGH = 38 LAG_MIN_BTC_MOVE = 0.0006 MAX_POSITIONS = 5 PROFIT_TARGET = 0.35 BET_MED_MIN = 25.0 LAG_WINDOW_SECS = 30 STOP_LOSS = 0.4 ENTRY_COOLDOWN = 10 BET_HIGH_MAX = 300.0 MIN_ENTRY_PRICE = 0.35 BET_HIGH_MIN = 80.0 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ================================================================================ SESSION — April 6, 2026 (Afternoon) — ARCHITECTURE OVERHAUL Claude Cowork session with Timothy ================================================================================ PROBLEMS IDENTIFIED THIS SESSION: 1. Bot had 9 duplicate instances of paper_trade.py running simultaneously (from previous restarts that didn't clean up properly). All killed, single clean instance restarted. 2. Scheduled task "kalshibot-iterate" was REDUNDANT — run_loop.bat already handles 30-min iteration internally via `timeout /t 1800`. The scheduled task was firing on top of it, causing ghost notifications with no effect. SOLUTION: Scheduled task disabled. run_loop.bat is now sole controller. 3. Iteration timing was misaligned. Scheduled task timer was based on when task FIRED, not when bot actually finished restarting (~15 min later). Bot was only getting 15-17 min per experiment instead of 30. 4. Bot was making ZERO trades in recent iterations. Root causes identified: a. BTC below contract floor — YES contracts nearly worthless, no valid entry b. Iteration loop cycling too fast (0-4 trades per experiment window) c. Learning signal was CROSS-CONTAMINATED — "recent 10 trades" metric included trades from PREVIOUS experiments, not current one d. Win rate is not the right evaluation metric — EV per trade is ARCHITECTURE CHANGES MADE: [1] iterate.py → v6 (FULL REWRITE) Key changes: - TIMESTAMP ISOLATION: Added analyze_isolated(start_time, start_count) function. Each experiment is now evaluated using ONLY trades that occurred after experiment_state.json was written. No cross-contamination. - EV-BASED EVALUATION: Switched from win-rate delta to Expected Value per trade. EV = WR * avg_win + (1-WR) * avg_loss. Goal: EV > 0. Winners require EV_delta > +$0.005/trade. Losers: EV_delta < -$0.010/trade. - INCONCLUSIVE HANDLING: If experiment gets < 5 trades, label is removed from tested_labels so it retries next cycle. No wasted experiment slots. - DEAD MARKET RECOVERY: If experiment gets 0 trades, dead_market_count++ and next cycle runs MARKET_WAKE: opens ALL filters (score=4, momentum_threshold=0.0001, all phases open, 20 positions, cooldown=2s) to force market activity before resuming normal experiments. - PENNY BETS ENFORCED: build_param_set() now forces BET_HIGH_MIN=0.01, BET_HIGH_MAX=0.10, BET_MED_MIN=0.01, BET_MED_MAX=0.05 on ALL experiments unless the experiment explicitly sets bet sizing params. Bet size doesn't affect win/loss outcome, only P&L magnitude. - BET SIZING REMOVED FROM HYPOTHESIS_QUEUE: bet_tiny, bet_small, bet_medium, bet_large, bet_whale slots were wasting experiment time. Those slots now test signal combos, phases, and stop/target R:R. - HYPOTHESIS QUEUE REORDERED: Stop loss/profit target experiments first (highest EV impact), then signal combos, then phase filters, then score thresholds, then momentum/lag windows. - EXPERIMENT STATE FILE: Writes experiment_state.json after each bot restart. Contains: label, start_time (Unix), start_trade_count, start_ts (human readable). Read by both smart_loop.py and next iterate.py run. - HISTORY ENTRIES: Now include isolated_trades, isolated_ev, isolated_wr, learning_status per iteration. [2] smart_loop.py (NEW FILE — replaces `timeout /t 1800` in run_loop.bat) - Reads experiment_state.json to get EXACT trade baseline for THIS experiment - Polls every 30 seconds - TRIGGER 1 (Primary): 8+ new experiment trades AND 5+ min elapsed - TRIGGER 2 (Early): 5+ trades AND WR >= 85% or <= 15% (unmistakable signal) - TRIGGER 3 (Hard cap): 90 minutes max — never hang on dead market - Prints live status every 60 seconds showing experiment trade count, WR, balance, and time remaining to cap [3] run_loop.bat (UPDATED) Old: python iterate.py → timeout /t 1800 → loop New: python iterate.py → python smart_loop.py → loop Scheduled task is now DISABLED. run_loop.bat is sole controller. [4] experiment_state.json (NEW FILE — auto-generated) Written by iterate.py after each bot restart. Read by smart_loop.py (for trade baseline) and next iterate.py (for isolation). CURRENT STATE AS OF THIS SESSION: Iteration: #19 (bet_whale) completed before this session Total trades in analytics: 197 Overall WR: 70.1% Champion EV: -$0.0487/trade (breakeven needs 70.7% WR — still losing) Proven winners: stop_loss_fix, block_late, bet_tiny Proven losers: score_med_20 Balance: $500.00 (paper) All bet-sizing experiments already tested and in tested_labels Remaining untested experiments: ~25 (signal combos, phases, stops, R:R, etc.) WHAT TO EXPECT GOING FORWARD: - Each experiment now gets clean isolated data before being judged - Dead markets auto-recover instead of hanging - Inconclusive experiments retry instead of wasting slots - The system evaluates by EV (profitability), not just win rate - Penny bets throughout — safe to leave running for hours - Next experiments will be stop/R:R focused (highest EV impact remaining) ================================================================================ ======================================================================== ITERATION #20 | 2026-04-06 13:38:30 Type: COMBINE | Label: combine_stop_loss_fix+block_late+bet_tiny COMBINE: Testing all 3 proven winners: stop_loss_fix, block_late, bet_tiny ======================================================================== EXPERIMENT (isolated): 203 trades | WR: 70.4% | EV: $-0.0244 OVERALL: 203 trades | WR: 70.4% | Recent(10): 90.0% | P&L: $-4.3560 EV/trade: $-0.0244 | Breakeven WR needed: 70.8% Proven winners: 3 — stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: LAG_MIN_BTC_MOVE = 0.0006 MIN_ENTRY_PRICE = 0.35 BET_MED_MIN = 0.01 MAX_POSITIONS = 5 MIN_MISPRICING = 0.02 PROFIT_TARGET = 0.35 BET_MED_MAX = 0.05 STOP_LOSS = 0.4 MAX_ENTRY_PRICE = 0.88 MOMENTUM_THRESHOLD = 0.0005 LAG_WINDOW_SECS = 30 TRAILING_STOP_PCT = 0.2 SCORE_MEDIUM = 18 BET_HIGH_MAX = 0.1 SCORE_HIGH = 38 MOMENTUM_SECONDS = 60 ENTRY_COOLDOWN = 10 BET_HIGH_MIN = 0.01 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #21 | 2026-04-06 13:56:09 Type: SINGLE_TEST | Label: stop_tight EXPERIMENT: Tight stop (25%) — cut losses fast, lower breakeven WR ======================================================================== EXPERIMENT (isolated): 2 trades | WR: 100.0% | EV: $+1.3625 OVERALL: 205 trades | WR: 70.7% | Recent(10): 90.0% | P&L: $-1.6310 EV/trade: $-0.0102 | Breakeven WR needed: 70.8% Proven winners: 3 — stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: LAG_MIN_BTC_MOVE = 0.0006 MIN_ENTRY_PRICE = 0.35 BET_MED_MIN = 0.01 MAX_POSITIONS = 5 MIN_MISPRICING = 0.02 PROFIT_TARGET = 0.35 BET_MED_MAX = 0.05 STOP_LOSS = 0.25 MAX_ENTRY_PRICE = 0.88 MOMENTUM_THRESHOLD = 0.0005 LAG_WINDOW_SECS = 30 TRAILING_STOP_PCT = 0.2 SCORE_MEDIUM = 18 BET_HIGH_MAX = 0.1 SCORE_HIGH = 38 MOMENTUM_SECONDS = 60 ENTRY_COOLDOWN = 10 BET_HIGH_MIN = 0.01 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #22 | 2026-04-06 14:11:52 Type: SINGLE_TEST | Label: stop_loose EXPERIMENT: Loose stop (60%) — more breathing room per trade ======================================================================== EXPERIMENT (isolated): 5 trades | WR: 100.0% | EV: $+2.1640 OVERALL: 210 trades | WR: 71.4% | Recent(10): 90.0% | P&L: $+9.1890 EV/trade: $+0.0418 | Breakeven WR needed: 70.8% Proven winners: 4 — stop_tight, stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 ENTRY_COOLDOWN = 10 SCORE_MEDIUM = 18 LAG_WINDOW_SECS = 30 MIN_MISPRICING = 0.02 MAX_POSITIONS = 5 STOP_LOSS = 0.6 BET_HIGH_MIN = 0.01 LAG_MIN_BTC_MOVE = 0.0006 MOMENTUM_SECONDS = 60 BET_MED_MIN = 0.01 BET_MED_MAX = 0.05 PROFIT_TARGET = 0.35 MAX_ENTRY_PRICE = 0.88 SCORE_HIGH = 38 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #23 | 2026-04-06 14:40:05 Type: SINGLE_TEST | Label: ideal_rr EXPERIMENT: 2:1 R/R — 30% stop + 60% target, breakeven WR ~33% ======================================================================== EXPERIMENT (isolated): 5 trades | WR: 80.0% | EV: $+0.6660 OVERALL: 215 trades | WR: 71.6% | Recent(10): 90.0% | P&L: $+12.5190 EV/trade: $+0.0563 | Breakeven WR needed: 70.8% Proven winners: 4 — stop_tight, stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 ENTRY_COOLDOWN = 10 SCORE_MEDIUM = 18 LAG_WINDOW_SECS = 30 MIN_MISPRICING = 0.02 MAX_POSITIONS = 5 STOP_LOSS = 0.3 BET_HIGH_MIN = 0.01 LAG_MIN_BTC_MOVE = 0.0006 MOMENTUM_SECONDS = 60 BET_MED_MIN = 0.01 BET_MED_MAX = 0.05 PROFIT_TARGET = 0.6 MAX_ENTRY_PRICE = 0.88 SCORE_HIGH = 38 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #24 | 2026-04-06 15:40:18 Type: COMBINE | Label: combine_stop_tight+stop_loss_fix+block_late COMBINE: Testing all 4 proven winners: stop_tight, stop_loss_fix, block_late, bet_tiny ======================================================================== EXPERIMENT (isolated): 3 trades | WR: 100.0% | EV: $+1.0983 OVERALL: 218 trades | WR: 72.0% | Recent(10): 90.0% | P&L: $+15.8140 EV/trade: $+0.0713 | Breakeven WR needed: 71.0% Proven winners: 4 — stop_tight, stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 ENTRY_COOLDOWN = 10 SCORE_MEDIUM = 18 LAG_WINDOW_SECS = 30 MIN_MISPRICING = 0.02 MAX_POSITIONS = 5 STOP_LOSS = 0.4 BET_HIGH_MIN = 0.01 LAG_MIN_BTC_MOVE = 0.0006 MOMENTUM_SECONDS = 60 BET_MED_MIN = 0.01 BET_MED_MAX = 0.05 PROFIT_TARGET = 0.35 MAX_ENTRY_PRICE = 0.88 SCORE_HIGH = 38 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #25 | 2026-04-06 16:40:32 Type: SINGLE_TEST | Label: ideal_rr EXPERIMENT: 2:1 R/R — 30% stop + 60% target, breakeven WR ~33% ======================================================================== EXPERIMENT (isolated): 4 trades | WR: 50.0% | EV: $-0.8800 OVERALL: 222 trades | WR: 71.6% | Recent(10): 70.0% | P&L: $+12.2940 EV/trade: $+0.0539 | Breakeven WR needed: 70.8% Proven winners: 4 — stop_tight, stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 ENTRY_COOLDOWN = 10 SCORE_MEDIUM = 18 LAG_WINDOW_SECS = 30 MIN_MISPRICING = 0.02 MAX_POSITIONS = 5 STOP_LOSS = 0.3 BET_HIGH_MIN = 0.01 LAG_MIN_BTC_MOVE = 0.0006 MOMENTUM_SECONDS = 60 BET_MED_MIN = 0.01 BET_MED_MAX = 0.05 PROFIT_TARGET = 0.6 MAX_ENTRY_PRICE = 0.88 SCORE_HIGH = 38 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #26 | 2026-04-06 17:40:46 Type: SINGLE_TEST | Label: ideal_rr EXPERIMENT: 2:1 R/R — 30% stop + 60% target, breakeven WR ~33% ======================================================================== EXPERIMENT (isolated): 1 trades | WR: 0.0% | EV: $-1.2000 OVERALL: 223 trades | WR: 71.3% | Recent(10): 60.0% | P&L: $+11.0940 EV/trade: $+0.0497 | Breakeven WR needed: 70.6% Proven winners: 4 — stop_tight, stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 ENTRY_COOLDOWN = 10 SCORE_MEDIUM = 18 LAG_WINDOW_SECS = 30 MIN_MISPRICING = 0.02 MAX_POSITIONS = 5 STOP_LOSS = 0.3 BET_HIGH_MIN = 0.01 LAG_MIN_BTC_MOVE = 0.0006 MOMENTUM_SECONDS = 60 BET_MED_MIN = 0.01 BET_MED_MAX = 0.05 PROFIT_TARGET = 0.6 MAX_ENTRY_PRICE = 0.88 SCORE_HIGH = 38 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #27 | 2026-04-06 18:41:00 Type: SINGLE_TEST | Label: ideal_rr EXPERIMENT: 2:1 R/R — 30% stop + 60% target, breakeven WR ~33% ======================================================================== EXPERIMENT (isolated): 4 trades | WR: 100.0% | EV: $+1.1238 OVERALL: 227 trades | WR: 71.8% | Recent(10): 70.0% | P&L: $+15.5890 EV/trade: $+0.0683 | Breakeven WR needed: 70.8% Proven winners: 4 — stop_tight, stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 ENTRY_COOLDOWN = 10 SCORE_MEDIUM = 18 LAG_WINDOW_SECS = 30 MIN_MISPRICING = 0.02 MAX_POSITIONS = 5 STOP_LOSS = 0.3 BET_HIGH_MIN = 0.01 LAG_MIN_BTC_MOVE = 0.0006 MOMENTUM_SECONDS = 60 BET_MED_MIN = 0.01 BET_MED_MAX = 0.05 PROFIT_TARGET = 0.6 MAX_ENTRY_PRICE = 0.88 SCORE_HIGH = 38 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #28 | 2026-04-06 19:41:14 Type: COMBINE | Label: combine_stop_tight+stop_loss_fix+block_late COMBINE: Testing all 4 proven winners: stop_tight, stop_loss_fix, block_late, bet_tiny ======================================================================== EXPERIMENT (isolated): 2 trades | WR: 50.0% | EV: $-0.4200 OVERALL: 229 trades | WR: 71.6% | Recent(10): 70.0% | P&L: $+14.7490 EV/trade: $+0.0634 | Breakeven WR needed: 70.6% Proven winners: 4 — stop_tight, stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 ENTRY_COOLDOWN = 10 SCORE_MEDIUM = 18 LAG_WINDOW_SECS = 30 MIN_MISPRICING = 0.02 MAX_POSITIONS = 5 STOP_LOSS = 0.4 BET_HIGH_MIN = 0.01 LAG_MIN_BTC_MOVE = 0.0006 MOMENTUM_SECONDS = 60 BET_MED_MIN = 0.01 BET_MED_MAX = 0.05 PROFIT_TARGET = 0.35 MAX_ENTRY_PRICE = 0.88 SCORE_HIGH = 38 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES ======================================================================== ITERATION #29 | 2026-04-06 20:21:57 Type: SINGLE_TEST | Label: ideal_rr EXPERIMENT: 2:1 R/R — 30% stop + 60% target, breakeven WR ~33% ======================================================================== EXPERIMENT (isolated): 5 trades | WR: 100.0% | EV: $+1.8560 OVERALL: 234 trades | WR: 72.2% | Recent(10): 90.0% | P&L: $+24.0290 EV/trade: $+0.1012 | Breakeven WR needed: 70.7% Proven winners: 4 — stop_tight, stop_loss_fix, block_late, bet_tiny PARAMS SET THIS RUN: TRAILING_STOP_PCT = 0.2 BET_HIGH_MAX = 0.1 MIN_ENTRY_PRICE = 0.35 ENTRY_COOLDOWN = 10 SCORE_MEDIUM = 18 LAG_WINDOW_SECS = 30 MIN_MISPRICING = 0.02 MAX_POSITIONS = 5 STOP_LOSS = 0.3 BET_HIGH_MIN = 0.01 LAG_MIN_BTC_MOVE = 0.0006 MOMENTUM_SECONDS = 60 BET_MED_MIN = 0.01 BET_MED_MAX = 0.05 PROFIT_TARGET = 0.6 MAX_ENTRY_PRICE = 0.88 SCORE_HIGH = 38 MOMENTUM_THRESHOLD = 0.0005 BLOCK_EARLY = NO BLOCK_MID = NO BLOCK_LATE = YES