您应该了解的MQL5向导技巧(第六十九部分):使用SAR与RVI的形态
引言
本系列接下来要研究的指标组合是:SAR指标与RVI震荡指标。这一组合将趋势识别与动量跟踪结合在一起。与先前一样,我们从这两个指标中构造出10种可能的信号形态,并在由向导生成的EA中逐一测试。下面,让我们先来看一下这两个指标的定义。
我们在GBPCHF(英镑兑瑞郎)交易品种上进行优化与测试,数据周期为2023年4小时图。每次只测试一种形态。由于使用MQL5内置参数"m_patterns_used",我们需要自行实现一个映射,并配合输入参数"PatternsUsed"。这是一个整数,以位图的形式表示当前同时启用的形态组合。在本案例中,我们一次只启用一种形态。具体原因在先前的文章中已有说明,读者可以回顾前文。我们的形态编号从0到9,要得到唯一对应某一形态的整数值,只需计算2的形态索引次方。如果使用形态0,则映射值为2⁰ = 1;如果使用形态4,则映射值为2⁴ = 16,以此类推。
前向步进测试在2025年进行,整体周期为2023.01.01至2025.01.01。对于想要做进一步深入研究的读者来说,这一时间窗口明显偏短。理想情况下,测试应覆盖不同类型的市场行情,而这些行情往往需要数年乃至数十年的数据。
抛物线转向
该指标旨在识别趋势以及潜在的反转点位。它在价格上方或下方通过绘制点来标示趋势。点出现在价格下方,代表看涨趋势;点出现在价格上方,代表看跌趋势。另一个辅助用途是在趋势跟踪策略中设置合理的移动止损。在趋势策略中它会动态调整,因此正如预期,该指标更适合在趋势性市场中使用。其计算公式分为两部分,分别对应上缓冲区和下缓冲区。上缓冲区计算公式如下:

下缓冲区计算公式如下:

其中:
- SARn:当前周期的SAR(抛物线转向)值。
- SARn+1:下一周期的SAR值(预测值)。
- AF:加速因子,初始值为0.02,每出现一个新的极值点便递增0.02,上限为0.20。
- EP:极值点,上涨趋势中为截至当前的最高价,下跌趋势中为截至当前的最低价。
- EP−SARn或SARn−EP:当前SAR值与价格极值点之间的差值,用于驱动SAR值的加速移动。
该指标的运行逻辑:当价格穿越SAR线、趋势发生反转时,SAR会切换至另一侧的极值点。随后指标进入新一轮计算周期,加速因子会随着趋势不断确认逐步增大,直至达到预设上限(通常为0.2)。
RVI指标通过对比收盘价与指定周期内的价格区间来判断市场动量。收盘价靠近区间高位,代表看涨动量占优;收盘价靠近区间低位,则代表看跌动量占优。另外,还配有一条信号线(RVI平滑线),用于识别RVI自身的转向信号。当RVI自下而上穿过信号线,为看涨信号;RVI自上而下穿过信号线,为看跌信号。
相较于震荡市,该指标在趋势行情中的表现更加稳定,既能确认现有趋势,也能预判潜在反转。其公式如下:

附上:



