Quant Trading · Freqtrade · Binance USDT-M Perpetual

MyFreqtrade 多资产趋势跟踪系统
项目总结与运行状态

2026.05 — 2026.10 · 独立开发 · 从均线指标试验演进到「1h 趋势策略 + 四阶段 ATR 止损 + 分桶 Regime 闸门」,模拟盘部署于阿里云东京 VPS,当前状态实时快照见下。

DRY-RUN 运行中 Freqtrade 2026.9 1h 主策略 / 4h Regime 30 对动态白名单 195 次历史回测

01当前运行状态 (VPS 快照 · 2026-11-03 20:13 北京时间)

模拟盘(dry-run,非真实资金)部署在阿里云东京 VPS,容器 freqtrade-monitor 已稳定运行 4 天。以下为页面生成时通过 SSH 抓取的真实数据库与日志快照。

环境:阿里云东京 · freqtrade-monitor 状态:Up 13 days 策略:EMAMonitor1hV1(Regime 闸门 auto) 白名单:30 对(TradFi 15 + 加密 15)
账户权益(dry-run)
33,194.60
起始 31,000 USDT
累计收益率
+7.08%
+2,194.60 USDT
已平仓笔数
59
10-20 17:00 → 10-24 12:25 (UTC)
胜率
45.8%
27 胜 / 32 负 · 当前持仓 0
图 1:最近 8 笔已平仓交易盈亏(USDT)

亮点:CL 原油空单 +653 USDT(+21.3%)、BZ 空单 +623 USDT(+20.6%)、1000PEPE +528(+17.2%)、SOXS +476(+15.7%);亏损集中在 MSTR 两笔(合计 −567 USDT),与回测"尾部盈利"特征一致。

02策略逻辑

主策略 EMAMonitor1hV1:1h 级别 EMA 趋势跟踪 + 突破确认,多空双向镜像,收益完全由方向性行情驱动。

进场(做多,做空镜像)

EMA24 位于 EMA72、EMA168 之上;三条 EMA 斜率全正;收盘价 > EMA24 且收阳线;收盘价 ≥ 过去 24 根最高收盘(突破确认);乖离率 < 0.15(不追过度偏离);桶 regime 为多;不在美东周末/盘前屏蔽窗口。

出场(任一触发,收线确认)

EMA24 下穿 EMA72;收盘价下穿 EMA72;连续 48 根未创新高;入场后 12 根内未突破入场 K 线高点(时间止损);四阶段止损被击穿。无固定止盈,趋势段由吊灯接管。

四阶段 ATR 止损(核心风控)

1R = 入场时已收盘 K 线 ATR(14) × 2,入场即锁定;任何时刻取 max(初始、保本、阶梯、吊灯),只紧不松。

STAGE 1

裸奔期

初始止损 2×ATR 硬挂在交易所,作为灾难兜底。

0 ~ 0.8R
STAGE 2

保本止损

上移至成本 +0.15%,覆盖双边手续费与资金费。

达 0.8R 触发
STAGE 3

阶梯锁利

达 2R 锁 +1R;达 3R 锁 +2R,逐级抬升。

达 2R / 3R
STAGE 4

吊灯出场

持仓极值 − 2.5×ATR(动态),反超阶梯后接管,只上不下。

吊灯 > 阶梯位

仓位管理

单笔风险 1% 账户权益反推名义仓位;单仓保证金上限 M/10(支持 10 仓);杠杆按 floor(N/(M/10)) 向上取整并受交易所上限截断;入场时锁定 M 与 r_price 写入 custom_data。

03策略演进史(2026.05 → 2026.10)

5 个阶段、20 个策略文件、195 次回测。主线结论:15m 噪音证伪 → 4h 确立稳健基线 → 1h + 多资产 + Regime 闸门成为最终形态。

2026.05

阶段 0 · 指标探索

StochRSI、均线密集度、双/三均线趋势、海龟突破多路线试验,建立 Freqtrade 开发与回测流程。

2026.06

阶段 1 · 均线基线

EMAStrategy 及 6 个变体(base / cs / stacking / v2 / atr / 15m)。发现 15m 复利口径虚高(回测 +18603% 被证伪)、ATR 初版回撤失控(DD 70%)。

4h 窗口代表:EMAStrategy 2021-2026 五年 +483%(口径未统一,仅作方向验证)
2026.07

阶段 2 · 4h 策略成形

4h V2/V3/V4 固定低频周期 + ATR 止损 + 严格趋势过滤,两个不重叠两年区间交叉验证。

4hV2:2022-24 +62.1% DD 10.2%;2024-26 +51.4% DD 5.0% · 4hV4:2024-26 +52.1% DD 4.7%
2026.08-09

阶段 3 · 监控器时期

引入美股永续,15m 在真实近期窗口彻底失败(−23.6% / −41.1%);4h 监控器基本无效;1h 初版样本不足,10 月初出现参数敏感问题。

转向 1h + 多资产双桶 路线
2026.10

阶段 4 · 1h 调优与风控闭环(当前形态)

动态双桶选币(SplitVolumePairList)、四阶段止损、时段过滤、分桶方向开关、Regime 闸门、VPS 上线。

6-10 月全区间:+88.2% DD 26.8%(无闸门 +49.4% / DD 36.6%)
图 2:各阶段代表回测收益对比(%)

04回测结果(当前主口径)

区间 2026.06.08 - 10.20 · 币安 1h OHLCV + 资金费率 · 30 对 · 起始 31000 USDT · 10 仓上限 · Regime 闸门 auto。

总收益率
+88.17%
31000 → 57750 USDT
最大回撤
26.77%
绝对额 13,297 USDT
夏普比率
8.01
索提诺 31.10
交易次数
863
平均持仓 17.5 小时
胜率
31.5%
272 胜 / 591 负
盈亏比
1.23
Expectancy 31.67 USDT/笔
图 3:分窗口 / 分方向对照 — 收益率 vs 最大回撤

