跳至正文
全部策略

策略

ADA 4H MACD看涨交叉伴随柱状图加速的仅做多策略,标的为ADAUSDT.BINANCE

结局: 已放弃

AdaFourHourMacdBullishCrossoverHistogramAccelerationLong

结局总结

该策略引入了组合中第一个MACD机制——一个仅做多的ADA 4H看涨交叉策略,由histogram acceleration把关以避免震荡的假信号。此前的一次迭代在第-2层因静态方法描述符问题而崩溃;第-2次迭代的修复(模块级EMA辅助函数)使其能够运行,产生了427笔交易。但该优势基本上是收支平衡的(PF 1.02,夏普比率0.06,每笔交易约0.07%低于成本下限),且无法部署——50%冲击成本以及约$392K的容量——收益前置于2020/2021/2023,且在七年中有四年为负。分析师在优化之前就放弃了该策略,得出结论:即便有加速过滤器,交叉信号在震荡行情中仍会反复打脸,对中等流动性的另类币种过度交易会使费用和冲击成本占主导,而调优只会过拟合早期牛市年份并在近期留出集上失败。

假设

一个仅做多、单一标的的MACD交叉动量策略,标的为ADAUSDT.BINANCE——根据FULL系列近期成功的ADA-4H单一标的流水线新增(ADADonchianBreakoutLong4HOnly、ADAWeekendCalendarEffectLong、ADAVolContractionSqueezeLong、ADABullishRSIDivergenceLong、ADADonchianBreakdownShort4HOnly均在仅使用ADA-4HK线的情况下完成了干净的回测——确立了这是最可靠的可测试设置),已确认可测试。在结构上与该组合中此前所有ADA流水线策略均不同:那些策略使用的是价格通道(唐奇安通道)、日历时机(周末效应)、波动率状态(挤压)、均值回归(BB)或单序列动量极值(RSI)。这是该组合中的第一个基于FIRST MACD的策略——使用两条EMA(12和26周期)之间的GAP作为方向信号,并将MACD柱状图的加速作为确认。该机制(Appel 1979《Time Trend Identification with Charts and Technical Methods》;Appel……展开收起

一个仅做多、单一标的的MACD交叉动量策略,标的为ADAUSDT.BINANCE——根据FULL系列近期成功的ADA-4H单一标的流水线新增(ADADonchianBreakoutLong4HOnly、ADAWeekendCalendarEffectLong、ADAVolContractionSqueezeLong、ADABullishRSIDivergenceLong、ADADonchianBreakdownShort4HOnly均在仅使用ADA-4HK线的情况下完成了干净的回测——确立了这是最可靠的可测试设置),已确认可测试。在结构上与该组合中此前所有ADA流水线策略均不同:那些策略使用的是价格通道(唐奇安通道)、日历时机(周末效应)、波动率状态(挤压)、均值回归(BB)或单序列动量极值(RSI)。这是该组合中的第一个基于FIRST MACD的策略——使用两条EMA(12和26周期)之间的GAP作为方向信号,并将MACD柱状图的加速作为确认。该机制(Appel 1979《Time Trend Identification with Charts and Technical Methods》;Appel 2005《Technical Analysis: Power Tools for Active Investors》;在加密货币领域由Caporale-Plastun 2018、Day-Glass-Wang 2020证实):看涨MACD交叉(MACD线上穿ABOVE信号线)表明存在一个短期动量相对于中期动量加速的状态转换。经典交叉信号在震荡市场中有着HIGH的假信号率——因此该策略增加了一个HISTOGRAM ACCELERATION过滤器(柱状图第n根 > 柱状图第n-1根 > 柱状图第n-2根),将入场限制在ACCELERATING的看涨状态下。这解决了此前Keltner区间策略的失败模式:histogram-acceleration过滤器ENSURES我们只在明确趋势(而非区间震荡)的条件下入场。MACD信号在结构上与ADABullishRSIDivergenceLong中使用的RSI不同——RSI衡量的是MAGNITUDE动量;MACD通过EMA差值衡量的是DIRECTION动量。两个信号在实践中经验上不相关。使用ONLY ADAUSDT.BINANCE 4H K线——单一标的、单一时间框架,无跨资产audit_stale风险。填补了关键空白:(1)组合中FIRST MACD-BASED策略(全新的信号类别——EMA差值而非价格/波动率/日历/RSI),(2)单一标的的简洁性,(3)带有恰当趋势过滤器(histogram acceleration)的仅做多策略,(4)已确认可测试的标的。仓位规模:每笔交易18%。每笔交易风险:约1.5%,由止损限定上限。

第-2次迭代针对第-2层TypeError(_ema() takes 2 positional arguments but 3 were given)的最小修复。根本原因:EMA辅助函数是一个@staticmethod,但第-2层的_StrategyProxy会将类可调用对象重新绑定到一个替身实例上,这会丢弃staticmethod描述符,并将代理实例作为注入的第一个位置参数传入,因此这个2参数的函数在每个场景中都被以3个参数调用并抛出异常。修复方案是将EMA辅助函数从类中移出,改为模块级函数_macd_ema(模块函数从不会绑定到实例,因此不会注入self),并更新其在_compute_histogram中的三个调用位置。其他内容未变:导入保持干净(第1层通过),且MACD/柱状图/交叉/加速信号逻辑以及入场/出场/仓位规模逐字节相同,因此不存在早期层级的回归。交易场所仍为BINANCE USD-M期货,杠杆1.0;仓位规模引用了self.config.leverage,但1.0意味着没有放大效应(该仅做多的优势不需要保证金),因此leverage_set_but_unused关卡不会被触发。

ADA 4H MACD看涨交叉基本没有优势,且无法交易:profit_factor 1.023,夏普比率0.058(CI -0.85至0.93),win_rate 33%,单笔交易期望值约0.07%,BELOW约0.15%的期货成本下限(且+17.2%的标题数字在剔除5.7%未实现的期末持仓后实际实现约为11.5%)。决定性地,impact_cost_pct是50.5%的(建模的市场冲击成本吃掉了一半的总盈利),容量仅约$392K,因此表面上的优势只在接近零规模时存在——该策略在4H时间框架下ADA过度交易(427笔交易/约67年,$10.2k佣金+$5.8k冲击成本)。它还前置且逐渐衰减:仅在早期牛市年份(2020/2021/2023)为正,在7年中的4年为负(2022 -8.9%,2024 -8.7%,2025 -2.7%,2026 -7.0%),滚动夏普比率在2026时降至-4——这是典型的MACD交叉反复打脸失败,而histogram-acceleration过滤器并未修复这一问题。代码是正确的,交易行为符合规格,因此这是无优势的经济性加上结构性的流动性/过度交易限制,而非代码缺陷——迭代无法解决问题,优化PF-1.02基准只会拟合早期牛市年份而在近期留出集上失败。不值得投入2小时。这与已放弃的ADA区间异常值(冲击成本36%,容量$790K)以及NEAR 1H唐奇安通道(冲击成本118%,容量$71K)的表现相吻合。FAILURE PATTERN:在4H时间框架下对中等流动性的另类币种使用MACD交叉动量(即便加上histogram-acceleration过滤器)会产生一个收支平衡、无法交易的结果(PF 1.02,夏普比率0.06,每笔交易约0.07%低于成本下限,冲击成本占总盈利的50%,容量约$392K),因为交叉信号在震荡行情中反复打脸,且高交易频率使冲击成本/佣金占主导——另类币种上的震荡指标交叉信号无法产生能覆盖费用的优势,且该结果前置于早期牛市年份,随后逐渐衰减。

实现

仅做多的MACD看涨交叉+柱状图加速动量策略,标的为ADAUSDT.BINANCE USD-M期货,4H K线,纯OHLCV单一数据源。构建经典的12/26/9 MACD(macd线=EMA12-EMA26,信号线=macd的EMA9,柱状图=macd-信号线)。当柱状图刚转为正值(看涨交叉)且AND在过去3根K线上严格上升(用于筛除杂乱假交叉的加速过滤器)时LONG入场。在看跌交叉(柱状图<=0)、8%止损或16%止盈时离场。每根K线返回的信号是MACD柱状图数值(连续,逐根K线变化);交叉+加速条件用于把关入场。杠杆1.0。

验证结果

验证失败(第2层——合成场景): 使用的参数:['accel_bars', 'fast_period', 'slow_period', 'min_notional', 'per_trade_pct', 'signal_period', 'stop_loss_pct', 'take_profit_pct'] 请检查__init__是否从self.parameters.get()设置了所有属性。 - steady_uptrend: TypeError: AdaFourHourMacdBullishCrossoverHistogramAccelerationLong._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735692120000) - steady_downtrend: TypeError: AdaFourHourMacdBullishCrossoverHistogramAccelerationLong._ema() takes 2 positional arguments but 3 were given (bar……展开收起

验证失败(第2层——合成场景): 使用的参数:['accel_bars', 'fast_period', 'slow_period', 'min_notional', 'per_trade_pct', 'signal_period', 'stop_loss_pct', 'take_profit_pct'] 请检查__init__是否从self.parameters.get()设置了所有属性。 - steady_uptrend: TypeError: AdaFourHourMacdBullishCrossoverHistogramAccelerationLong._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735692120000) - steady_downtrend: TypeError: AdaFourHourMacdBullishCrossoverHistogramAccelerationLong._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735692120000) - flat_ranging: TypeError: AdaFourHourMacdBullishCrossoverHistogramAccelerationLong._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735692120000) - volatility_spike: TypeError: AdaFourHourMacdBullishCrossoverHistogramAccelerationLong._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735692120000) - zero_volume: TypeError: AdaFourHourMacdBullishCrossoverHistogramAccelerationLong._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735692120000) - price_gap: TypeError: AdaFourHourMacdBullishCrossoverHistogramAccelerationLong._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735692120000)

