您应该了解的MQL5向导技巧(第六十五部分):使用FrAMA与强力指数的交易形态
引言
本系列文章将继续讲解指标组合策略,前一篇我们探讨了德马克指标(DeMarker)与包络线通道(Envelopes),本次则聚焦FrAMA与强力指数震荡指标的组合用法。FrAMA属于移动平均线类的趋势信号指标,而强力指数则通过成交量验证趋势是否具备持续性。与之前的文章一样,我们将分析由这两个指标组合生成的10种经典交易形态。我们使用欧元兑美元(EURUSD)4小时周期数据进行参数训练与优化,时间范围为2023年。再使用同一货币对2024年的数据进行前向测试。
FrAMA与强力指数背离
第一种交易形态来自FrAMA与强力指数之间的背离。看涨信号:当FrAMA显示下降趋势、价格创更低低点或持续运行在FrAMA下方时,强力指数却形成更高的低点,意味着卖出压力正在减弱。尽管定义相对严谨,这种简单形态仍可通过多种方式实现。我们采用的实现逻辑为:价格跌破FrAMA,且强力指数从低位回升、高于前一低点,但仍处于零轴下方。
看跌信号:当FrAMA确认上升趋势、价格创更高高点,与此同时,强力指数形成更低高点,意味着买入压力正在减弱。我们将在MQL5中按如下方式实现看涨与看跌形态:
//+------------------------------------------------------------------+ //| Check for Pattern 0. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_0(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Close(X()) < FRM(X()) && Close(X() + 1) > FRM(X() + 1) && 0.0 > FRC(X()) && FRC(X()) > FRC(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && Close(X()) > FRM(X()) && Close(X() + 1) < FRM(X() + 1) && 0.0 < FRC(X()) && FRC(X()) < FRC(X() + 1)) { return(true); } return(false); }
该形态通过对比FrAMA的趋势方向与强力指数的动量,来识别潜在的趋势反转。通常,强烈的看涨/看跌背离预示着趋势正在减弱,这是核心入场逻辑。因此,该形态结合了自适应趋势跟踪与成交量加权动量。
FrAMA依据分形几何自适应调整平滑周期,使其能在过滤噪音的同时,对价格变化保持高度灵敏。而强力指数则通过价格变动 × 成交量来衡量价格波动强度,可作为买入/卖出压力的代表指标。当出现看涨/看跌背离时,FrAMA显示下跌趋势,但强力指数形成更高低点,表明当前下跌趋势动能不足。看跌背离则与之相反。该形态本质上用于捕捉市场的波段转折点与拐点。训练/优化后的测试结果如下,该形态在指定的2024年一年周期内,其前向测试表现不佳。

带强力指数确认的FrAMA交叉信号
形态1基于FrAMA均线交叉并结合强力指数判断信号。看涨信号:价格向上突破FrAMA,或快速FrAMA线上穿慢速FrAMA线,与此同时,强力指数同步上穿零轴。看跌信号:价格向下跌破FrAMA线,同时,强力指数同步下穿零轴并收于其下方。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 1. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_1(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Close(X()) > FRM(X()) && Close(X() + 1) < FRM(X() + 1) && 0.0 > FRC(X() + 1) && FRC(X()) > 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && Close(X()) < FRM(X()) && Close(X() + 1) > FRM(X() + 1) && 0.0 < FRC(X() + 1) && FRC(X()) < 0.0) { return(true); } return(false); }
该形态依赖双重交叉信号:一种用于判断趋势变化(即FrAMA均线交叉);另一种用于确认成交量支撑的动量(即强力指数)。这有助于在震荡市场中减少虚假信号。FrAMA交叉也可以通过快速FrAMA和慢速FrAMA的交叉来实现,此时信号取自快速线的交叉,而非价格。。例如,可选用14和50这两个周期参数。此外,强力指数扮演验证指标的角色,确认趋势变化是否得到成交量的支撑。
该形态在趋势行情中效果显著,因为FrAMA的自适应性能够及时识别趋势,而强力指数则过滤掉低成交量的突破。在实际应用时,建议将FrAMA周期设置在12-50区间,以捕捉中期趋势。强力指数上穿/下穿零轴的条件,也可以替换为上穿/下穿它自身的移动平均线(如果有该数据缓冲)。该形态不适合在市场盘整阶段使用,因为FrAMA交叉在此环境中会频繁产生大量虚假信号(洗盘)。想要获得理想的效果,关键是回测优化出合适的FrAMA与强力指数周期;而我们尚未进行这一步,目前两者均直接使用了14周期。以下是包含训练期与测试期的策略测试结果。该形态同样未能通过前向测试:

带强力指数超买/超卖形态的FrAMA趋势方向
形态2采用FrAMA趋势方向结合强力指数的超买/超卖状态判断信号。买入信号:价格运行在FrAMA上方(确认上升趋势),同时,强力指数进入超卖区间后开始回升。强力指数的这一回调反弹被视为买入机会。卖出信号:价格运行在FrAMA下方(确认下降趋势),同时,强力指数进入超买区间后开始回落。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 2. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_2(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Close(X()) > FRM(X()) && 0.0 >= FRC(X()) && FRC(X()) > FRC(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && Close(X()) < FRM(X()) && 0.0 <= FRC(X()) && FRC(X()) < FRC(X() + 1)) { return(true); } return(false); }
该信号形态结合了FrAMA的趋势确认与强力指数的极值区间,用于识别回调与反转点位。它非常适合在趋势行情中执行均值回归策略。在超买/超卖区域出现成交量放量,能显著提升该信号的可靠性。该形态充分利用了FrAMA清晰的趋势判断能力,以及强力指数基于成交量加权的极值信号优势。可根据交易品种的波动率,调整强力指数的超买超卖阈值。在本策略中,我们并未使用固定的绝对阈值,因为这类数值会随品种价格单位而变化。取而代之,我们通过强力指数自身的形态来判断是否触及阈值。因此,结合关键支撑位的价格回调或K线形态进行二次确认,能大幅优化该信号的精准度。
该形态可用于1小时等较短周期的日内交易,同时也能与更高周期保持方向一致。切勿在强趋势行情中逆势交易,除非强力指数出现明显的极端背离信号。该形态同样未能通过前向测试:测试报告如下:

带平滑处理后强力指数的FrAMA斜率
形态3采用FrAMA斜率结合平滑处理后的强力指数判断信号。看涨信号:FrAMA呈现陡峭的正斜率(强劲上涨趋势),同时,平滑后的强力指数在正值区域大幅冲高。看跌信号:FrAMA呈现陡峭的负斜率(强劲下跌趋势),同时,平滑后的强力指数为负值且持续走低。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 3. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_3(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && FRM(X()) - FRM(X() + 1) > FRM(X() + 1) - FRM(X() + 2) && FRM(X() + 1) - FRM(X() + 2) > 0.0 && FRC(X()) - FRC(X() + 1) > FRC(X() + 1) - FRC(X() + 2) && FRC(X() + 1) - FRC(X() + 2) > 0.0) { return(true); } else if(T == POSITION_TYPE_BUY && FRM(X()) - FRM(X() + 1) < FRM(X() + 1) - FRM(X() + 2) && FRM(X() + 1) - FRM(X() + 2) < 0.0 && FRC(X()) - FRC(X() + 1) < FRC(X() + 1) - FRC(X() + 2) && FRC(X() + 1) - FRC(X() + 2) < 0.0) { return(true); } return(false); }
我们并未读取二次平滑缓冲区,而是观察强力指数的变化幅度。通过追踪这些变化的大小并关注其增幅,相当于模拟出了一条平滑后的强力指数。该形态通过FrAMA斜率衡量趋势强度,并与平滑后的强力指数结合使用,在成交量稳定的趋势行情中效果较好。
在其他实现方式中,如果要计算FrAMA角度,可将斜率换算为变化率。变化率越高,代表角度越陡峭;变化率越低,代表角度越平缓。因此,我们也使用FrAMA变化率作为斜率抬升的代表指标。策略中使用的平滑强力指数,能够过滤短期噪音,突出具备持续动量的价格行为。因此,将这两者结合起来:如果FrAMA斜率陡峭上行且平滑强力指数上升,则确认存在强劲的看涨趋势;如果斜率下降且强力指数回落,则表明存在显著的看跌势头。这组指标组合在波段交易中表现稳健,因为它专注于捕捉持续性趋势。该形态同样未通过前向测试,测试报告如下:

