#!/usr/bin/env python3
"""
运行火币K线分析并输出结果
"""
import json
from huobi_analysis import analyze_filtered_consecutive_up, get_grade

# 加载数据
with open('/root/.openclaw/workspace/huobi_data.json', 'r') as f:
    data = json.load(f)

# 分析配置
configs = [
    ('RIVER', 'USDT', '15分钟', data['river_15min']),
    ('RIVER', 'USDT', '5分钟', data['river_5min']),
    ('RIVER', 'USDT', '1分钟', data['river_1min']),
    ('ETH', 'USDT', '15分钟', data['eth_15min']),
    ('ETH', 'USDT', '5分钟', data['eth_5min']),
    ('ETH', 'USDT', '1分钟', data['eth_1min']),
]

results = []

for symbol, quote, period, klines in configs:
    consecutive_count, net_gain, sequence = analyze_filtered_consecutive_up(klines)
    grade = get_grade(consecutive_count)
    
    result = {
        'symbol': f"{symbol}/{quote}",
        'period': period,
        'current_price': klines[0]['close'],
        'consecutive_count': consecutive_count,
        'net_gain': net_gain,
        'grade': grade,
        'sequence': sequence
    }
    results.append(result)
    
    # 打印结果
    print(f"\n{symbol}/{quote} - {period}级别:")
    print(f"  当前价格: {result['current_price']:.4f} {quote}")
    print(f"  连续上涨: {consecutive_count}根")
    print(f"  净涨幅: {net_gain:.2f}%")
    print(f"  评级: {grade}")
    if sequence:
        print(f"  序列: {''.join(sequence)}")

# 保存结果
with open('/root/.openclaw/workspace/analysis_results.json', 'w') as f:
    json.dump(results, f, indent=2, ensure_ascii=False)

print("\n\n分析完成，结果已保存到 analysis_results.json")

# 输出需要通知的信号
signals = [r for r in results if r['grade']]
if signals:
    print(f"\n发现 {len(signals)} 个信号需要通知:")
    for s in signals:
        print(f"  - {s['symbol']} {s['period']}: {s['grade']} ({s['consecutive_count']}根上涨)")
else:
    print("\n未发现符合条件的信号，无需通知")
