# Activation Strategy CLI Reference

Commands for the activation-scores strategy (`strategy_activation_scores`). This strategy is not actively developed but is still functional.

## Single backtest

```bash
python strategies/validate_strategy.py --data data/COINBASE_BTCUSD-1D.csv \
  --params_file results/optimization_winner_activation_scores_COINBASE_BTCUSD_1D.csv \
  --show-trades
```

## Single asset/timeframe optimization

```bash
# Random search (first run on a combo)
python tools/auto_optimize_loop.py --data data/COINBASE_BTCUSD-1D.csv --hours 2

# Optuna-biased search (after ≥1 random run has populated the sweep DB)
python tools/auto_optimize_loop.py --data data/COINBASE_BTCUSD-4H.csv --hours 4 --search optuna

# With MVRV regime filter
python tools/auto_optimize_loop.py --data data/COINBASE_BTCUSD-4H.csv --hours 4 --search optuna --regime bull
```

## Batch optimization

```bash
# All 20 combos (4 assets × 5 TFs)
python3 run_all_crypto.py --hours 0.5
python3 run_all_crypto.py --hours 0.5 --search optuna

# BTC only
python3 run_btc.py --hours 10 --tfs 6H 8H 12H 1D
python3 run_btc.py --hours 10 --search optuna --tighten

# Alt coins only (ETH, SOL, LINK)
python3 run_alt_crypto.py --hours 15
python3 run_alt_crypto.py --hours 10 --assets COINBASE_ETHUSD BINANCE_SOLUSD

# Autonomous multi-cycle marathon
python3 run_marathon.py --hours 48 --hours-per-combo 0.5
```

## Analysis

```bash
# Out-of-sample dashboard
python3 tools/oos_dashboard.py --asset COINBASE_BTCUSD --timeframe 1D

# Sweep DB analysis (sign stability, range tightening, cross-asset)
python3 mine_sweep_db.py --asset COINBASE_BTCUSD --timeframe 1D

# Sign-stability locks (dry run by default)
python3 tools/lock_params.py
python3 tools/lock_params.py --apply
python3 tools/lock_params.py --apply --cross-asset

# Range tightening
python3 tools/tighten_params.py
python3 tools/tighten_params.py --apply

# Sync params files with config.WEIGHT_COLS (run after adding a signal)
python3 tools/sync_params.py
python3 tools/sync_params.py --apply
```

## Pine presets

```bash
# Regenerate from winner CSVs
python3 tools/generate_pine_presets.py
# Then: open strategies/strategy_activation_scores.pine → Select All → Copy → paste into TradingView.
```

## TV/Python trade parity

```bash
python3 tools/compare_tv_trades.py \
  --tv-trades data/ActivationScores_COINBASE_BTCUSD_<date>.csv \
  --data data/COINBASE_BTCUSD-4H.csv
# --verbose for score-context tables; --exit-detail for exit-mismatch tables

python3 tools/diagnose_tv_parity.py --data data/COINBASE_BTCUSD-4H.csv --date 2020-03-12
```

## Reset

```bash
# Wipe DB + all winner CSVs (required when scoring formula or trailing-stop simulation changes)
python3 tools/reset_results.py           # dry run
python3 tools/reset_results.py --apply
```