在实际编写时,如果觉得变化率的灵敏度不足,也可以对FrAMA斜率的计算方式进行调整。使用变化率方法时,周期设置在13~21之间,通常能在灵敏度与降噪之间取得更好平衡。入场时机应选择在两个指标方向一致时,即同为正斜率或同为负斜率。离场信号则可通过FrAMA斜率走平或强力指数反转来判断,标志着趋势衰竭。
带强力指数放量的FrAMA突破
形态4采用FrAMA有效突破配合强力指数放量冲高判断信号。看涨信号:价格明确向上突破FrAMA,通常突破幅度超过1%,同时,强力指数出现大幅正向尖刺,约为其均值的两倍,表明买盘成交量显著放大。看跌信号:价格明确向下跌破FrAMA且幅度足够,同时,强力指数出现大幅负向尖刺,同样约为均值的两倍,表明卖盘成交量显著放大。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 4. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_4(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Close(X()) > FRM(X()) && Close(X() + 1) < FRM(X() + 1) && Close(X()) - Close(X() + 1) >= High(X() + 1) - Low(X() + 1) && FRC(X()) >= 2.0 * FRC(X() + 1) && FRC(X() + 1) > 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && Close(X()) < FRM(X()) && Close(X() + 1) > FRM(X() + 1) && Close(X()) - Close(X() + 1) <= High(X() + 1) - Low(X() + 1) && FRC(X()) <= 2.0 * FRC(X() + 1) && FRC(X() + 1) < 0.0) { return(true); } return(false); }
该形态通过价格大幅向上或向下突破FrAMA来识别突破行情,并由强力指数放量确认突破有效性。在高波动市场环境中,这通常属于概率较高的交易形态。FrAMA突破预示着新趋势启动,而强力指数则充当过滤假突破的验证工具。该指标组合非常适合高波动资产,例如加密货币或小盘股 —— 在这类资产中,成交量放量往往领先于持续性行情。FrAMA的自适应性确保能及时捕捉突破信号,而强力指数则有效过滤虚假突破。
该形态要求强力指数的放量幅度至少达到平均值/前值的两倍。如果突破发生在关键价位,可叠加三角形、旗形等图表形态做附加确认。将止损位设置在FrAMA下方或上方,也能有效降低风险。需持续监控成交量趋势,避免在低流动性市场中逆势对抗突破。该形态测试结果如下,遗憾的是,与这组指标在14周期下的大多数形态一样,仍未通过前向测试。

带强力指数反转的FrAMA支撑/阻力位
形态5采用FrAMA作为动态支撑/阻力位,结合强力指数反转判断信号。看涨信号:价格在FrAMA这一动态支撑位获得反弹,即价格从上方回落、触及或接近FrAMA后出现反弹。与此同时,强力指数上穿零轴,或在其他实现方式中上穿其5/13周期指数移动平均线(EMA)。这标志着看涨成交量开始放大。
看跌信号:当价格在下跌趋势中触及或接近FrAMA时,FrAMA作为动态位遇阻,同时,强力指数下穿零轴或其自身均线,标志着看跌成交量开始增强。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 5. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_5(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Close(X()) >= FRM(X()) && Close(X() + 1) <= FRM(X() + 1) && Close(X() + 2) >= FRM(X() + 2) && FRC(X()) > 0.0 && FRC(X() + 1) < 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && Close(X()) <= FRM(X()) && Close(X() + 1) >= FRM(X() + 1) && Close(X() + 2) <= FRM(X() + 2) && FRC(X()) < 0.0 && FRC(X() + 1) > 0.0) { return(true); } return(false); }
该形态结合了趋势环境与动量转向,在震荡与趋势行情中均有不错的表现。FrAMA充当动态支撑与阻力位,价格在此出现反弹或遇阻,而强力指数则给出反转信号。这一组合适用性广泛,因为FrAMA会自适应市场环境,强力指数则提供精准的入场时机。
在历史数据中测试该形态,需要先验证FrAMA作为支撑/阻力位的可靠性。如果希望强力指数的信号更灵敏,可以考虑用强力指数的均线替代本文所用的判断方式。该形态也可与宏观静态支撑/阻力区域结合使用,以获得更高的共振。在低成交量时段应避免交易,因为此时强力指数可能出现滞后。该形态同样在仅用2023年的数据训练、2024年的数据测试的模式下,未能通过前向测试。其跨周期测试报告如下:

