#!/usr/bin/env python3
"""Verifica skip per le 3 strategie escluse."""
import subprocess

VPS_PATH = "/opt/charter-live/live_deploy_v2/sltp_engine.py"

# 1. Verifica che la modifica skip sia presente nel file
r = subprocess.run(["grep", "-n", "ESCLUSA dal trailing", VPS_PATH], capture_output=True, text=True)
print("=== Riga con skip ===")
print(r.stdout if r.stdout else "NON TROVATA")
print(r.stderr if r.stderr else "")

# 2. Verifica che EXCLUDED_STRATEGIES sia definito
r = subprocess.run(["grep", "-n", "EXCLUDED_STRATEGIES = ", VPS_PATH], capture_output=True, text=True)
print("\n=== Definizione EXCLUDED_STRATEGIES ===")
print(r.stdout)

# 3. Cerca tutte le occorrenze di "compute_sltp_rettangolo" (la regola 09/08 originale)
r = subprocess.run(["grep", "-n", "compute_sltp_rettangolo", VPS_PATH], capture_output=True, text=True)
print("\n=== Tutte le occorrenze compute_sltp_rettangolo (regola 09/08) ===")
print(r.stdout)

# 4. Cerca tutte le occorrenze di "process_vptr3_position" (safety net)
r = subprocess.run(["grep", "-n", "process_vptr3_position\\|process_rettangolo_simple\\|process_ma_trailing", VPS_PATH], capture_output=True, text=True)
print("\n=== Tutte le occorrenze process_*_position (safety net) ===")
print(r.stdout)

# 5. Test funzione get_strategy_for_symbol per vedere cosa ritorna per i simboli target
print("\n=== Test get_strategy_for_symbol ===")
code = """
import sys
sys.path.insert(0, '/opt/charter-live/live_deploy_v2')
import sltp_engine
test_symbols = ['WIFUSDT', 'AEROUSDT', 'ARUSDT', '1000BONKUSDT', 'NEARUSDT', 'ZECUSDT', 'BEATUSDT', 'BTCUSDT', 'AXSUSDT', 'VIRTUALUSDT', 'UNIUSDT', 'RENDERUSDT']
for sym in test_symbols:
    try:
        strat = sltp_engine.get_strategy_for_symbol(sym)
        excluded = strat in sltp_engine.EXCLUDED_STRATEGIES
        print(f'  {sym:14} → strategy={strat:20} excluded={excluded}')
    except Exception as e:
        print(f'  {sym:14} → ERR: {e}')
"""
r = subprocess.run(["/opt/charter/venv/bin/python", "-c", code], capture_output=True, text=True, timeout=15)
print(r.stdout)
if r.stderr:
    print("STDERR:", r.stderr)
