Update the Pine Script preset block from the latest winner CSVs and guide the user through TV verification. ## Steps 1. Run the Pine static checker first to catch any undeclared weight params before bothering with TV: ``` python3 tools/check_pine.py ``` If any `i_w_*` params are undeclared, the preset generator will fix them. If plot/security limits are exceeded, flag that before continuing. 2. Regenerate the preset block: ``` python3 tools/generate_pine_presets.py ``` Note how many presets and params were written. 3. Show the user what the current winner params look like for the most-used combo (BTC 4H) so they know what to expect in TV: ``` python3 tools/query_db.py --asset COINBASE_BTCUSD --tf 4H --top 1 ``` Show the IS P&L %, Max Drawdown %, Total Trades, and Composite score from the winner CSV. 4. Prompt the user: > **Please paste the updated Pine into TradingView:** > 1. Open `strategies/strategy_activation_scores.pine` > 2. Select All → Copy > 3. Paste into TradingView Pine Editor → Save > 4. Set chart to **COINBASE:BTCUSD / 4H**, date range **2017-01-01 to 2024-09-30** > 5. Check Strategy Tester: expected IS results ≈ P&L **{pnl}%**, Drawdown **{dd}%**, Trades **{trades}** > > Let me know: ✅ matches, ⚠️ close but not exact, or ❌ compile error / large mismatch. 5. **If ✅ or ⚠️ (minor fill-price differences are expected):** ``` python3 tools/check_pine.py --mark-valid ``` Ask if the user wants to commit: "This would be a good time to commit — want me to run `/commitAndPush`?" 6. **If ❌ compile error:** Ask the user to paste the error message, diagnose, fix, and repeat from step 1. 7. **If ❌ large result mismatch (>20% trade count diff or wildly different P&L):** Suggest running `/compareTrades` after exporting a fresh trade list from TV.