Files
wiki-agentandClaude Opus 4.6 5f080a7842 Add V6 stock strategy analysis and JD fapai scrape skill
- Add V6 strategy section to us-stock-trading-evaluation: fixes indicator
  dilution, SMA period hardcode, and stoploss tier issues; includes hyperopt
  results and backtest comparison
- Add jd-fapai-scrape skill: Playwright-based scraper for JD judicial auction
  properties with incremental update support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-09 07:59:28 +00:00
..

Freqtrade 策略说明与对比

文件清单

quant/
├── README.md                          ← 本文档(策略说明与对比)
├── freqtrade-deploy-guide.md          ← 部署操作指南
├── stoploss_leverage_adjustment.md    ← 止损杠杆调整文档
├── us-stock-trading-evaluation.md    ← 美股交易方案评估(券商对比+框架+代币化股票)
├── multi_asset_channel_breakout_v5_stock.py  ← V5 美股代币化版(OKX spot
│
├── multi_asset_channel_breakout_v5/   ← 当前线上策略
│   ├── multi_asset_channel_breakout_v5.py        (本地副本)
│   ├── multi_asset_channel_breakout_v5.live.py   (线上备份)
│   ├── config.live.json                          (线上 config.json
│   └── config.local.json                         (本地 config.json
│
└── quantdinger/                       ← 旧策略
    ├── quantdinger_strategy.py                    (本地副本)
    ├── quantdinger_strategy.live.py               (线上备份)
    ├── config.json                                QuantDinger 专用配置)
    ├── live_params.json                           (实盘运行参数)
    ├── channel_breakout.strategy_defaults.json    (策略默认参数)
    ├── channel_breakout.yaml                      (策略配置 YAML
    ├── backtest_runtime_defaults.json             (回测运行默认参数)
    └── best_params/                               ← 最优参数组合(搜索结果)
        ├── phase6_offset18_nolock/
        ├── phase7_seed251_c915/
        ├── phase7a_top3_full_year.json
        ├── phase7b_top3_full_year.json
        ├── phase8a_full_year.json
        ├── seed185_candidate_243/
        ├── seed190_candidate_011/
        ├── ...(共 20 组最优参数,每组含 params.json + full_year_backtest.json
        └── seed292_candidate_421/

一、当前线上策略:MultiAssetChannelBreakoutV5

基本信息

  • 策略文件multi_asset_channel_breakout_v5.py
  • 时间周期15m
  • 杠杆:固定 10xOKX 隔离保证金)
  • 交易对BTC/USDT、ETH/USDT
  • 方向:仅做多
  • 代码量186 行,7 个可优化参数

核心逻辑

入场:收盘价突破 ATR 通道上轨 + 在长均线上方 + ADX > 28(趋势+动量共振)。

出场:收盘价跌破 141 周期最低点 + ATR×0.19(通道底动态退出线)。

止损(分段动态,通过 trade.leverage 联动):

盈利阶段 止损行为 价格含义
< 5% 硬止损兜底 价格 -8%
5%~15% 保本+5% 入场价 × 1.05
15%~30% 允许 10% 回撤 当前价 -10%
> 30% 允许 10% 回撤 当前价 -10%

入场二次确认confirm_trade_entry):防假突破(下单价不能低于信号 K 线均线/上轨)+ 防追高(滑点 > 1% 放弃)。

ROI 止盈:关闭(minimal_roi = {"0": 100}),完全依赖信号出场 + 动态止损。

参数配置

参数在策略代码内定义,无外部 JSON。关键参数:

参数 默认值 说明
up_line_span 340 上轨窗口(K 线数)
buy_stop_profit_span 141 下轨窗口
ma_span_long_days 2 长均线天数(×96 = 15m 周期数)
adx_threshold 28 动量阈值
up_line_offset -0.18 上轨 ATR 偏移
buy_stop_profit_offset 0.19 下轨 ATR 偏移
stoploss -0.80 硬止损(保证金维度)

config.json 关键配置

{
    "max_open_trades": 2,
    "stake_amount": "unlimited",
    "tradable_balance_ratio": 0.99,
    "trading_mode": "futures",
    "margin_mode": "isolated",
    "stoploss": -0.80,
    "strategy": "MultiAssetChannelBreakoutV5",
    "pair_whitelist": ["BTC/USDT:USDT", "ETH/USDT:USDT"]
}

二、旧策略:QuantDinger

基本信息

  • 策略文件quantdinger_strategy.py
  • 时间周期5m
  • 杠杆:固定 10xOKX 隔离保证金)
  • 方向:仅做多
  • 代码量521 行,20+ 个可优化参数

核心逻辑

Regime 检测引擎:把市场分为四种状态,带滞回 hysteresis 防频繁切换:

  • 压缩(compression):波动率低于阈值
  • 扩张(expansion):波动率高于阈值
  • 趋势(trend):均线斜率 + 价格位移超阈值
  • 震荡(range):以上都不满足

N 值:自定义 ATR,用 6 个 chunk(每 10 根 K 线)的 high-low spread 的 EMA 平滑。

入场(三种模式,regime 驱动):

  • 趋势:突破上轨 + N 值偏移
  • 压缩/扩张:波动率扩张 + 突破短周期上轨
  • 震荡:回踩短均线后反弹

退出(五层):

  1. 保护止损(入场价 - N 值 × 杠杆系数)
  2. 跟踪止损(通道底 + N 值 × offset)
  3. 保本止损(盈利超 buffer 后启动)
  4. 利润锁定(从峰值盈利回撤 33% 退出)
  5. 时间止损(持仓 1440 根 5m K 线 ≈ 5 天)

仓位管理custom_stake_amount 根据 N 值动态计算仓位,波动大缩小、波动小放大。

杠杆处理:使用 stoploss_from_absolute() 辅助函数,接受 leverage 参数,天然杠杆感知。

参数配置

参数在策略代码内定义,20+ 个 RealParameter/IntParameter。关键参数:

参数 默认值 说明
strategy_lever_rate 1.0 杠杆系数(影响止损+仓位)
profit_line 0.08 利润锁定触发线
lock_profit_rate 0.33 利润回撤锁定比例
up_line_span 1008 上轨窗口
exit_max_loss_pct 0.03 保护止损比例
exit_max_hold_bars 1440 最大持仓 K 线数
stoploss -0.10 硬止损(极宽松兜底)

三、两套策略对比

架构对比

维度 QuantDinger(旧) V5(当前)
时间周期 5m 15m
代码量 521 行 186 行
可优化参数 20+ 7
市场状态识别 四态 regime + hysteresis
入场逻辑 三种 regime 驱动模式 单一突破
退出体系 五层(保护+跟踪+保本+锁利+时间) 两层(信号+分段止损)
仓位管理 动态(N 值驱动) 固定
杠杆处理 stoploss_from_absolute(杠杆感知) trade.leverage 动态联动
预热 K 线 1400+预取 12 天) 600
持仓时长上限 5 天(1440 根 5m 无上限

设计哲学对比

QuantDinger V5
核心理念 自适应系统:感知状态→选策略→动态管理 简单突破:突破就进,跌破就出
复杂度 高(regime 引擎 + 五层退出 + 动态仓位) 低(一个入场 + 一个出场 + 分段止损)
优点 适应不同市场状态,精细化管理 简单鲁棒,不易出错,给足趋势空间
缺点 参数多易过拟合,5m 噪音大,逻辑复杂难维护 不区分市场状态,震荡市可能频繁假突破
适合行情 趋势 + 震荡都能处理 单边趋势行情

止损策略对比

QuantDinger V5
止损维度 价格维度(stoploss_from_absolute 保证金维度(trade.leverage 联动)
硬止损 -0.10(宽松兜底,实际靠 custom_stoploss -0.80(价格 -8%,接近强平线)
跟踪止损 通道底 + N 值 × offset 信号出场(跌破通道底)
保本 盈利 > 0.1% 后,止损 = 入场价 - N×0.3 盈利 > 5% 后,止损 = 入场价 × 1.05
利润锁定 峰值回撤 33% 退出 无(让利润跑)
时间止损 5 天

切换原因

从 QuantDinger 切换到 V5 的主要原因:

  1. 简化QuantDinger 5m + 20+ 参数过于复杂,维护成本高
  2. 止损 bug:V5 原来的止损参数被杠杆压缩 10 倍,已修复并改为 trade.leverage 联动
  3. 趋势空间:V5 的 15m + 宽止损更适合通道突破策略,给趋势更多运行空间
  4. 鲁棒性:策略越简单越不容易在意外行情中出问题

四、部署信息

  • 服务器:Vultr(通过 ecs 跳板访问,SSH config: vultr
  • 路径/opt/freqtrade/user_data/strategies/
  • 配置/opt/freqtrade/user_data/config.json
  • 服务systemctl restart freqtrade
  • 部署详情:见 freqtrade-deploy-guide.md
  • 止损调整记录:见 stoploss_leverage_adjustment.md