import json
from pathlib import Path
from collections import defaultdict

logs = Path(r"C:\Users\Administrator\OneDrive\fx_macro_intraday\data\logs")

monthly = defaultdict(float)
monthly_count = defaultdict(int)

for fname in ["trade_history_eurusd.json", "trade_history_usdjpy.json"]:
    p = logs / fname
    if not p.exists():
        print(f"  (missing: {fname})")
        continue
    trades = json.loads(p.read_text(encoding="utf-8"))
    for t in trades:
        closed = t.get("closed_at", "")[:7]  # YYYY-MM
        pnl = t.get("net_pnl", 0)
        monthly[closed] += pnl
        monthly_count[closed] += 1

print("Monthly P&L (both pairs combined, by close month):")
print("=" * 50)
for month in sorted(monthly.keys()):
    sign = "+" if monthly[month] >= 0 else ""
    print(f"  {month}:  {sign}{monthly[month]:>10.2f}  ({monthly_count[month]} trades)")
print("=" * 50)

# Also show what dashboard_data.json contains, if it exists
dd = logs / "dashboard_data.json"
if dd.exists():
    print("\ndashboard_data.json keys:")
    data = json.loads(dd.read_text(encoding="utf-8"))
    for k in data.keys():
        v = data[k]
        if isinstance(v, (int, float, str)):
            print(f"  {k}: {v}")
        else:
            print(f"  {k}: <{type(v).__name__}>")
else:
    print("\n(no dashboard_data.json found)")
