import json
f=open(r'C:\kalshibot\Automated\trade_analytics.json')
trades=json.load(f)
f.close()
if isinstance(trades,dict): trades=trades.get('trades',[])

exits=[t for t in trades if t.get('outcome')]
wins=[t for t in exits if t['outcome']=='WIN']
losses=[t for t in exits if t['outcome']=='LOSS']
total_pnl=sum(t.get('pnl',0) for t in exits)

print(f"Total entries: {len(trades)}")
print(f"Total exits: {len(exits)}")
print(f"Wins: {len(wins)}, Losses: {len(losses)}")
wr = len(wins)/len(exits)*100 if exits else 0
print(f"Win Rate: {wr:.1f}%")
print(f"Total P&L: ${total_pnl:.2f}")

# Signal combo analysis
print("\n--- EXIT DETAIL ---")
for t in exits:
    exp = t.get('exp_score',0)
    lag = t.get('lag_score',0)
    mom = t.get('mom_score',0)
    combo = []
    if exp and exp > 0: combo.append('EXP')
    if lag and lag > 0: combo.append('LAG')
    if mom and mom > 0: combo.append('MOM')
    print(f"  {t['outcome']} | pnl=${t.get('pnl',0):+.2f} | secs_left={t.get('secs_left','?')} | exp={exp} lag={lag} mom={mom} | signals={'+'.join(combo) if combo else 'NONE'} | reason={t.get('exit_reason','?')}")

# Loss analysis
print("\n--- LOSS ANALYSIS ---")
loss_exps = [t.get('exp_score',0) for t in losses]
if loss_exps:
    print(f"Loss EXP scores: {loss_exps}")
    below30 = sum(1 for e in loss_exps if e and e < 30)
    print(f"Losses with EXP < 30: {below30}/{len(losses)}")