其中:
- RVI:t时刻的相对活力指数值,
- Closet:t时刻的K线收盘价,
- Opent:t时刻的K线开盘价,
- Hight:t时刻的K线最高价,
- Lowt:t时刻的K线最低价,
- Numeratort:分子项,收盘价与开盘价之差(代表动量),
- Denominatort:分母项,最高价与最低价之差(代表价格波动区间),
- SAM4:对称加权移动平均,权重系数为[1, 2, 2, 1]。
这里给出的是较为原理化、偏“教科书式”的公式表达。本文并不会严格照搬该公式,此处列出仅为完整介绍该指标。公式的核心逻辑是:计算收盘价与开盘价的差值,对比当前波动区间,以此判断价格的内在强弱。信号线则对RVI进行平滑处理,以过滤噪声并且生成更清晰的信号。介绍完指标后,我们来看具体的信号形态。
SAR转向与RVI交叉
第一种形态通过抛物线SAR穿越与RVI穿越零线来捕捉潜在反转。SAR指标通常提示趋势转变,而RVI则用于确认动量方向。该形态本质上是将价格高低点行为 、SAR趋势跟踪与RVI动量信号结合在一起。
对于买入信号,当之前一根K线的高点在SAR之下(因为市场处于下跌趋势),而当前K线的低点在SAR之上(趋势反转为上涨趋势)时,我们会标记为看涨,前提是RVI同时从下方穿越零线并收于零线之上。在MQL5中的实现方式如下:
//+------------------------------------------------------------------+ //| Check for Pattern 0. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_0(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && 0.0 > RVI(X() + 1) && RVI(X()) > 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && 0.0 < RVI(X() + 1) && RVI(X()) < 0.0) { return(true); } return(false); }
卖出逻辑基于上升趋势中前一根K线的低点在SAR之上,随后出现反转,而当前K线的高点在SAR之下,同时RVI从上方向下穿越零线并跌至零轴下方,我们会标记为看跌。该形态对时间周期较为敏感,在1小时至4小时的中等周期内效果最优,既不会像小周期那样容易受杂波干扰,也不会像大周期那样出现明显滞后。它属于趋势反转类混合形态,在区间突破或波动剧烈的市场转折行情中较为实用。
在实际使用时,建议结合趋势环境进行过滤。交易方向应与更大的市场背景保持一致。可加入标准差(STD-DEV)作为波动率过滤,避免在横盘市场中开仓;也可添加新闻公布时段过滤,避免在该时段进行交易;还可通过RVI斜率进一步过滤,优化形态0的信号纯度。由于采用了SAR指标,天然具备止损参考价值,可直接以SAR水平位作为止损依据,但考虑到SAR与RVI反应过于灵敏,也可改用基于ATR的止损策略。通常建议将该信号形态与其他指标搭配使用,而MQL5向导设置可以很方便地实现这一点。
该实现方式的潜在缺陷在于SAR的敏感性。在行情快速反转或假突破时,SAR滞后性较强,容易发出明显滞后的信号。此外,模型未加入成交量或波动率过滤,而低活跃度市场中伪信号极多,RVI穿越零线在横盘行情中也并不可靠。入场阈值设置也过于严格,未设置容错区间(即未使用≤或≥判断)。
针对上述缺陷,改进方案较为直接:可通过标准差判断当前波动率是否超过可优化阈值。添加追踪RVI变化的动量过滤器,确保上一根K线的RVI变动幅度足够显著。采用ATR设置动态止损止盈也是另一种可行的优化方向。我们于2023.01.01至2025.01.01,在GBPCHF交易品种上对该形态进行测试,报告如下。该形态能够通过前向步进验证。

SAR支持与RVI趋势
对于第二种形态,当前一根K线的低点位于SAR上方,同时RVI呈现多头动量,且当前RVI值高于前一根K线的RVI值,我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 1. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_1(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Low(X() + 1) > SAR(X() + 1) && SAR(X()) < Low(X()) && RVI(X()) > RVI(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && High(X() + 1) < SAR(X() + 1) && SAR(X()) > High(X()) && RVI(X()) < RVI(X() + 1)) { return(true); } return(false); }
当上一根K线的高点位于SAR下方,且RVI显示空头动量,且当前RVI数值低于前一RVI值,由此形成卖出信号。这种互补配合旨在尽早捕捉由动量支持的反转信号。该形态尤其适用于反转交易或动量突破行情,在趋势明显或波动剧烈的市场中效果更优,此时SAR的反应会十分强烈。
实盘操作时,该形态更适合在至少1小时及以上的周期使用。原因在于其信号反应灵敏,在小周期上容易产生大量虚假入场信号。另外,可结合诸如能量潮指标(OBV)等成交量类指标进行波动率过滤,以确认动量信号的有效性。也可搭配标准差(STD‑DEV)和平均真实波幅(ATR)提供额外的验证。另一可选过滤方式是使用K线形态,如看涨吞没、看跌吞没等。由于SAR反应灵敏,避开新闻时段交易效果会更好;基于ATR的止损止盈(SL/TP)在该形态上同样表现出色。该形态的测试报告如下。该形态未通过前向步进验证。


