import json, os

# Position AIXBT
pos = json.load(open('positions.json', 'r', encoding='utf-8'))
p = pos.get('AIXBTUSDT', {})
print("=== POSITION AIXBTUSDT (positions.json) ===")
print(f"  entry_price   : {p.get('entry_price')}")
print(f"  source        : {p.get('source')}")
print(f"  surge_type    : {p.get('surge_type')}")
print(f"  surge_strength: {p.get('surge_strength')}")
print(f"  timestamp     : {p.get('timestamp')}")
print(f"  trailing_stop : {p.get('trailing_stop')}")
print(f"  stop_loss     : {p.get('stop_loss')}")
print(f"  max_price     : {p.get('max_price')}")
print(f"  quantity      : {p.get('quantity')}")
print(f"  indicators    : {p.get('indicators', {})}")

# Trade history AIXBT
trades = json.load(open('trade_history.json', 'r', encoding='utf-8'))
aixbt = [t for t in trades if 'AIXBT' in t.get('symbol', '')]
print(f"\n=== AIXBT dans trade_history.json ({len(aixbt)} trade(s)) ===")
for t in aixbt:
    entry = t.get('entry_price', 0)
    exits = t.get('exit_price', 0)
    pnl = t.get('pnl', 0)
    pattern = t.get('pattern', '?')
    reason = t.get('reason', '?')
    etime = str(t.get('entry_time', ''))[:19]
    print(f"  entry={entry} exit={exits} pnl={pnl:.2f} pattern={pattern} reason={reason} time={etime}")

# Vérifier si le prix actuel (0.02266) est sous le trailing stop (0.02701)
entry = p.get('entry_price', 0)
ts = p.get('trailing_stop', 0)
print(f"\n=== COHERENCE ===")
print(f"  Entry: {entry}, Trailing Stop: {ts}")
if ts > 0 and entry > 0:
    assumed_current = 0.02266  # prix visible sur le dashboard
    print(f"  Prix dashboard: {assumed_current}")
    if assumed_current < ts:
        print(f"  ⚠️ PROBLEME: prix actuel ({assumed_current}) < trailing_stop ({ts:.5f})")
        print(f"     => Position devrait être FERMEE (stop-loss trailing non appliqué?)")
    else:
        print(f"  OK: prix au-dessus du trailing stop")
    if entry != 0.02241:
        print(f"\n  ⚠️ INCOHERENCE: entry dans positions.json ({entry}) != entry sur dashboard (0.02241)")
        print(f"     => Le dashboard affiche peut-être un prix converti (USDT->EUR) ou une autre source")

# Vérifier si la source est MARKET_SPY
if p.get('source') == 'MARKET_SPY':
    print(f"\n  ℹ️ SOURCE: MARKET_SPY (Spy Bot, pas le trading bot principal)")
    print(f"     => Le pattern '{p.get('surge_type')}' vient du market_spy.py")
    print(f"     => Le 'pattern inconnu' n'est PAS un pattern technique classique du bot")
    print(f"     => C'est un signal de surge/momentum du spy bot")

# Chercher TRENDING_SURGE dans market_spy.py
print("\n=== TRENDING_SURGE dans market_spy.py ===")
if os.path.exists('market_spy.py'):
    with open('market_spy.py', 'r', encoding='utf-8') as f:
        lines = f.readlines()
    for i, line in enumerate(lines):
        if 'TRENDING_SURGE' in line or 'surge_type' in line.lower():
            print(f"  L{i+1}: {line.rstrip()}")
