auto_trade_sys/scripts/UPDATE_MARKET_SCHEME_README.md
薇薇安 452e40bdf5 feat(config): 添加市场状态方案以优化交易策略
在配置管理中引入市场状态方案,允许在不同市场条件下快速切换策略(如熊市、牛市、正常、保守)。更新相关参数以自动覆盖止损、仓位和趋势过滤设置,增强策略灵活性。同时,前端组件更新以支持市场状态方案的展示与选择,提升用户体验。
2026-02-22 19:15:05 +08:00

2.3 KiB
Raw Blame History

市场行情自动识别与 MARKET_SCHEME 更新

1. 功能说明

update_market_scheme.py 基于 Binance 公开 API 自动识别当前市场行情(牛/熊/正常),并可选更新全局配置 MARKET_SCHEME从而自动切换止损、仓位、4H 趋势过滤等参数。

数据来源(无需 API Key

  • 24h 涨跌幅:/fapi/v1/ticker/24hr
  • 资金费率:/fapi/v1/premiumIndex
  • 大户多空比:/futures/data/topLongShortPositionRatio
  • 4H K 线:/fapi/v1/klines(计算 trend_4h

打分规则:

指标 偏多 (+1) 偏空 (-1)
24h 涨跌幅 ≥ 2% ≤ -2%
4H 趋势 up down
资金费率 ≥ 0.00005 ≤ -0.00005
大户多空比 ≥ 1.1 ≤ 0.9

总分 ≥ 2 → bull≤ -2 → bear否则 normal。

2. 使用方式

# 仅检测并打印(不更新 DB
python scripts/update_market_scheme.py

# 若开启 AUTO_MARKET_SCHEME_ENABLED则更新 DB
python scripts/update_market_scheme.py --apply

# 强制更新(忽略 AUTO_MARKET_SCHEME_ENABLED 开关)
python scripts/update_market_scheme.py --apply --force

3. 启用自动更新

  1. 在「全局配置」中设置 AUTO_MARKET_SCHEME_ENABLEDtrue
  2. 或执行一次同步默认配置:cd backend && python sync_global_config_defaults.py,然后在全局配置页手动改为 true
  3. 配置 crontab 定时执行 update_market_scheme.py --apply

4. Crontab 配置示例

每 4 小时执行一次0 点、4 点、8 点…):

0 */4 * * * cd /path/to/auto_trade_sys && /path/to/.venv/bin/python scripts/update_market_scheme.py --apply >> /tmp/update_market_scheme.log 2>&1

或每 6 小时:

0 */6 * * * cd /path/to/auto_trade_sys && /path/to/.venv/bin/python scripts/update_market_scheme.py --apply >> /tmp/update_market_scheme.log 2>&1

5. 注意事项

  • 脚本会清除 global_strategy_config_v5 Redis 缓存,使交易进程下次读取时从 DB 获取最新配置
  • 若希望立即生效,可在前端点击「清除全局缓存」并「重启所有账号交易」
  • 若不开启 AUTO_MARKET_SCHEME_ENABLED,脚本仅打印识别结果,不修改 DB可用 --force 临时强制更新