SAR突破与RVI背离
第三种形态将SAR与RVI相结合,旨在捕捉反转的早期信号或趋势的初期确认。价格相对于SAR的位置是核心判断依据,而RVI动量交叉是必要前提。当前期价格高点低于或等于SAR,随后SAR发生转向并切换至K线低点下方,标志着看涨反转,同时RVI持续上行,表明动量正在增强,由此形成买入信号。收盘价可能会出现小幅下探,这往往是空头陷阱,或是反转来临前的最后一次回落。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 2. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_2(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && RVI(X()) > RVI(X() + 1) && Close(X()) < Close(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && RVI(X()) < RVI(X() + 1) && Close(X()) > Close(X() + 1)) { return(true); } return(false); }
当前期K线低点高于或等于SAR,随后SAR上移并位于当前K线高点上方,同时RVI下行,表明动量正在衰减,由此形成卖出信号。在这种情况下,收盘价可能会小幅冲高,形成多头陷阱或趋势耗尽点。该形态属于逆势/动量混合型信号。SAR充当趋势反转指标,而RVI反映内在动量强弱。补充收盘价对比,进一步增加了价格行为的验证逻辑。
形态2的适用场景多为震荡市或市场转折阶段。因为这类环境中反转发生得更为频繁。该形态也可用于小周期,适合均值回归策略或短期动量交易。
交易者使用该形态的最优实践,通常是采用多周期确认。这样能有效规避小周期的频繁假突破,起到安全过滤作用。如果大周期上也出现同向信号,形态可靠性会大幅提升。另一种方式是搭配波动率过滤器。在此情况下,可以使用STD‑DEV/内置标准差指标或ATR来判断反转是否有足够的运行空间。该形态不适合在强势趋势中使用。因为此时很多回调会被误判为反转,表现会很差。可以通过增加ADX或均线类过滤器来缓解这一问题。
该形态的风险管理需要设置较紧凑的止损。止损可以放在SAR稍外侧,以符合反转逻辑。止盈目标一般可设在支撑/阻力位,或设置约1.5倍风险回报比。由于偏好较小周期,回测理想情况下最好计入滑点和点差。以确保形态在真实执行环境下依然稳健,尤其是日内交易。在与前面形态相同的设置和条件下,第三种形态的测试结果如下。该形态未通过前向步进验证。


SAR趋势延续与RVI位于零轴同侧
我们的第四种形态是动量确认的趋势跟踪信号。它使用基于SAR的价格关系来设定持仓偏向。相对于零边界的RVI值也作为对当前动量类型(看跌或看涨)的确认。当前一根K线的低点高于SAR,表明SAR在价格下方跟踪,呈现看涨偏向,由此形成买入信号。接下来,如果当前K线的低点仍然高于SAR,确认趋势完好。当前K线和前一根K线的RVI需要高于零边界,这也是持续动量的指示。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 3. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_3(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Low(X() + 1) > SAR(X() + 1) && SAR(X()) < Low(X()) && RVI(X()) > 0.0 && RVI(X() + 1) > 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && High(X() + 1) < SAR(X() + 1) && SAR(X()) > High(X()) && RVI(X()) < 0.0 && RVI(X() + 1) < 0.0) { return(true); } return(false); }
卖出条件类似,前一根K线的高点低于SAR,这是看跌偏向的信号。接下来,如果当前K线的高点仍然低于SAR,表明趋势持续。当前K线和前一根K线的RVI也需要低于零,以便与负动量论点一致。这种形态类型属于趋势确认信号。它不像形态2那样捕捉转折点,形态3要求动量和价格与SAR对齐。这种形态的理想市场环境是趋势市场或突破市场,尤其是在主要回调之后。对于此形态,关键是避免假信号,通过检查确保RVI保持最近两根K线的相同方向。
这类趋势延续型策略,要求该形态仅在已有趋势形成的前提下使用。也可以使用趋势过滤器进行确认,例如ADX高于25,或较长周期EMA的斜率向上。可以补充使用波动率压缩/突破过滤器,如布林带挤压或低标准差,以更精确地把握入场时机。可以结合止损设置规则,即将多头止损设在SAR水平略下方、空头止损设在SAR水平略上方,以此保证方向上的安全性。SAR本身也可以在入场后作为动态跟踪止损。
在1小时及以上的较大时间周期上,该策略的表现可能更稳健。这是因为趋势在这些较长时间周期上往往更稳定。除非与较长时间周期配对进行确认,否则应完全避免1分钟和5分钟时间周期。退出标准可以是RVI反转或SAR相对于价格的位置发生变化。形态3的测试结果如下。该形态通过前向步进验证:

SAR反转与RVI超买/超卖
我们的第五种形态,即形态4,是一种反转风格信号,旨在捕捉价格转折并确认动量。SAR与价格的关系确实暗示了市场方向的潜在转变。RVI穿越也继续作为动量确认过滤器。买入信号的条件包括:前一根K线的高点等于或低于当期SAR,表明当前处于看跌状态;随后当前K线的低点等于或高于SAR,表明SAR已反转至价格下方,形成看涨状态。RVI还需要向上交叉,正如我们自定义函数RVI-UP所捕捉的那样。这标志着看涨动量。此外,当前RVI值应为正,以巩固看涨动量的论点。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 4. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_4(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && RVI_UP(X()) && RVI(X()) > 0.0) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && RVI_DN(X()) && RVI(X()) < 0.0) { return(true); } return(false); }
卖出信号条件则相反:前一根K线的低点等于或高于当期SAR,这是过去看涨状态;随后当前K线的高点等于或低于当前SAR,形成看跌状态。我们的RVI-DN函数还需要记录RVI向下交叉,以确认看跌动量。此外,与买入信号一样,当前RVI值必须为负,以确认看跌情绪。
这种形态本质上是一种基于动量的反转入场。它利用SAR反转点,并进一步由RVI指示的动量转变来强化。其理想的市场条件是价格/市场接近趋势耗尽或突破失败后。当价格延伸至超买或超卖区域且存在动量背离时,效果最优。
使用时,应避免SAR平坦区域。如果SAR频繁反转,则不应使用此形态。如果结合MACD或RSI背离等补充指标来验证RVI交叉,使用额外工具进行确认也是一个好办法。这种特定形态的时间周期适用性可能在1小时到4小时的范围内,以捕捉强劲的反转结构。较短的时间周期必然会产生许多虚假反转。
入场确认可以补充K线形态或突破过滤器,如吞没形态,以更好地把握入场时机。退出计划可以是RVI未能维持动量,或入场后SAR再次反转。波动率过滤器一如既往可以包括标准差或ATR,以抑制极低波动率环境中的信号。我们第五种形态,即形态4,在训练期和前向步进期的测试报告如下,该形态通过前向步进验证:

