fix: dashboard port 5804→5807 (avoid conflicts with wechat_webhook and zhiwei bot)
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
import json, sys, os, re, urllib.request, sqlite3
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
from datetime import datetime
|
||||
from mo_data import read_decisions, read_portfolio, get_price
|
||||
from mo_data import read_decisions, read_portfolio
|
||||
|
||||
DB_PATH = '/home/hmo/web-dashboard/data/mofin.db'
|
||||
OUTPUT_PATH = "/home/hmo/web-dashboard/data/strategy_staleness_report.json"
|
||||
@@ -23,7 +23,25 @@ CRITICAL_DAYS = 21 # 超过21天→严重警告
|
||||
DIVERGENCE_WARN = 30 # 偏离买入区>30%→警告
|
||||
DIVERGENCE_CRIT = 50 # 偏离>50%→严重
|
||||
|
||||
# ── 使用 mo_data.get_price 统一获取价格 ──
|
||||
def get_price(code):
|
||||
"""从腾讯API获取当前价"""
|
||||
try:
|
||||
market = "sh" if code.startswith("6") else "sz" if code.startswith("0") or code.startswith("3") else ""
|
||||
if code.startswith(("00", "30")) or code.startswith("68"):
|
||||
market = "sh" if code.startswith("6") else "sz"
|
||||
elif code.startswith(("01", "02", "03")):
|
||||
market = "sz"
|
||||
url = f"http://qt.gtimg.cn/q={market}{code}"
|
||||
req = urllib.request.Request(url, headers={"User-Agent": "curl/7.81"})
|
||||
with urllib.request.urlopen(req, timeout=5) as resp:
|
||||
raw = resp.read().decode("gbk")
|
||||
parts = raw.split("~")
|
||||
if len(parts) > 3:
|
||||
price = float(parts[3]) if parts[3] else 0
|
||||
chg = float(parts[32]) if parts[32] else 0
|
||||
return price, chg if price > 0 else (None, None)
|
||||
except: pass
|
||||
return None, None
|
||||
|
||||
def parse_buy_zone(current):
|
||||
"""从策略current字段提取买入区间最低和最高"""
|
||||
|
||||
Reference in New Issue
Block a user