带强力指数回调的FrAMA趋势延续
我们的第七种形态(形态6)基于FrAMA趋势延续与强力指数回调判断信号。看涨信号:价格持续运行在FrAMA上方,确认看涨趋势,同时,强力指数向零轴回落,甚至小幅转为负值,随后从该处回升并翻正。这标志着买盘压力重新增强。
看跌信号:价格持续在FrAMA下方,确认看跌形态。强力指数从负值区域向零轴回升,甚至短暂上穿零轴,随后重新回落至零轴下方。与看涨信号类似,这标志着卖出压力重新增强。简言之,形态6旨在回调过程中识别趋势延续的交易机会。FrAMA定义趋势方向,强力指数验证成交量动能回归。理论上,该形态在强势趋势中具备较高的风险回报比。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 6. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_6(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Close(X()) > FRM(X()) && Close(X() + 1) > FRM(X() + 1) && Close(X() + 2) > FRM(X() + 2) && FRC(X()) > 0.0 && FRC(X() + 1) <= 0.0 && FRC(X() + 2) >= 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && Close(X()) < FRM(X()) && Close(X() + 1) < FRM(X() + 1) && Close(X() + 2) < FRM(X() + 2) && FRC(X()) < 0.0 && FRC(X() + 1) >= 0.0 && FRC(X() + 2) <= 0.0) { return(true); } return(false); }
该形态同样适合在回调后顺势入场,因为 FrAMA 可以确认趋势仍在延续,而强力指数验证成交量配合。实际使用时,务必等待强力指数在零轴附近企稳回升后再做决策,因为趋势通常具有持续性。可以搭配斐波那契回调位辅助使用,让回调位置与斐波那契回撤区域相互印证。止损可设置在近期波段高低点,或以FrAMA作为参考。
该形态不适用于震荡市场,因为此时的回调更易形成虚假信号。本形态是仅有的两个能通过一年期前向测试的策略之一,且仅使用前一年数据进行训练。其测试报告如下:

所有测试与训练仅基于一年数据,严格来说,这样并不足以得出长期有效的结论。对于其他未能通过前向测试的形态而言,这一点尤为关键。
带强力指数扩张的FrAMA波动率收缩
我们的第八种形态(形态7)结合FrAMA波动率收缩与强力指数趋势判断信号。看涨信号:FrAMA走平(表现为低斜率或价格窄幅震荡),同时,强力指数从零轴附近正向大幅冲高,逼近超买区域。看跌信号:同样是FrAMA走平,而强力指数从零轴附近大幅下跌,逼近超卖区域。
与RSI或随机指标不同,强力指数震荡指标没有固定的绝对数值来定义极值区间。其极值水平会随交易品种的不同而变化。从代码编写角度来看,这让超买和超卖区域的定义变得有些棘手。尽管如此,我们仍在MQL5中按如下方式实现该形态:
//+------------------------------------------------------------------+ //| Check for Pattern 7. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_7(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && fabs(FRM(X()) - FRM(X() + 5)) <= fabs(Close(X()) - Close(X() + 1)) && FRC(X()) > 0.0 && FRC(X() + 1) < 0.0 && FRC(X()) - FRC(X() + 1) >= 2.0 * fabs(FRC(X() + 1))) { return(true); } else if(T == POSITION_TYPE_SELL && fabs(FRM(X()) - FRM(X() + 5)) >= fabs(Close(X()) - Close(X() + 1)) && FRC(X()) < 0.0 && FRC(X() + 1) > 0.0 && FRC(X()) - FRC(X() + 1) <= -2.0 * fabs(FRC(X() + 1))) { return(true); } return(false); }
形态7旨在通过FrAMA识别前期低波动时期,并捕捉随后强力指数的扩张性行情。该形态用于捕捉盘整后的爆发式行情。强力指数所反映的成交量支撑,是提升信号可靠性的关键。FrAMA波动率收缩与成交量放量的组合,使其非常适合区间突破交易 —— FrAMA用于识别低波动状态,强力指数用于确认突破强度。
判断FrAMA的走平程度时,除了观察斜率,还可将其变动与ATR等指标对比。强力指数的阈值设定至关重要,需要合理定义;在本策略中,我们通过其相对零轴的波动幅度来判断。将该形态与布林带或肯特纳通道结合,可进一步确认波动率收缩。止损可设置在盘整区间内部。该形态同样未通过前向测试,其相关测试报告如下:

