import json

def get_bars(file_path, start_time, count=10):
    try:
        with open(file_path) as f:
            data = json.load(f)
            
        bars = data.get('bars', [])
            
        # Convert start_time to unix timestamp if bars use unix timestamp
        import datetime
        dt = datetime.datetime.strptime(start_time, "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=datetime.timezone.utc)
        ts = int(dt.timestamp())
        
        for i, bar in enumerate(bars):
            bar_time = bar['time']
            if isinstance(bar_time, int):
                if bar_time >= ts:
                    start_idx = max(0, i - count)
                    end_idx = min(len(bars), i + count)
                    return bars[start_idx:end_idx]
            else:
                if bar_time >= start_time:
                    start_idx = max(0, i - count)
                    end_idx = min(len(bars), i + count)
                    return bars[start_idx:end_idx]
    except Exception as e:
        print(f"Error loading {file_path}: {e}")
    return []

print("M5 data for 11:15 & 11:30 candidates:")
m5_bars = get_bars('/home/aryy/.hermes/profiles/finance/backtests/xauusd_2026/hybrid/data/ohlcv_M5.json', "2026-06-16T11:00:00Z", 15)
for b in m5_bars:
    bar_time = b['time']
    if isinstance(bar_time, int):
        import datetime
        bar_time = datetime.datetime.fromtimestamp(bar_time, datetime.timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
    print(f"{bar_time} O:{b['open']} H:{b['high']} L:{b['low']} C:{b['close']}")

print("\nM5 data for 15:45 candidate:")
m5_bars = get_bars('/home/aryy/.hermes/profiles/finance/backtests/xauusd_2026/hybrid/data/ohlcv_M5.json', "2026-06-16T15:00:00Z", 15)
for b in m5_bars:
    bar_time = b['time']
    if isinstance(bar_time, int):
        import datetime
        bar_time = datetime.datetime.fromtimestamp(bar_time, datetime.timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
    print(f"{bar_time} O:{b['open']} H:{b['high']} L:{b['low']} C:{b['close']}")
    
