#!/bin/bash
# 2-month full run: Dec 2025 + Jan 2026
# Runs baseline (0.03) then winner (0.02) back to back
cd /var/www/html/crpytotradingbot

SETTINGS="settings.py"
LOG="results/2month_run.log"

echo "2-MONTH FULL RUN: Dec 2025 - Jan 2026" > "$LOG"
echo "Started: $(date -u)" >> "$LOG"
echo "" >> "$LOG"

# Backup
cp "$SETTINGS" "${SETTINGS}.2m_bak"

# ---- RUN 1: BASELINE (0.03 lots, mult 1.0) ----
echo "=== RUN 1: BASELINE (LOT=0.03, MULT=1.0) ===" >> "$LOG"
sed -i 's/^LOT_SIZE = .*/LOT_SIZE = 0.03/' "$SETTINGS"
sed -i 's/^RECOVERY_LOT_MULTIPLIER = .*/RECOVERY_LOT_MULTIPLIER = 1.0/' "$SETTINGS"

echo "PHASE: baseline" > backtest_progress.json
nice -n 15 python3 bot_runner.py --csv=202512-202601 --max-rows=0 --timeout=1800 --throttle=2 >> "$LOG" 2>&1

# Save result
LATEST=$(ls -t results/result_*.json | head -1)
cp "$LATEST" "results/2month_baseline.json" 2>/dev/null
LATEST_TRADES=$(ls -t results/trades_*.csv | head -1)
cp "$LATEST_TRADES" "results/2month_baseline_trades.csv" 2>/dev/null
LATEST_THREADS=$(ls -t results/threads_*.csv | head -1)
cp "$LATEST_THREADS" "results/2month_baseline_threads.csv" 2>/dev/null
echo "" >> "$LOG"

# ---- RUN 2: WINNER (0.02 lots, mult 1.0) ----
echo "=== RUN 2: WINNER (LOT=0.02, MULT=1.0) ===" >> "$LOG"
sed -i 's/^LOT_SIZE = .*/LOT_SIZE = 0.02/' "$SETTINGS"
sed -i 's/^RECOVERY_LOT_MULTIPLIER = .*/RECOVERY_LOT_MULTIPLIER = 1.0/' "$SETTINGS"

echo "PHASE: winner_lot02" > backtest_progress.json
nice -n 15 python3 bot_runner.py --csv=202512-202601 --max-rows=0 --timeout=1800 --throttle=2 >> "$LOG" 2>&1

LATEST=$(ls -t results/result_*.json | head -1)
cp "$LATEST" "results/2month_winner.json" 2>/dev/null
LATEST_TRADES=$(ls -t results/trades_*.csv | head -1)
cp "$LATEST_TRADES" "results/2month_winner_trades.csv" 2>/dev/null
LATEST_THREADS=$(ls -t results/threads_*.csv | head -1)
cp "$LATEST_THREADS" "results/2month_winner_threads.csv" 2>/dev/null
echo "" >> "$LOG"

# ---- RUN 3: BONUS - lot 0.02 with mult 1.25 ----
echo "=== RUN 3: LOT=0.02 + MULT=1.25 ===" >> "$LOG"
sed -i 's/^LOT_SIZE = .*/LOT_SIZE = 0.02/' "$SETTINGS"
sed -i 's/^RECOVERY_LOT_MULTIPLIER = .*/RECOVERY_LOT_MULTIPLIER = 1.25/' "$SETTINGS"

echo "PHASE: lot02_mult125" > backtest_progress.json
nice -n 15 python3 bot_runner.py --csv=202512-202601 --max-rows=0 --timeout=1800 --throttle=2 >> "$LOG" 2>&1

LATEST=$(ls -t results/result_*.json | head -1)
cp "$LATEST" "results/2month_lot02_mult125.json" 2>/dev/null
echo "" >> "$LOG"

# Restore settings
cp "${SETTINGS}.2m_bak" "$SETTINGS"

# Summary
echo "========================================" >> "$LOG"
echo "SUMMARY" >> "$LOG"
echo "========================================" >> "$LOG"
python3 << 'PYEOF' >> "$LOG" 2>&1
import json

configs = [
    ("Baseline (0.03)", "results/2month_baseline.json"),
    ("Winner (0.02)", "results/2month_winner.json"),
    ("0.02 + 1.25x", "results/2month_lot02_mult125.json"),
]

print(f"\n{'Config':<20} {'Net P&L':>10} {'Return':>8} {'DD%':>7} {'WR%':>6} {'PF':>6} {'Trades':>7} {'Commission':>11}")
print("-"*80)
for name, path in configs:
    try:
        d = json.load(open(path))
        print(f"{name:<20} ${d['net_profit']:>+9,.2f} {d['return_pct']:>+7.2f}% {d['max_dd_pct']:>6.1f}% {d['win_rate']:>5.1f}% {d['profit_factor']:>5.2f} {d['total_trades']:>7} ${d['commission']:>10,.2f}")
    except Exception as e:
        print(f"{name:<20} FAILED: {e}")
PYEOF

echo "" >> "$LOG"
echo "Completed: $(date -u)" >> "$LOG"
echo "2MONTH_COMPLETE" >> "$LOG"