带强力指数背离过滤的FrAMA趋势强度
倒数第二种形态(形态8)结合FrAMA趋势运行强度与强力指数背离来判断信号。看涨信号:FrAMA以陡峭斜率强势上行,同时,强力指数未出现看跌背离,由此确认看涨趋势有效。看跌信号:FrAMA显示强势下跌趋势,同时,强力指数未出现看涨背离。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 8. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_8(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Close(X()) > Close(X() + 1) && FRC(X()) > FRC(X() + 1) && FRM(X()) - FRM(X() + 1) >= 2.0 * FRM(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && Close(X()) < Close(X() + 1) && FRC(X()) < FRC(X() + 1) && FRM(X()) - FRM(X() + 1) <= -2.0 * FRM(X() + 1)) { return(true); } return(false); }
该形态的关键在于:看涨信号要求价格需明显高于FrAMA;看跌信号则要求价格明显低于FrAMA。通过FrAMA判断趋势强度,并结合强力指数进行过滤,能够有效减少虚假信号,提升趋势行情中的交易准确率,同时实现趋势与成交量分析的平衡。形态8中的这一指标组合,能让交易者持有强势趋势头寸,并在动量减弱时避免入场,因为强力指数在这里起到了过滤作用。
在实现该策略时,如果趋势阈值基于FrAMA斜率或价格变动百分比,可进一步优化入场点位。监控强力指数以发现隐性背离,如果背离在多个时间周期上持续存在则退出交易,并且对FrAMA参数进行充分回测,以优化趋势强度识别。形态8的前向测试同样未通过,测试报告如下:

带强力指数共振的FrAMA多周期
形态9(最后一组指标组合)将两个指标的基础用法应用于不同时间周期。看涨信号:FrAMA在小周期和大周期上同时处于上升趋势,且两个周期的强力指数均位于零轴上方。在本策略测试中,我们采用日线作为大周期,配合4小时主周期进行验证。看跌信号:FrAMA在主周期与大周期上同时处于下跌趋势,同时,两个周期的强力指数都位于零轴下方。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 9. | //+------------------------------------------------------------------+ bool CSignalFRM_FRC::IsPattern_9(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Close(X()) > Close(X() + 1) && FRC(X()) > FRC(X() + 1) && FRM(X()) > FRM(X() + 1) && FRC(X()) > FRC(X() + 1) && FRM(X()) > FRM(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && Close(X()) < Close(X() + 1) && FRC(X()) < FRC(X() + 1) && FRM(X()) < FRM(X() + 1) && FRC(X()) < FRC(X() + 1) && FRM(X()) < FRM(X() + 1)) { return(true); } return(false); }
将这两个指标的基础信号在两个时间周期上形成共振,可以构建出高胜率的交易机会。形态9通过趋势与成交量的方向共振来提升信号可靠性。该形态非常适合波段交易与持仓交易。通过最大化多因子共振,可有效减少虚假信号。在2023年的数据上优化训练后,用2024年的数据进行测试,报告如下。它也是本文总共10种形态中,第二个能够通过前向测试的策略。