回测评审

夏普
0.06
总收益率
17.21%
最大回撤
24.98%
总交易数
427
胜率
33.0%
盈利因子
1.02

实现正确,交易行为与规格一致:427 MACD交叉入场,0被剔除,全部为多头;样本量健康;是该组合中的第一个MACD机制

基本没有优势:profit_factor 1.023,夏普比率0.058(CI -0.85至0.93),win_rate 33%,期望值+$13.3/笔交易(约0.07%,BELOW0.15%期货成本下限);实际实现约5.7%(end_unrealized 11.5%相对于+17.2%的标题数字)

在规模化下无法交易:impact_cost_pct 50.5%(冲击成本吃掉一半的总盈利),容量仅约$392K——只有在接近零规模时该优势才是真实存在的

过度交易且被费用侵蚀:427笔交易(约每年67笔)产生$10.2k佣金+$5.8k冲击成本(占总盈利的4.06%)

前置且逐渐衰减:仅在2020/2021/2023为正;在7年中的4年为负(2022/2024/2025/2026),滚动夏普比率在2026时降至-4——典型的MACD交叉反复打脸失败

结局总结

在4H时间框架下对中等流动性的另类币种使用震荡指标交叉动量(MACD,即便加上histogram-acceleration过滤器)无法产生能覆盖费用的优势——交叉信号在震荡行情中反复打脸,高交易频率使冲击成本/佣金占主导(占总盈利的50%,容量约$392K),且该结果前置于早期牛市年份后逐渐衰减,与已放弃的ADA区间异常值和NEAR 1H唐奇安通道的表现相吻合。

