Log: results/adaptive_logs/run_2026-06-25T154720.log [15:47:21] Adaptive MLP — COINBASE_BTCUSD — 5 TFs [15:47:21] Config: 3 seeds/round, max 10 rounds, convergence=3 rounds, threshold=0.02 [15:47:21] Starting Calmar per TF: [15:47:21] 4H: Calmar=0.2568 next_seed=4636 (bull seeds already trained: 39) [15:47:21] 6H: Calmar=0.4244 next_seed=5851 (bull seeds already trained: 42) [15:47:21] 8H: Calmar=0.8103 next_seed=4033 (bull seeds already trained: 33) [15:47:21] 12H: Calmar=0.8738 next_seed=5548 (bull seeds already trained: 45) [15:47:21] 1D: Calmar=1.8066 next_seed=3131 (bull seeds already trained: 27) [15:47:21] ════════════════════════════════════════════════════════════ [15:47:21] Round 1/10 — 5 active TFs: 4H, 6H, 8H, 12H, 1D [15:47:21] ════════════════════════════════════════════════════════════ [15:47:21] Training: 5 TFs × 3 seeds = 15 jobs [4H=all, 6H=all, 8H=all, 12H=all, 1D=all] [15:49:28] ✅ 1D: 3/3 trained (seed3131, seed3232, seed3333) [121s+121s+126s] [15:49:34] ✅ 12H: 3/3 trained (seed5548, seed5649, seed5750) [131s+131s+132s] [15:49:47] ✅ 8H: 3/3 trained (seed4033, seed4134, seed4235) [139s+146s+138s] [15:49:53] ✅ 6H: 3/3 trained (seed5851, seed5952, seed6053) [151s+145s+152s] [15:49:59] ✅ 4H: 3/3 trained (seed4636, seed4737, seed4838) [146s+157s+149s] [15:49:59] Sweeping: 5 TFs in parallel (3 workers each) ... [15:54:39] ✅ sweep 6H: 280s [15:54:53] ✅ sweep 12H: 294s [15:55:35] ✅ sweep 1D: 335s [15:55:38] ✅ sweep 4H: 339s [15:56:40] ✅ sweep 8H: 401s [15:56:40] Improvement check: [15:56:40] — 4H: 0.2568 → 0.2568 (+0.0000) no_improve=1/3 [phase=all] [15:56:40] — 6H: 0.4244 → 0.4244 (+0.0000) no_improve=1/3 [phase=all] [15:56:40] ✅ 8H: 0.8103 → 0.8344 (+0.0241) [phase=all] [15:56:40] — 12H: 0.8738 → 0.8738 (+0.0000) no_improve=1/3 [phase=all] [15:56:40] — 1D: 1.8066 → 1.8066 (+0.0000) no_improve=1/3 [phase=all] [15:56:40] Regenerating Pine presets... ✅ Rewrote strategies/strategy_mlp_scores.pine (5/5 presets) Next step: paste into TradingView and run: python3 tools/check_pine.py --mark-valid [15:56:41] ✅ Pine presets [15:56:41] ════════════════════════════════════════════════════════════ [15:56:41] Round 2/10 — 5 active TFs: 4H, 6H, 8H, 12H, 1D [15:56:41] ════════════════════════════════════════════════════════════ [15:56:41] Training: 5 TFs × 3 seeds = 15 jobs [4H=all, 6H=all, 8H=all, 12H=all, 1D=all] [15:58:43] ✅ 1D: 3/3 trained (seed3434, seed3535, seed3636) [122s+115s+115s] [15:58:47] ✅ 12H: 3/3 trained (seed5851, seed5952, seed6053) [126s+125s+124s] [15:59:00] ✅ 8H: 3/3 trained (seed4336, seed4437, seed4538) [133s+139s+133s] [15:59:06] ✅ 6H: 3/3 trained (seed6154, seed6255, seed6356) [138s+145s+138s] [15:59:12] ✅ 4H: 3/3 trained (seed4939, seed5040, seed5141) [143s+144s+151s] [15:59:12] Sweeping: 5 TFs in parallel (3 workers each) ... [16:04:11] ✅ sweep 6H: 298s [16:04:23] ✅ sweep 12H: 310s [16:05:04] ✅ sweep 1D: 351s [16:05:10] ✅ sweep 4H: 357s [16:06:08] ✅ sweep 8H: 415s [16:06:08] Improvement check: [16:06:08] — 4H: 0.2568 → 0.2568 (+0.0000) no_improve=2/3 [phase=all] [16:06:08] — 6H: 0.4244 → 0.4244 (+0.0000) no_improve=2/3 [phase=all] [16:06:08] — 8H: 0.8344 → 0.8344 (+0.0000) no_improve=1/3 [phase=all] [16:06:08] — 12H: 0.8738 → 0.8738 (+0.0000) no_improve=2/3 [phase=all] [16:06:08] — 1D: 1.8066 → 1.8066 (+0.0000) no_improve=2/3 [phase=all] [16:06:08] ════════════════════════════════════════════════════════════ [16:06:08] Round 3/10 — 5 active TFs: 4H, 6H, 8H, 12H, 1D [16:06:08] ════════════════════════════════════════════════════════════ [16:06:08] Training: 5 TFs × 3 seeds = 15 jobs [4H=all, 6H=all, 8H=all, 12H=all, 1D=all] [16:08:14] ✅ 1D: 3/3 trained (seed3737, seed3838, seed3939) [118s+118s+126s] [16:08:19] ✅ 12H: 3/3 trained (seed6154, seed6255, seed6356) [130s+130s+129s] [16:08:26] ✅ 8H: 3/3 trained (seed4639, seed4740, seed4841) [138s+138s+137s] [16:08:31] ✅ 6H: 3/3 trained (seed6457, seed6558, seed6659) [143s+143s+143s] [16:08:45] ✅ 4H: 3/3 trained (seed5242, seed5343, seed5444) [147s+157s+147s] [16:08:45] Sweeping: 5 TFs in parallel (3 workers each) ... [16:13:57] ✅ sweep 6H: 312s [16:14:07] ✅ sweep 12H: 321s [16:14:50] ✅ sweep 1D: 364s [16:15:00] ✅ sweep 4H: 374s [16:15:57] ✅ sweep 8H: 431s [16:15:57] Improvement check: [16:15:57] ⚠️ 4H: 0.2568 → 0.2568 (+0.0000) no_improve=3/3 [phase=all] [16:15:57] 🔄 4H: plateau in all-regime → switching to bull (existing bull seeds: 39, next: seed4040) [16:15:57] ⚠️ 6H: 0.4244 → 0.4244 (+0.0000) no_improve=3/3 [phase=all] [16:15:57] 🔄 6H: plateau in all-regime → switching to bull (existing bull seeds: 42, next: seed4343) [16:15:57] — 8H: 0.8344 → 0.8344 (+0.0000) no_improve=2/3 [phase=all] [16:15:57] ⚠️ 12H: 0.8738 → 0.8738 (+0.0000) no_improve=3/3 [phase=all] [16:15:57] 🔄 12H: plateau in all-regime → switching to bull (existing bull seeds: 45, next: seed4646) [16:15:57] ⚠️ 1D: 1.8066 → 1.8066 (+0.0000) no_improve=3/3 [phase=all] [16:15:57] 🔄 1D: plateau in all-regime → switching to bull (existing bull seeds: 27, next: seed2828) [16:15:57] ════════════════════════════════════════════════════════════ [16:15:57] Round 4/10 — 5 active TFs: 4H, 6H, 8H, 12H, 1D [16:15:57] ════════════════════════════════════════════════════════════ [16:15:57] Training: 5 TFs × 3 seeds = 15 jobs [4H=bull, 6H=bull, 8H=all, 12H=bull, 1D=bull] [16:18:11] ✅ 1D: 3/3 trained (seed2828, seed2929, seed3030) [131s+134s+132s] [16:18:13] ✅ 12H: 3/3 trained (seed4646, seed4747, seed4848) [135s+136s+136s] [16:18:26] ✅ 8H: 3/3 trained (seed4942, seed5043, seed5144) [143s+148s+143s] [16:18:35] ✅ 6H: 3/3 trained (seed4343, seed4444, seed4545) [148s+150s+157s] [16:18:39] ✅ 4H: 3/3 trained (seed4040, seed4141, seed4242) [162s+162s+154s] [16:18:39] Sweeping: 5 TFs in parallel (3 workers each) ... [16:24:09] ✅ sweep 6H: 329s [16:24:17] ✅ sweep 12H: 337s [16:25:00] ✅ sweep 1D: 380s [16:25:12] ✅ sweep 4H: 392s [16:26:04] ✅ sweep 8H: 445s [16:26:04] Improvement check: [16:26:04] — 4H: 0.2568 → 0.2568 (+0.0000) no_improve=1/3 [phase=bull] [16:26:04] — 6H: 0.4244 → 0.4244 (+0.0000) no_improve=1/3 [phase=bull] [16:26:04] ⚠️ 8H: 0.8344 → 0.8344 (+0.0000) no_improve=3/3 [phase=all] [16:26:04] 🔄 8H: plateau in all-regime → switching to bull (existing bull seeds: 33, next: seed3434) [16:26:04] — 12H: 0.8738 → 0.8738 (+0.0000) no_improve=1/3 [phase=bull] [16:26:04] — 1D: 1.8066 → 1.8066 (+0.0000) no_improve=1/3 [phase=bull] [16:26:04] ════════════════════════════════════════════════════════════ [16:26:04] Round 5/10 — 5 active TFs: 4H, 6H, 8H, 12H, 1D [16:26:04] ════════════════════════════════════════════════════════════ [16:26:04] Training: 5 TFs × 3 seeds = 15 jobs [4H=bull, 6H=bull, 8H=bull, 12H=bull, 1D=bull] [16:28:12] ✅ 1D: 3/3 trained (seed3131, seed3232, seed3333) [126s+126s+127s] [16:28:17] ✅ 12H: 3/3 trained (seed4949, seed5050, seed5151) [132s+130s+130s] [16:28:29] ✅ 8H: 3/3 trained (seed3434, seed3535, seed3636) [144s+136s+138s] [16:28:39] ✅ 6H: 3/3 trained (seed4646, seed4747, seed4848) [154s+152s+153s] [16:28:47] ✅ 4H: 3/3 trained (seed4343, seed4444, seed4545) [158s+149s+162s] [16:28:47] Sweeping: 5 TFs in parallel (3 workers each) ... [16:34:10] ✅ sweep 6H: 322s [16:34:14] ✅ sweep 12H: 327s [16:34:53] ✅ sweep 1D: 366s [16:35:13] ✅ sweep 4H: 386s [16:35:57] ✅ sweep 8H: 429s [16:35:57] Improvement check: [16:35:57] ✅ 4H: 0.2568 → 0.3108 (+0.0540) [phase=bull] [16:35:57] — 6H: 0.4244 → 0.4244 (+0.0000) no_improve=2/3 [phase=bull] [16:35:57] — 8H: 0.8344 → 0.8344 (+0.0000) no_improve=1/3 [phase=bull] [16:35:57] — 12H: 0.8738 → 0.8738 (+0.0000) no_improve=2/3 [phase=bull] [16:35:57] — 1D: 1.8066 → 1.8066 (+0.0000) no_improve=2/3 [phase=bull] [16:35:57] Regenerating Pine presets... ✅ Rewrote strategies/strategy_mlp_scores.pine (5/5 presets) Next step: paste into TradingView and run: python3 tools/check_pine.py --mark-valid [16:35:57] ✅ Pine presets [16:35:57] ════════════════════════════════════════════════════════════ [16:35:57] Round 6/10 — 5 active TFs: 4H, 6H, 8H, 12H, 1D [16:35:57] ════════════════════════════════════════════════════════════ [16:35:57] Training: 5 TFs × 3 seeds = 15 jobs [4H=bull, 6H=bull, 8H=bull, 12H=bull, 1D=bull] [16:38:00] ✅ 1D: 3/3 trained (seed3434, seed3535, seed3636) [122s+115s+115s] [16:38:02] ✅ 12H: 3/3 trained (seed5252, seed5353, seed5454) [124s+124s+124s] [16:38:10] ✅ 8H: 3/3 trained (seed3737, seed3838, seed3939) [132s+132s+132s] [16:38:22] ✅ 6H: 3/3 trained (seed4949, seed5050, seed5151) [137s+137s+144s] [16:38:29] ✅ 4H: 3/3 trained (seed4646, seed4747, seed4848) [151s+150s+150s] [16:38:29] Sweeping: 5 TFs in parallel (3 workers each) ... [16:44:01] ✅ sweep 6H: 332s [16:44:04] ✅ sweep 12H: 335s [16:44:43] ✅ sweep 1D: 374s [16:45:06] ✅ sweep 4H: 397s [16:45:49] ✅ sweep 8H: 440s [16:45:49] Improvement check: [16:45:49] — 4H: 0.3108 → 0.3108 (+0.0000) no_improve=1/3 [phase=bull] [16:45:49] ✅ 6H: 0.4244 → 0.4828 (+0.0584) [phase=bull] [16:45:49] — 8H: 0.8344 → 0.8344 (+0.0000) no_improve=2/3 [phase=bull] [16:45:49] ⚠️ 12H: 0.8738 → 0.8738 (+0.0000) no_improve=3/3 [phase=bull] [16:45:49] 🚫 12H: RETIRED (converged in all + bull phases) [16:45:49] ⚠️ 1D: 1.8066 → 1.8066 (+0.0000) no_improve=3/3 [phase=bull] [16:45:49] 🚫 1D: RETIRED (converged in all + bull phases) [16:45:49] Regenerating Pine presets... ✅ Rewrote strategies/strategy_mlp_scores.pine (5/5 presets) Next step: paste into TradingView and run: python3 tools/check_pine.py --mark-valid [16:45:50] ✅ Pine presets [16:45:50] ════════════════════════════════════════════════════════════ [16:45:50] Round 7/10 — 3 active TFs: 4H, 6H, 8H [16:45:50] ════════════════════════════════════════════════════════════ [16:45:50] Training: 3 TFs × 3 seeds = 9 jobs [4H=bull, 6H=bull, 8H=bull] [16:47:15] ✅ 8H: 3/3 trained (seed4040, seed4141, seed4242) [85s+85s+85s] [16:47:27] ✅ 6H: 3/3 trained (seed5252, seed5353, seed5454) [96s+90s+89s] [16:47:33] ✅ 4H: 3/3 trained (seed4949, seed5050, seed5151) [95s+102s+94s] [16:47:33] Sweeping: 3 TFs in parallel (5 workers each) ... [16:51:11] ✅ sweep 6H: 218s [16:51:50] ✅ sweep 4H: 256s [16:52:14] ✅ sweep 8H: 281s [16:52:14] Improvement check: [16:52:14] — 4H: 0.3108 → 0.3108 (+0.0000) no_improve=2/3 [phase=bull] [16:52:14] — 6H: 0.4828 → 0.4828 (+0.0000) no_improve=1/3 [phase=bull] [16:52:14] ⚠️ 8H: 0.8344 → 0.8344 (+0.0000) no_improve=3/3 [phase=bull] [16:52:14] 🚫 8H: RETIRED (converged in all + bull phases) [16:52:14] ════════════════════════════════════════════════════════════ [16:52:14] Round 8/10 — 2 active TFs: 4H, 6H [16:52:14] ════════════════════════════════════════════════════════════ [16:52:14] Training: 2 TFs × 3 seeds = 6 jobs [4H=bull, 6H=bull] [16:53:30] ✅ 6H: 3/3 trained (seed5555, seed5656, seed5757) [74s+67s+75s] [16:53:36] ✅ 4H: 3/3 trained (seed5252, seed5353, seed5454) [79s+73s+82s] [16:53:36] Sweeping: 2 TFs in parallel (8 workers each) ... [16:56:07] ✅ sweep 6H: 150s [16:56:33] ✅ sweep 4H: 176s [16:56:33] Improvement check: [16:56:33] ⚠️ 4H: 0.3108 → 0.3108 (+0.0000) no_improve=3/3 [phase=bull] [16:56:33] 🚫 4H: RETIRED (converged in all + bull phases) [16:56:33] — 6H: 0.4828 → 0.4828 (+0.0000) no_improve=2/3 [phase=bull] [16:56:33] ════════════════════════════════════════════════════════════ [16:56:33] Round 9/10 — 1 active TFs: 6H [16:56:33] ════════════════════════════════════════════════════════════ [16:56:33] Training: 1 TFs × 3 seeds = 3 jobs [6H=bull] [16:57:43] ✅ 6H: 3/3 trained (seed5858, seed5959, seed6060) [64s+64s+70s] [16:57:43] Sweeping: 1 TFs in parallel (16 workers each) ... [16:59:08] ✅ sweep 6H: 84s [16:59:08] Improvement check: [16:59:08] ⚠️ 6H: 0.4828 → 0.4828 (+0.0000) no_improve=3/3 [phase=bull] [16:59:08] 🚫 6H: RETIRED (converged in all + bull phases) [16:59:08] All TFs retired — stopping. [16:59:08] ════════════════════════════════════════════════════════════ [16:59:08] ADAPTIVE LOOP COMPLETE — 9 rounds in 71m46s [16:59:08] ════════════════════════════════════════════════════════════ Calmar improvement summary: ───────────────────────────────────────────────────────────────── TF Calmar Before Calmar After Delta Phase Won Rounds ───────────────────────────────────────────────────────────────── ✅ 4H 0.2568 0.3108 +0.0540 bull 8 ✅ 6H 0.4244 0.4828 +0.0584 bull 9 ✅ 8H 0.8103 0.8344 +0.0241 all 7 12H 0.8738 0.8738 +0.0000 — 6 1D 1.8066 1.8066 +0.0000 — 6 ───────────────────────────────────────────────────────────────── [16:59:08] Running mlp_results_table... TF PnL % Max DD % Win Rate PnL % (thru 2026-06-25) OOS PnL % (2026-03-01+) ----- ------------ ---------- ------------------ ---------------------- -------------------------- 4H +1,612.4% -14.4% 57% (33/58) +1,436.3% -10.3% (3 trades) 6H +13,829.8% -24.5% 70% (39/56) +13,829.8% +0.0% (0 trades) 8H +35,646.3% -31.2% 71% (44/62) +37,999.3% +6.6% (2 trades) 12H +9,561.9% -35.6% 49% (68/139) +8,389.0% -12.1% (3 trades) 1D +10,225.9% -47.4% 47% (72/152) +9,131.4% -9.9% (3 trades) [16:59:09] ntfy sent