- archive/hermes-dead-tools-20260820/: hermes独有不在cron不被import的111个一次性排查/测试工具 - archive/hermes-dead-tools-20260820/: 4个废弃scanner(btd1_v3/market_scanner/market_thermometer已废弃/s2v2) - archive/legacy-cleanup-20260820/: MoFin根2旧版(mo_models/technical_analysis)+/home/hmo/scripts无引用旧项目+MoFin/scripts重复prepare_report_data - 删除MoFin根mo_models.py(根旧版,deploy/profile-scripts权威保留) - 保留: mofin_db.py/mo_data.py硬链接(server.py多层sys.path需各目录访问同一inode,非冗余) - fix_gateway.py保留(Gateway看门狗fix_gateway_port.py的活跃依赖,勿误删) - 验证: cron所有脚本引用无缺失, key模块import正常 - hermes独有从116收敛到5核心(alert_logger/market_screener/prepare_report_data/self_todo_executor_v2/xmpp_zhiwei_bot)
37 lines
1.9 KiB
Python
37 lines
1.9 KiB
Python
import sqlite3
|
|
conn = sqlite3.connect('/home/hmo/MoFin/data/mofin.db')
|
|
conn.row_factory = sqlite3.Row
|
|
|
|
# 1. 找曾被 zhiwei 修过的 15 只(她提到的几只)当前值
|
|
codes = ['000711', '603766', '600617', '688271']
|
|
print('=== holding_strategies 当前值(她修过的几只)===')
|
|
for code in codes:
|
|
r = conn.execute(
|
|
"SELECT code, name, entry_low, entry_high, stop_loss, take_profit, strategy_type, "
|
|
"quality_check, created_at, updated_at FROM holding_strategies WHERE code=? AND status='active'",
|
|
(code,)).fetchone()
|
|
if r:
|
|
c = (r['entry_low'] + r['entry_high']) / 2 if r['entry_low'] and r['entry_high'] else 0
|
|
print(f" {r['code']} {r['name']}: 区{r['entry_low']}~{r['entry_high']} 中心{c:.2f} | type={r['strategy_type']} | created={r['created_at']} updated={r['updated_at']}")
|
|
|
|
# 2. 找 candidates 里这些股票的评分/买入区(看是不是 promote 写进来的)
|
|
print()
|
|
print('=== candidates 对应记录 ===')
|
|
for code in codes:
|
|
r = conn.execute(
|
|
"SELECT code, name, score, entry_low, entry_high, stop_loss, take_profit, promoted, created_at "
|
|
"FROM candidates WHERE code=?", (code,)).fetchone()
|
|
if r:
|
|
print(f" {r['code']} {r['name']}: score={r['score']} 区{r['entry_low']}~{r['entry_high']} promoted={r['promoted']} created={r['created_at']}")
|
|
|
|
# 3. 还有谁可能是 97 中心:找 entry 中心在 90~105 的活跃自选
|
|
print()
|
|
print('=== 当前活跃自选里中心 90~105 的(可能还有漏网的)===')
|
|
rows = conn.execute(
|
|
"SELECT code, name, entry_low, entry_high FROM holding_strategies "
|
|
"WHERE status='active' AND decision_type='自选策略' AND entry_low > 0").fetchall()
|
|
for r in rows:
|
|
c = (r['entry_low'] + r['entry_high']) / 2
|
|
if 90 <= c <= 105:
|
|
print(f" {r['code']} {r['name']}: 区{r['entry_low']}~{r['entry_high']} 中心{c:.2f}")
|
|
conn.close() |