本策略中我们使用了日线周期,但如果测试时间段超过一年,也可以采用更高的周期,以保证策略的稳健性。此外,除了要求强力指数位于零轴上方/下方之外,还可以追加条件 —— 看涨信号要求强力指数自身呈上升趋势,看跌信号要求强力指数呈下降趋势。同时,我们对FrAMA使用固定的14周期,但在大规模测试中,可以针对不同时间周期自定义该参数。
在我们测试的10种形态中,仅2种通过了前向测试。严格来说,仅用一年时间训练/优化任何EA,仍不足以保证其能在下一年顺利通过前向测试。对于大多数可交易品种而言,资产市场趋势的持续时间往往超过一年,因此,要构建更稳健的交易系统,必须跨多年度进行训练与优化,以获得均衡的参数。
尽管如此,但在往期文章中,即便同样使用仅一年的短训练窗口并在随后一年进行测试,我们也获得了“更有前景”的结果。因此,FrAMA与强力指数这组指标表现不佳,背后可能存在底层逻辑问题。我们将在下方分析其原因。
为什么FrAMA与强力指数的组合效果不佳?
FrAMA是趋势跟踪指标,它根据价格波动的分形维度自适应调整平滑度。它能高效追踪价格,且滞后性较低。而强力指数(价格变动 × 成交量)的核心构成是价格变化,因此它主要反映的也是价格变动特征。这种重叠导致两个指标均高度受价格趋势影响。它们更容易产生重复的冗余信号,而非互补性的市场分析。
对于预测来说这是个问题,因为在金融时间序列预测中,多样化的输入才能捕捉到市场行为的不同维度,包括趋势、动量、波动率、成交量等。冗余信号会减少模型可用的信息量,限制它在各种市场环境下的泛化能力。例如,例如,如果两个指标同时发出上涨信号,可能只是在放大噪音,而非提供独特有效的特征。
与其将FrAMA与强力指数搭配,不如将其与能提供正交(互不相关)信息的指标组合,例如支撑/阻力类或动量类指标。它们可能分别是布林带和RSI。这类组合能确保模型接收多样化输入,从而提升价格预测能力。
强力指数的另一个弱点是严重依赖成交量,由于我们无法获取真实成交量,只能使用逐笔变动量作为替代。这会降低强力指数的可靠性。此外,FrAMA还存在滞后性与灵敏度不匹配的问题。FrAMA的自适应平滑与强力指数对价格和成交量的快速响应存在冲突,在高波动时期易产生相互矛盾的信号。
也可以认为这组指标本身的预测力有限,因为两者本质上都不是为预测未来价格水平而设计的。其设计初衷更适用于识别当前趋势与成交量状态,而非预测未来价格。
结论
在本文中,我们探究了FrAMA与强力指数震荡指标这一指标组合。尽管其盈利表现不如我们在往期文章中提到的部分组合,但在得出任何长期性结论之前,仍需像以往一样,综合考量策略研究过程中的诸多因素。其中最关键的一点是,在实盘部署前,务必使用目标券商的真实分笔数据,进行跨多年度的回测验证。在下一篇文章中,我们将探讨机器学习能否优化这一指标组合,以及具体如何实现。
| 名称 | 描述 |
|---|---|
| wz-65.mq5 | 向导组装文件,其标题显示所使用的文件 |
| SignalWZ-65.mqh | 信号类文件 |
本文由MetaQuotes Ltd译自英文
原文地址: https://www.mql5.com/en/articles/18144
注意: MetaQuotes Ltd.将保留所有关于这些材料的权利。全部或部分复制或者转载这些材料将被禁止。
本文由网站的一位用户撰写,反映了他们的个人观点。MetaQuotes Ltd 不对所提供信息的准确性负责,也不对因使用所述解决方案、策略或建议而产生的任何后果负责。
价格走势:数学模型与技术分析
神经网络在交易中的应用:将混沌理论融入时间序列预测(Attraos)
新手在交易中的10个基本错误
数据科学与机器学习(第四十部分):斐波那契回调位在机器学习中的应用