分析师在回测评审阶段放弃了该策略,原因是无优势的经济性以及结构性的流动性/过度交易限制,而非代码缺陷——代码完全按照规格进行了交易,但MACD交叉在震荡行情中会产生反复打脸(histogram-acceleration过滤器并未修复该问题),单笔交易的优势低于成本下限,且在4H时间框架下的过度交易ADA使冲击成本(占总盈利的50%)和佣金占主导,因此优化PF-1.02基准只会拟合早期牛市年份,而在近期的留出集上失败。

一个仅做多的MACD看涨交叉动量策略,标的为ADAUSDT 4H永续合约(纯OHLCV)——这是该组合的第一个MACD机制——当12/26/9柱状图刚转为正值(MACD上穿信号线)且AND在过去3根K线上严格加速时(该过滤器旨在筛除杂乱的假交叉信号)入场做多,遇到看跌交叉、百分比止损或止盈时离场。

在427笔交易的样本中(约每年67笔,全部为多头,无剔除),该策略基本没有优势:盈亏比1.023,夏普比率0.058(CI -0.85至0.93),胜率33%,期望值+$13.3/笔交易(约0.07%,低于0.15%期货成本下限),最大回撤25%;+17.2%的标题数字在剔除11.5%未实现的期末持仓后实际实现约为5.7%,在规模化下无法部署(冲击成本50.5%,容量仅约$392K),且仅在2020/2021/2023为正,滚动夏普比率在2026时降至-4。

Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。