Regime 闸门效果

相对无闸门:收益 +39pp、回撤 −10pp。最优参数 4h EMA30 + N=4:长 EMA 抗 whipsaw,N 过大反而滞后。

方向依赖结论

牛市只做多 +114.8%,熊市只做空 +11.3%,做错方向恒定失血(牛市做空 −48.4%)。双向永开在任一 regime 均非最优,槽位释放效应 27-40pp。

05历史回测档案(精选)

累计 195 次回测(ft_userdata 105 + monitor_userdata 90)。以下为各阶段关键节点,跨阶段口径不同,数字不可直接比较。

日期策略 / 配置区间笔数收益回撤胜率PF结论
06-09EMAStrategy2021-20262027+483.1%2.1%50.0%2.10首版基线,仓位口径未统一
06-15EMAStrategy15m2022-202626935+18603.7%17.7%41.9%1.18复利口径虚高,后被证伪
06-24EMAStrategyATR2022-2024177+101.1%70.1%8.5%1.55ATR 方向对但回撤失控
07-02EMAStrategy4hV22022-2024370+62.1%10.2%40.5%1.784h 首版稳定盈利
07-19EMAStrategy4hV42024-2026393+52.1%4.7%33.3%1.934h 最稳健形态
08-28EMAStrategy15mV12026.05-083661−23.6%29.4%23.6%0.8515m 真实窗口彻底失败
09-24EMAMonitor4hV12026.01-09132+0.6%9.5%25.8%1.024h 监控器基本无效
10-05EMAMonitor1hV12026.03-09500+113.9%32.9%38.0%1.23修复后正期望,回撤仍高
10-071hV1(30 对,旧代码)08.10-10.07561+24.2%33.4%28.5%1.07动态选币上线,牛市双向
10-071hV1Long(只做多)08.10-10.07353+114.8%15.7%32.3%1.48牛市正确方向
10-111hV1Short(只做空)06.15-07.30237+11.3%35.6%32.9%1.11熊市正确方向
10-111hV1Short(只做空)08.10-10.07244−48.4%52.9%22.1%0.47牛市做空最惨
10-2010 月双向全开10.01-10.20147+21.6%19.6%33.3%1.34震荡市基准
10-2010 月仅做空10.01-10.20105+49.0%13.1%45.7%2.23熊市/震荡最优
10-206-10 月无闸门06.08-10.201132+49.4%36.6%30.6%1.09对照基线
10-206-10 月 Regime 闸门06.08-10.20863+88.2%26.8%31.5%1.23最终采纳配置

06风控措施与自定义开发

技术栈:Python · Freqtrade 2026.6/2026.9 · SQLite · pandas / numpy / TA-Lib · Docker Compose · 企业微信 Webhook · 阿里云 VPS。

风控措施

  • 四阶段 ATR 单笔止损 + 交易所 2×ATR 兜底单
  • 最大持仓 10 仓,单仓保证金硬约束 M/10
  • 杠杆控制:整数杠杆 + 交易所上限截断
  • 时段过滤:美东周末 / 盘前屏蔽
  • 分桶方向开关:auto / long / short / both / off
  • Regime 闸门:桶等权指数 4h EMA30 斜率
  • 最大日亏损熔断(2R,设计中未落地)
  • 黑天鹅熔断(仅靠初始硬止损)

自定义开发

  • 策略类:继承 IStrategy,INTERFACE_VERSION=3
  • 指标:桶等权指数、EMA 斜率 regime、乖离率
  • custom_stoploss + custom_exit 四阶段状态机
  • 仓位管理:leverage × custom_stake_amount 联动
  • SplitVolumePairList 双桶配额选币插件
  • custom_data 止损点位发布,freqUI 可见
  • 回测可视化:open_trades_analyzer / 归因脚本
  • 企业微信 Webhook 开平仓推送

07踩坑记录(精选)

每条都来自真实事故或回测证伪,已写入 AGENTS.md 沉淀为团队规范。

shift(-1) 实盘 100% 失效

实盘信号行 iloc[-1] 之后无数据 → NaN → fillna(False) 全部放行,周一凌晨连开 7 笔。改用时间轴算术判成交时刻。

iloc[-1] 回测/实盘语义分叉

回测中 iloc[-1] 是信号根而非当前行;改用时间过滤已收盘 K 线,四阶段状态不再滞后一根。

Regime 单品种代理失效

BTC 代表加密桶在牛市回调中误判空头(59% 时间);改用桶内全品种等权归一化指数。

早期回测的复利幻觉

15m 回测 +18603% 系全仓复利口径所致;统一为 1% 风险反推后真实水平仅 20-30%。可复现的 50% 远胜不可信的 18000%。

杠杆与仓位调用顺序

leverage() 先于 custom_stake_amount();顺序反了导致读取上一笔残留杠杆,仓位放大。

回测缓存污染

--cache day 复用旧结果,改代码后结果不变。全流程强制 --cache none + A/B 逐笔 diff。

数据格式与补历史

本地 JSON 数据需配 dataformat_ohlcv;补历史漏 --prepend 会被 append-only 静默跳过。

多币种容量问题

10 槽 × M/10 零余量,末笔必然被可用余额截断;同根 K 线 23% 信号集中,本质是同一宏观 bet。

Pairlist 插件注入

schema 把 AVAILABLE_PAIRLISTS 硬编码为 enum 且校验先于 resolver;entrypoint 幂等 sed 注入解决。

VPS 部署坑

IP 被墙需 Mihomo 加 IP-CIDR 规则;user_data 必须 chown UID 1000,否则容器日志 handler 崩溃。