SAR盘整突破与RVI交叉
我们的第六种形态是一种趋势延续突破信号,旨在捕捉SAR反转到新趋势后且RVI动量确认跟随的入场点。买入信号要求前一根K线的低点高于SAR,确认价格在“跟踪止损”上方趋势运行。在此基础上,当前SAR也保持在当前K线最低价下方,这是上升趋势持续的迹象。在所有这些发生的同时,RVI向上交叉,表明看涨动量“重新增强”并与当前趋势保持一致。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 5. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_5(ENUM_POSITION_TYPE T) { if(STD_DEV(X()) >= fabs(SAR(X()) - SAR(X() + __PERIOD))) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && RVI_UP(X())) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && RVI_DN(X())) { return(true); } } return(false); }
卖出信号的条件要求前一根K线的高点低于SAR,表明处于下降趋势;随后当前K线重复相同条件,高点再次低于SAR,这是卖出压力持续存在的迹象。这将与RVI向下交叉同时发生,标志着动量减弱。该形态的核心前提是,使用SAR位置确认和RVI交叉,其中价格相对于SAR的位置与动量对齐被用于交易入场,以尽量减少早期反转。与形态3和4不同的是,形态5仅关注SAR延续与RVI一致。
对于形态5,理想情况下应在趋势市场中使用。在强劲方向性走势进行中或主要回调后重新确认趋势和动量时启用此形态。避免在横盘或震荡条件下使用此形态。在低波动率环境或SAR震荡情况下,由于SAR紧密反转和误导性RVI交叉,形态5可能导致大量假信号。RVI确认作为该形态的动量门控。也可以启用多时间周期确认以获得更精确的入场点。
使用此形态时,确保最优SAR设置生效也至关重要,因此重新审视加速和最大参数设置以确保它们与所测试资产良好配合可能是好主意。再次重申,处理此形态时,与STD-DEV和ATR等风险过滤器集成也是非常推荐的做法,尤其可以避免在市场低迷时入场。形态5的测试结果如下,该形态通过前向步进验证:

SAR趋势与RVI回调
第七种形态是一种波动率压缩反转信号,试图识别价格拒绝区域,其中SAR压力持续且RVI动量拥堵或疲软。买入条件的逻辑:前一根K线的最低价高于SAR,且当前SAR仍低于当前最低价,同时RVI出现向上信号。这将发生在RVI值接近零的背景下,表明动量低至中性。RVI值接近零通常是市场正在蓄势以待潜在突破的信号。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 6. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_6(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Low(X() + 1) > SAR(X() + 1) && SAR(X()) < Low(X()) && RVI_UP(X())) { return(true); } else if(T == POSITION_TYPE_SELL && High(X() + 1) < SAR(X() + 1) && SAR(X()) > High(X()) && RVI_DN(X())) { return(true); } return(false); }
第七种形态的卖出条件逻辑:前一根K线的低点高于或等于当期SAR,这是价格处于支撑角色的迹象。随后当前SAR反转到高于或等于当前最高价,因为SAR攀升至价格上方。RVI将接近零,动量低或消退,就在反转之前。
使用带有特定点值的RVI过滤器的目的是让它充当波动率抑制过滤器。这有助于标记通常在突破或反转之前发生的低迷动量阶段。该形态的战略目标是,在SAR试图反转而RVI尚未定向的压缩阶段,对先前方向进行反向操作,因此这是一种逆势边缘条件。
第七种形态的理想应用场景是在震荡市场中,尤其是在关键支撑/阻力区域附近。应避免在强劲趋势条件下使用。它可以与突破逻辑配对。此外,监控点差和点值很重要,因为该形态对它们比较敏感。使用日内时间过滤器也可提升该形态的性能。第七种形态未能通过前向步进测试,报告如下:


SAR趋势与RVI双重确认形态
我们的第八种形态,即形态7,旨在识别基于动量的突破入场点,这些入场点在SAR定位后由多个RVI上/下信号确认。它寻找动量突破后的趋势延续,通常用于确认从价格拒绝到方向性转变的过程。前一根K线的低点高于SAR,表明价格保持在SAR支撑上方,随后当前SAR也保持在价格最低价下方,确认SAR正在跟踪价格,由此形成买入信号。在不超过指标输入周期的范围内,需出现两次RVI向上/向下反转以构成双重确认。对于看涨信号而言,相当于近期的RVI双重确认形态。我们在MQL5中按照如下方式实现该逻辑:
//+------------------------------------------------------------------+ //| Check for Pattern 7. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_7(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && High(X() + 1) <= SAR(X() + 1) && SAR(X()) <= Low(X()) && fabs(RVI(X())) <= 250.0 * m_symbol.Point()) { return(true); } else if(T == POSITION_TYPE_SELL && Low(X() + 1) >= SAR(X() + 1) && SAR(X()) >= High(X()) && fabs(RVI(X())) <= 250.0 * m_symbol.Point()) { return(true); } return(false); }
卖出条件则相反:前一根K线的高点低于SAR,表明价格处于SAR阻力下方。随后当前SAR维持其SAR下方位置,且在指标周期长度内出现两次近期的RVI向下交叉。双重确认逻辑的目的是过滤掉虚假启动和弱势脉冲。它引入了延迟确认的方面,一种动量过滤形式,确保更好的趋势质量。此外,在风险回报考量下,由于该形态在RVI指标周期内寻找RVI的双重底或双重顶,这意味着只有在动量持续时才入场,这是一项良好的安全措施。形态7测试的前向步进报告如下:

SAR加速与RVI尖峰
我们的第九种形态,即形态8,寻求价格与SAR距离以及RVI动量的加速确认。它评估价格到SAR的距离是否扩大。通常作为趋势强度的代理指标,同时确保RVI动量也在同一方向保持一致。买入条件的逻辑:最近2根K线的低点高于SAR,且该最低价与SAR之间的距离正在扩大,同时RVI向上变化增加。在MQL5中的编码如下:
//+------------------------------------------------------------------+ //| Check for Pattern 8. | //+------------------------------------------------------------------+ bool CSignalSAR_RVI::IsPattern_8(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && Low(X() + 1) > SAR(X() + 1) && SAR(X()) < Low(X()) && RVI_UP(X())) { bool _double = false; for(int i = X() + 1; i < X() + __PERIOD + 1; i++) { if(RVI_UP(i)) { _double = true; break; } } return(_double); } else if(T == POSITION_TYPE_SELL && High(X() + 1) < SAR(X() + 1) && SAR(X()) > High(X()) && RVI_DN(X())) { bool _double = false; for(int i = X() + 1; i < X() + __PERIOD + 1; i++) { if(RVI_DN(i)) { _double = true; break; } } return(_double); } return(false); }
卖出逻辑类似:SAR连续两根K线高于最高价,且SAR与最高价之间的间距在扩大。这也发生在RVI变化向下增加时,一种看跌加速形式。二阶RVI差分的使用捕捉了类似二阶导数的行为,旨在形成凸曲线或上升动量,而不仅仅是当前动量。
该形态避免了基本的交叉,如形态7中的交叉。它不利用交叉事件,而是利用变化率,这可以减少快速反转带来的噪声。还假设动量随价格扩大,这是其核心理念。换句话说,当价格指示方向性突破时,动量必须上升。该形态的测试结果如下,我们确实获得了正向的前向步进:

结论
我们在此结束对于抛物线转向指标和相对活力指数形态的初步探讨。由于文章篇幅过长,我们未涵盖形态9,即第十种形态。所有10种形态的完整源代码附于下方,读者可自由查阅和修改。该代码旨在与MQL5向导配合使用,您可在此处找到所需指导。在下一篇文章中,我们尝试以监督式方法进一步补充这些信号形态的分析 ,重点关注那些未通过前向步进验证的形态。
| 名称 | 描述 |
|---|---|
| WZ-69.mq5 | 由MQL5向导生成的EA,其标题指示所使用的文件 |
| SignalWZ-69.mqh | MQL5向导在生成EA时使用的自定义信号类文件 |
本文由MetaQuotes Ltd译自英文
原文地址: https://www.mql5.com/en/articles/18399
注意: MetaQuotes Ltd.将保留所有关于这些材料的权利。全部或部分复制或者转载这些材料将被禁止。
本文由网站的一位用户撰写,反映了他们的个人观点。MetaQuotes Ltd 不对所提供信息的准确性负责,也不对因使用所述解决方案、策略或建议而产生的任何后果负责。
市场模拟(第 18 部分):SQL 入门(一)
交易中的神经网络:频域异常检测(终篇)
新手在交易中的10个基本错误
开发多币种 EA(第 26 部分):交易品种信息工具