策略
SOL 趋势强度门控DMI动量,多空(单一标的SOLUSDT.BINANCE永续合约,4小时K线——仅在ADX确认真实趋势时交易方向性动量ONLY,震荡时空仓,ATR追踪止损,3个参数)
结局: 已放弃
SolAdxGatedDmiMomentumLS
可测量样本:133 笔交易,历时 6 年(远高于约 100 笔的下限),因此这不是无法测量的失败模式
假设
一种LONG-SHORT、单一标的、纯OHLCV策略,针对SOLUSDT.BINANCE USD-M永续合约交易方向性动量ONLY,仅当趋势STRENGTH门控(ADX)确认真实趋势正在形成时才交易,震荡期间则空仓。它运用本策略工厂中唯一已证明具有正向优势的原则——幸存策略的SELECTIVE方向过滤器(仅在高确信度确认时持仓,否则空仓)——并采用我待处理队列中的一个确认维度NOT:趋势强度(ADX/DMI),这不同于双时间框架一致性(BTC/XRP)、EMA+摆动结构(LINK)和成交量激增(ETH)。这直接针对本时段的UNGATED个4小时方向性信号(唐奇安突破、EMA通道、区间MR)为何都呈现NEGATIVE单笔交易期望收益:它们在震荡行情中交易,而震荡中不存在方向性优势。ADX门控是经典且稳健的解决方案——它衡量趋势是否存在,因此策略只在有趋势可供跟随时才进行动量交易。它旨在避开所有已确认的失败模式:NOT日线系统(BNB海龟策略刚刚失败UNMEASURABLE——日线交易次数太少),NOT期权/补充型/低频想法(在开发阶段失败或无法衡量),NOT主要币种横截面轮动(被L32禁止)。这是SIMPLE纯OHLCV单一标的策略,使用标准增量指标(开发者无需处理掉期/超时即可交付);处于手续费可行且可衡量的区间(SOL约2-5%的4小时趋势波段远超约0.10%的手续费;ADX/DMI信号在多年历史中约触发120-200次),填补未达目标的LONG-SHORT类别(13.4%,而现有组合仅做多且为86%),并以一个新的单一标的补充SOL(区别于已失败的SOL-HL突破策略——交易场所和机制均不同)。仅3个参数。
先直说结论:我自己预先承诺的放弃标准已满足,我给分析师的建议是 ABANDON——这次提交并不是为了挽救这个优势。第 2 次迭代时,我已明确写道:如果修正几何结构且未耗尽入场机会的版本仍然为负,那么 ADX 的滞后特性就无法通过过滤修复。QA 现在已经精确测得这一点,而决定性数字并非收益,而是 WIN RATE WAS 0.25 IN BOTH ITERATIONS 保持不变;与此同时,两项机制修复各自都达到了预期效果:DI 交叉滞回修复了盈亏几何结构(RR 0.72 -> 1.66),反耗尽过滤器也确实剔除了最差的晚入场交易(PF 0.241 -> 0.553)。两者都没有改变方向准确率,而 0.25 x 1776 - 0.75 x 1071 = -$359/笔交易,这只是算术结果,不是调参问题——四次入场中有三次方向错误,因此任何退出设计或止损距离都无法修复它。基于此,我唯一做的改动是 REVERT,因为 QA 表明反耗尽过滤器不影响准确率,却会摧毁样本:它将样本从 28 笔交易缩减至 16 笔,并引入偏度 2.08 / 峰度 28.9 假象,导致剩余统计结果不可信;也就是说,它让放弃决策仅建立在两个异常值之上。移除它(即删除 should_enter 中的两项 ADX 级测试及其两个锁定常量;已明确修复真实缺陷的 DI 交叉退出滞回予以保留),就能在 SOL 4H 上,用最大且最干净的样本测量正确几何结构下的入场是否存在任何方向优势。这才是最终评估应有的样子。我预计结果仍会是负的;如果确实如此,正确做法是放弃而非优化:两种独立构造的准确率都固定在恰好 0.25,不存在可供参数搜索找到的正样本内优势,而调整 adx_gate/dmi_period/trail_atr_mult 只会拟合异常交易——本轮会话中更早的共振移植正是因此在 PBO 上失败的。差异仅有三处删除;导入、类、连续的 ADX 加权信号、入场交叉、其余退出逻辑和仓位规模路径均未触及,因此此前各层都不会发生回归。没有为 >100% 风险指标调整仓位规模;我同意 QA 的看法:以风险为锚的数量,加上独立的 1x 权益上限,在杠杆 1.0 下不可能产生 1205% 回撤且 liquidated=false,这属于引擎端修复。
单合约永续 OHLCV ADX 加门方向性趋势,具有真正的单笔交易优势(avg_trade_return_pct 1.70%,PF 1.28),但风险调整后的信号不显著、不符合晋升条件:夏普 0.48,自助法置信区间 CI [-0.32, 1.23] 横跨零点(PSR 0.77)。基准夏普 0.48 远低于约 1.5 的晋升门槛,并低于 L82 动量族优化阈值(夏普 >~1.3,PF >2.0);N 次最佳优化仅被 DSR/留出样本回压,因此不存在显著晋升的现实路径。它还对近期数据脆弱 -- 在平静行情下失血(夏普 -0.47),且 2026 是 -10.2%,滚动夏普降至 -4.7,因此最后-20% 留出样本处于恶化行情中,注定会触发硬性留出门槛。不值得 2 小时的优化。注:开发者的预承诺 ABANDON 理由(WR 0.25,-$359/笔)来自 16-28 笔交易的沙盒,并被完整的 133 笔交易回测(WR 0.35,正向期望值)推翻 -- 正确的放弃理由是基准夏普不显著/偏低及留出样本行情脆弱性,而非开发者的算术。失败模式:no_edge/过拟合单合约永续 OHLCV 方向性趋势,sub-1.0 不显著基准夏普(L63/L82)。
实现
在 SOLUSDT.BINANCE USD-M 永续合约上,以 ADX 门控的 DMI 动量进行多空交易,使用 4H K线,纯 OHLCV。信号为 ADX 加权的 DI 差值(((+DI - -DI)/100 x ADX/25)),在方向和趋势强度上均连续且单调。入场要求 ADX >= adx_gate(震荡时空仓),并且信号需新近穿越 +/- di_min_spread。退出条件为:(a) DI 交叉方向逆着持仓移动 di_exit_margin(滞回 5 DI 点,因此只要趋势仍完好,单次逆趋势回调就继续持有);(b) ADX 跌破低于入场门槛的 0.6 x;(c) 从入场后最佳收盘价起算 trail_atr_mult 个 ATR 的 ATR 跟踪止损。仓位规模设置为若触及跟踪止损则承担固定 2% 的权益风险,毛名义仓位上限为权益的 1x,并按 SOL 的整单位步长向下取整。三个可调参数:adx_gate、dmi_period、trail_atr_mult。
验证结果
CLEAN RESTART 2026-09-04 — 本次运行的结论历史和学习记录已移除,并从验证阶段重新启动。此前放弃该策略是由流水线导致的,而非市场因素:Layer-2 测试框架错误绑定了 @staticmethod 辅助函数(已修复),QA 在未经优化的冒烟测试上给出了终局性能结论(已移除——QA 现在只判断正确性),沙箱超时源于回测槽位耗尽(已修复)。假设和策略代码均未改变。请根据代码本身进行验证;性能将由之后的完整回测和优化器决定。
边缘性、依赖趋势制度、由尾部支撑的优势:win_rate 0.35,正期望值依赖于 ATR-追踪让盈利奔跑(avg_win 2.5x avg_loss;峰度 9.9)以及 ADX 门控避免震荡(平静三分位 -10.6%)。Sharpe CI 包含零。合法的 ADX-门控趋势跟踪者画像,而非缺陷;悬而未决的问题是 OOS 持续性。需大幅加权重前走/留出测试;确认 avg_trade_return_pct 保持为正且 win_rate 高于 ~0.30;不要在肥尾赢家上过度调参。
回测评审
- 夏普
- 0.48
- 总收益率
- 41.34%
- 最大回撤
- 14.86%
- 总交易数
- 133
- 胜率
- 35.3%
- 盈利因子
- 1.28
可测量样本:133 笔交易,历时 6 年(远高于约 100 笔的下限),因此这不是无法测量的失败模式
真正的单笔交易优势:avg_trade_return_pct 1.70% 远超约 0.10% 的往返手续费;PF 1.28 且 RR ~2.3(avg_win 3220 vs avg_loss 1374)— 并非因手续费而失效
风险受控:max_drawdown 14.9%,无强平,敞口仅为 26.6%
开发者预先承诺的 ABANDON 基于错误的 16-28 笔交易沙箱结果(WR 0.25);完整回测实际上更好(WR 0.35,预期收益为正)——因此其理由无效,但这并不能挽救该策略
夏普比率为 0.48,自助法估计为 CI [-0.32, 1.23],跨越零点,且 PSR 0.77(<0.95)——风险调整后优势在统计上无法与零区分
基准夏普 0.48 远低于约 1.5 的晋升门槛;优化的 N 次最佳选择被 DSR/留出样本回压,因此不存在显著晋升的现实路径
低于 L82 动量族的优化授权阈值(夏普比率 >~1.3,PF >2.0);这一单一-TF、ADX门控变体不属于获提升的双-TF共振类别
对市场状态/近期表现脆弱:在平静市场三分位组中亏损(夏普比率 -0.47,-10.6%);2026 年度 -10.2%,滚动夏普比率跌至 -4.7——最后-20%留出集处于这一恶化的市场状态,极可能无法通过硬性留出集门槛
CAGR 在 6 年内仅 4.9%
迭代历史
验证失败(第 4 层 — QA 审核): - DECISIVELY NEGATIVE EDGE -- 该时段 WORST 的方向性结果,以及 ADX 的'趋势存在'门槛并未挽救它,反而使其更糟。在可测量的 28 笔交易 / 363 天样本中(metrics_reliable=true):avg_trade_return_pct -1.71%,profit_factor 0.241(每赢得 $1 就亏损约 $4),夏普 -1.63(CI [-3.29, 0.06],probabilistic_sharpe 0.024),win_rate 0.25,total_return -13.5%,期望值 -$482/笔。尽管采用了退出滞后设计,收益:风险再次被倒置:avg_win $611 < avg_loss $847(RR 0.72)。该假设的前提 -- '该时段未加门的 4H 方向系统因在震荡行情中交易而失血,而 ADX 通过仅在趋势存在时交易来修复此问题' -- 被证伪:对 ADX 加门产生了 LOWER 的胜率(25%),比未加门的同类(30-41%)更差,因为 ADX 是一种 LAGGING 的趋势存在度量,所以仅在趋势已基本走完、入场系统性滞后时才确认趋势 -- 在 SOL 4H 的确认强势接近衰竭时买入,随后出现均值回归。这正是开发者标记为最可能的失败模式('ADX 是一种滞后度量...入场本质上是滞后的')。DI 交叉退出随后提前削减偶发的赢家(小赢),而亏损则运行至 ATR 跟踪 / ADX 崩盘(更大亏损),再现了倒置的几何结构。3 参数抗过拟合表面已无意义 -- 样本内没有可供优化发挥的正向边缘。 - IMPLAUSIBLE RISK-METRIC UNITS -- 验证(未变更,引擎端)。max_drawdown 14.47(1447%,CI [7.26, 25.28]),cvar_95 1.18 仍 >100%,尽管存在杠杆 1.0、risk_pct 0.02、1.0x 名义上限(avg_position_pct 28.8%)以及 liquidated=false -- 这是会话级度量归一化约定,而非仓位调整错误(仓位调整正确:以风险为锚,独立上限,下限 + 最小名义)。仅标记以供引擎端确认。
验证失败(Layer 4 — QA 审查): - BOTH FIXES WORKED MECHANICALLY YET THE EDGE IS STILL DECISIVELY NEGATIVE,AND THE WIN RATE IS IMMOVABLE —— 开发者预先承诺的放弃标准已满足。DI交叉退出滞回修复了盈亏几何结构(avg_win $1776 > avg_loss $1071,RR 1.66,较反转的 0.72 有所改善),反耗尽过滤器也剔除了最差的晚入场交易(PF 0.241 -> 0.553),但策略仍明显净亏损:avg_trade_return_pct -1.42%(原为 -1.71%),profit_factor 0.553,夏普比率 -0.484(CI [-2.24, 1.09]),total_return -5.75%,每笔交易预期收益 -$359。THE DECISIVE FACT:win_rate 仍恰好为 0.25——与第 1 次迭代完全相同。反耗尽入场过滤器和任何退出变更都没有改变方向ACCURACY:经 ADX 门控的 DMI 入场无论如何管理交易,约有 75% 的概率方向错误,因此 1.66 RR 无法挽救它(0.25 x 1776 - 0.75 x 1071 = -$359/笔交易)。这证明入场没有方向优势,完全符合开发者自己提出的标准:“如果一个未耗尽入场且几何结构已修正的版本仍然 STILL 为负,那么 ADX 的滞后特性就无法通过过滤修复,经过 ADX 门控的 4H 趋势延续策略在 SOL 上没有方向优势——应当 ABANDON,而不是进行第三次迭代。”此外,反耗尽过滤器将样本从 28 笔交易缩减至 16 笔,现在已接近无法测量(偏度 2.08 / 峰度 28.9——少数几笔交易占据主导)。 - IMPLAUSIBLE RISK-METRIC UNITS —— 需要验证(保持不变,引擎端)。max_drawdown 12.05(1205%,CI [5.38, 21.29]),cvar_95 1.36 尽管杠杆为 1.0,仍超过 100%;risk_pct 0.02,名义仓位上限为 1.0x(avg_position_pct 29.2%),且 liquidated=false——这是本轮会话统一的指标归一化约定,并非仓位规模错误(仓位规模未改变)。仅标记供引擎端确认。
验证失败(第 4 层 — QA 审查): - ABANDON CONFIRMED ON THE CLEAN,LARGER SAMPLE -- 决定性负面优势,且开发者建议一开始就放弃。撤销破坏样本的反衰竭过滤器(仅保留修复了真实几何缺陷的 DI-交叉退出滞后)后,可得到预期的更清晰读数:23 笔交易(较迭代 2 的 16 增加),metrics_reliable=true,avg_trade_return_pct -1.39%,profit_factor 0.462,Sharpe -0.766(CI [-2.63,0.88]),total_return -9.64%,期望值 -$419/笔。Win_rate 为 0.304 -- 与迭代 1-2 中测得的 0.25 基本一致(在此样本量下处于噪声范围内)-- 因此入场在约 70% 的时间内方向上仍然错误,而在已修复的 RR(avg_win $1184 ~ avg_loss $1121,RR ~1.06)下,按算术计算该命中率是明确的净亏损。这是跨两种独立机制构建的第三次相同结论测量:ADX-门控的 DMI 入场没有任何可通过交易管理挽救的方向准确性,正符合开发者预先承诺的标准("如果校正几何版本仍为负,则 ADX 的滞后性质无法通过过滤修复 -- ABANDON")。ADX 是一个滞后的趋势存在性度量,因此在趋势大部分已经运行之后才予以确认;在 SOL 4H 上,这是一种系统性的滞后、近乎衰竭的入场。 - IMPLAUSIBLE RISK-METRIC UNITS -- 验证(未变更,引擎端)。max_drawdown 13.99(1399%,CI [6.72,25.66]),var_95 1.04,cvar_95 1.51 均 >100%,尽管杠杆为 1.0,risk_pct 0.02,1.0x 名义上限(avg_position_pct 29.5%),且 liquidated=false -- 这是会话范围的指标归一化约定,而非规模错误(规模未变更)。仅标记供引擎端确认。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。