10 种横盘交易策略的比较分析·综合运用
📊

10 种横盘交易策略的比较分析·综合运用

(3/3)· 把 10 种横盘策略从指标构造拉到测试台,看清哪类通道滤波组合更扛得住实盘震荡

含代码示例实战向 第 3/3 篇

不少交易者把趋势系统直接套进窄幅行情,结果在边界假突破里反复止损。横盘里没有方向,却藏着另一类收益窗口,前提是先认出横盘、再选对通道与滤波器组合。

「用 ATR 通道与 CCI 圈定开单时机」

这段逻辑把开单判断收口在 OnTick 里:先确认当前 Magic 编号下没有本 EA 的未平仓位,再取指标值,最后分别测买卖信号。若同编号订单已存在则直接跳过,避免重复加仓。 买入触发要求 atr_low[0] 高于现价、且 CCI 落在自定义上下界之间(Inp_CCI_LevelDOWN < cci[0] < Inp_CCI_LevelUP),此时把止盈设为 atr_up[0]。卖出则反过来要求 atr_up[0] 低于现价、CCI 同区间,止盈取 atr_low[0]。 GetIndValue 一次性拉取 ATR 通道上下轨、CCI 与收盘价各 2 根缓冲,任一 CopyBuffer/CopyClose 返回 ≤0 就判失败。外汇与贵金属杠杆高,信号仅为概率倾向,实盘前请在 MT5 策略测试器用历史数据验证通道参数与 CCI 边界的命中率。

MQL5 / C++
class="type">bool GetIndValue()
  {
   class="kw">return(CopyBuffer(InpInd_Handle1,class="num">1,class="num">0,class="num">2,atr_up)<=class="num">0  ||
          CopyBuffer(InpInd_Handle1,class="num">2,class="num">0,class="num">2,atr_low)<=class="num">0 ||
          CopyBuffer(InpInd_Handle2,class="num">2,class="num">0,class="num">2,cci)<=class="num">0 ||
          CopyClose(Symbol(),PERIOD_CURRENT,class="num">0,class="num">2,close)<=class="num">0
          )?class="kw">false:true;
  }
class=class="str">"cmt">//+------------------------------------------------------------------+
class="type">void OnTick()
  {
class=class="str">"cmt">//--- 检查以前由该 EA 开立的订单
   if(!Trade.IsOpenedByMagic(Inp_MagicNum))
     {
      class=class="str">"cmt">//--- 获取数据进行计算
      if(!GetIndValue())
         class="kw">return;
      class=class="str">"cmt">//--- 如果有买入信号,则开单
      if(BuySignal())
         Trade.BuyPositionOpen(Symbol(),Inp_Lot,close[class="num">0]-Inp_StopLoss*_Point,tp,Inp_MagicNum,Inp_EaComment);
      class=class="str">"cmt">//--- 如果有卖出信号,则开单
      if(SellSignal())
         Trade.SellPositionOpen(Symbol(),Inp_Lot,close[class="num">0]+Inp_StopLoss*_Point,tp,Inp_MagicNum,Inp_EaComment);
     }
  }
class=class="str">"cmt">//+------------------------------------------------------------------+
class=class="str">"cmt">//| 买入条件                                                          |
class=class="str">"cmt">//+------------------------------------------------------------------+
class="type">bool BuySignal()
  {
   if(atr_low[class="num">0]>close[class="num">0] && cci[class="num">0]<Inp_CCI_LevelUP && cci[class="num">0]>Inp_CCI_LevelDOWN)
     {
      tp=atr_up[class="num">0];
      class="kw">return true;
     }
   else
      class="kw">return class="kw">false;
  }
class=class="str">"cmt">//+------------------------------------------------------------------+
class=class="str">"cmt">//| 卖出条件                                                          |
class=class="str">"cmt">//+------------------------------------------------------------------+
class="type">bool SellSignal()
  {
   if(atr_up[class="num">0]<close[class="num">0] && cci[class="num">0]<Inp_CCI_LevelUP && cci[class="num">0]>Inp_CCI_LevelDOWN)
     {
      tp=atr_low[class="num">0];
      class="kw">return true;
     }
   else
      class="kw">return class="kw">false;
  }

用魔数隔离订单再判定双向信号

EA 主循环里先调用 Trade.IsOpenedByMagic(Inp_MagicNum) 判断当前 Magic 编号下是否已有持仓。若返回 false,说明这套参数没有未平单,才允许往下走计算与开仓逻辑,避免同一策略重复叠仓。 获取指标值由 GetIndValue() 负责:它用 CopyBuffer 分别从两个指标句柄拉最近 2 根缓冲,任一拷贝返回 ≤0 就整体返回 false,主流程直接 return 跳过本轮。这种写法能在指标句柄失效时立刻停手,而不是拿着空数组去骗信号。 买卖触发写在两个独立函数里。BuySignal() 要求 rsi[0] 低于 Inp_LowLevel 且 fl[0] 低于 Inp_FLowLevel 才返回 true;SellSignal() 则是 rsi[0] 高于 Inp_HighLevel 且 fl[0] 仍低于 Inp_FLowLevel。注意卖条件里 fl 阈值和买条件一致,说明该滤波指标只在低位区起作用,RSI 上下破位决定方向。 开仓动作在主判断内紧跟信号:满足条件就调 Trade.BuyPositionOpen / SellPositionOpen,传入当前品种、手数、止损、止盈、Magic 与注释。外汇与贵金属杠杆高,这类双指标共振策略仍可能因滑点或极端波动失效,实盘前请在 MT5 策略测试器用 2020—2023 年 H1 数据跑一遍,确认 Inp_LowLevel / Inp_FLowLevel 取值与你的品种波动匹配。

MQL5 / C++
class=class="str">"cmt">//--- 检查以前由该 EA 开立的订单
   if(!Trade.IsOpenedByMagic(Inp_MagicNum))
     {
       class=class="str">"cmt">//--- 获取数据进行计算
       if(!GetIndValue())
         class="kw">return;
       class=class="str">"cmt">//--- 如果有买入信号,则开单
       if(BuySignal())
         Trade.BuyPositionOpen(Symbol(),Inp_Lot,Inp_StopLoss,Inp_TakeProfit,Inp_MagicNum,Inp_EaComment);
       class=class="str">"cmt">//--- 如果有卖出信号,则开单
       if(SellSignal())
         Trade.SellPositionOpen(Symbol(),Inp_Lot,Inp_StopLoss,Inp_TakeProfit,Inp_MagicNum,Inp_EaComment);
     }
class=class="str">"cmt">//+------------------------------------------------------------------+
class=class="str">"cmt">//| 买入条件                                                            |
class=class="str">"cmt">//+------------------------------------------------------------------+
class="type">bool BuySignal()
  {
   class="kw">return(rsi[class="num">0]<Inp_LowLevel && fl[class="num">0]<Inp_FLowLevel)?true:class="kw">false;
  }
class=class="str">"cmt">//+------------------------------------------------------------------+
class=class="str">"cmt">//| 卖出条件                                                            |
class=class="str">"cmt">//+------------------------------------------------------------------+
class="type">bool SellSignal()
  {
   class="kw">return(rsi[class="num">0]>Inp_HighLevel && fl[class="num">0]<Inp_FLowLevel)?true:class="kw">false;
  }
class=class="str">"cmt">//+------------------------------------------------------------------+
class=class="str">"cmt">//| 获取指标的当前值                                                    |
class=class="str">"cmt">//+------------------------------------------------------------------+
class="type">bool GetIndValue()
  {
   class="kw">return(CopyBuffer(InpInd_Handle1,class="num">0,class="num">0,class="num">2,rsi)<=class="num">0 ||
          CopyBuffer(InpInd_Handle2,class="num">0,class="num">0,class="num">2,fl)<=class="num">0)?class="kw">false:true;
  }
class=class="str">"cmt">//+------------------------------------------------------------------+

◍ 十套横盘策略的回测底座

十套横盘策略已在代码层落地,接下来要做的不是主观挑优劣,而是统一放进同一口锅里压测。测试标的锁死 EURUSD,时间框取最近年份的 M1 OHLC——预测试阶段用真实逐笔报价跑过,结果和 OHLC 模式近乎一致,说明这不是对 tick 极度敏感的高频玩法。 账户假设很轻量:初始资金 1000 USD,杠杆 1:500,服务器选 MetaQuotes-Demo,报价 5 位小数。交易模式设成无延迟,因为策略逻辑偏日内的通道与均线交叉,延迟对触发概率的扰动非常小。 十套策略逐一过机:从策略 #1 的 MFI 滤波轨道线,到 #10 的 RSI 直方图加横盘指标滤波,中间覆盖布林带、埃勒斯分形维度、唐奇安通道等九种组合。每套都留了预测试空档和正式测试结果位,图例 13 到 22 一一对应。 外汇与贵金属属高风险品种,1000 USD 迷你仓的回测曲线只反映历史样本特征,实盘滑点和点差扩张可能让胜率明显漂移。开 MT5 把下面参数原样挂上,先跑策略 #1 和 #2 的对照,比盯着 equity 曲线猜方向实在。

MQL5 / C++
input class="type">int                Inp_StopLoss=class="num">500;                                            class=class="str">"cmt">//止损(点数)
class=class="str">"cmt">//--- MFI 指标参数
input ENUM_APPLIED_VOLUME  Inp_applied_volume=VOLUME_TICK;                              class=class="str">"cmt">// MFI 交易量类型
input class="type">int                  Inp_MFI_period=class="num">10;                                           class=class="str">"cmt">// MFI 周期
class=class="str">"cmt">//--- 轨道线指标参数
input class="type">int                  Inp_ma_period=class="num">10;                                            class=class="str">"cmt">// 轨道线均线周期
input ENUM_MA_METHOD       Inp_ma_method=MODE_SMA;                                      class=class="str">"cmt">// 轨道线平滑类型
input class="type">class="kw">double               Inp_deviation=class="num">0.1;                                           class=class="str">"cmt">// 自轨道线均线的边界偏离
input class="type">int                  Inp_StopLoss=class="num">450;                                            class=class="str">"cmt">//止损(点数)
class=class="str">"cmt">//--- 布林带参数
input class="type">int                  Inp_BBPeriod=class="num">14;                                             class=class="str">"cmt">//BB 周期
input class="type">class="kw">double               Inp_deviation=class="num">2.0;                                           class=class="str">"cmt">//偏离
class=class="str">"cmt">//--- 慢速均线参数
input class="type">int                  Inp_ma_period1=class="num">12;                                           class=class="str">"cmt">//慢速均线周期
input ENUM_MA_METHOD       Inp_ma_method1=MODE_SMMA;                                    class=class="str">"cmt">//慢速均线平滑方法
class=class="str">"cmt">//--- 快速均线参数
input class="type">int                  Inp_ma_period2=class="num">2;                                            class=class="str">"cmt">//快速均线周期

「多指标EA的输入参数堆砌与雷区」

把一套组合策略搬进 MT5,第一步就是声明 input 参数。下面这段声明同时挂了 LWMA 快速均线、WSO/WRO 通道、埃勒斯分形维度、百分比穿越通道、趋势范围、价格通道等多组外部指标,周期从 12 到 18 不等,属于典型的「叠Buff」写法。 值得注意:原文里 Inp_StopLoss 被重复声明了三次,点数分别是 500、500、450。MQL5 编译器遇到同名 input 会直接报错,实盘前必须删掉冗余项,只留一个止损口径,否则 EA 根本加载不进图表。 分形维度阈值设为 1.4、趋势范围偏离 1.0、百分比通道限定距离 26.0,这些数字决定了滤波松紧。外汇与贵金属波动剧烈、杠杆高风险大,参数若照搬不回测,信号频率可能高到无法执行。建议先开 MT5 用策略测试器跑一轮,看哪个止损值和周期组合不出警。

MQL5 / C++
input ENUM_MA_METHOD        Inp_ma_method2=MODE_LWMA;                       class=class="str">"cmt">//快速均线平滑方法
input class="type">int                   Inp_StopLoss=class="num">500;                                 class=class="str">"cmt">//止损(点数)
class=class="str">"cmt">//--- WSO & WRO 通道参数
input class="type">int                   Inp_WsoWroPeriod=class="num">16;                              class=class="str">"cmt">//Wso & Wro 通道周期
class=class="str">"cmt">//--- 埃勒斯分形维度参数
input class="type">int                   Inp_FdiPeriod     =  class="num">18;                          class=class="str">"cmt">//分形维度周期
input class="type">class="kw">double                Inp_FdiThreshold =  class="num">1.4;                          class=class="str">"cmt">//分形维度阈值
input ENUM_APPLIED_PRICE    Inp_Price         = PRICE_CLOSE;                  class=class="str">"cmt">//价格类型
input class="type">int                   Inp_StopLoss=class="num">500;                                 class=class="str">"cmt">//止损(点数)
class=class="str">"cmt">//--- Percentage_Crossover_Channel 参数
input class="type">class="kw">double                Inp_Percent=class="num">26.0;                                 class=class="str">"cmt">//限定距离百分比
input ENUM_APPLIED_PRICE    Inp_Price=PRICE_CLOSE;                            class=class="str">"cmt">//价格类型
class=class="str">"cmt">//--- 趋势范围指标参数
input class="type">uint                  Inp_PeriodTR      =  class="num">14;                          class=class="str">"cmt">//趋势范围指标周期
input ENUM_MA_METHOD        Inp_Method        =  MODE_EMA;                    class=class="str">"cmt">//平滑方法
input class="type">class="kw">double                Inp_Deviation     =  class="num">1.0;                         class=class="str">"cmt">//偏离
input class="type">int                   Inp_StopLoss=class="num">450;                                 class=class="str">"cmt">//止损(点数)
class=class="str">"cmt">//--- 价格通道指标参数
input class="type">int                   Inp_ChannelPeriod=class="num">12;                             class=class="str">"cmt">//周期
class=class="str">"cmt">//--- RBVI 指标参数

多指标EA的参数暴露面

这段输入声明把一套趋势+横盘过滤的EA所有可调旋钮都摊开了,RBVI周期5、WPR周期10、ADX周期14是三个核心节奏器,横盘判定共用level=40与FlatLevel=40两条线。 止损止盈对称设在50点,属于典型窄幅刷单配置,在外汇与贵金属上遇跳空可能直接穿损,属高风险玩法。 平滑中心线用11期SMA收PRICE_CLOSE,偏差平滑12期、乘子F=1.0,变异方法取METHOD_HL,说明通道宽度跟着近期高低点走而不是收盘价标准差。 魔幻趋势部分只暴露了CCI周期60,其余内部逻辑被封装,你改这一个值就能让趋势确认慢半拍或快半拍。 打开MT5把下面代码贴进input区,先不动数值跑一遍策略测试器,看报哪些未定义枚举再补头文件,比盲目调参更省时间。

MQL5 / C++
input class="type">int                Inp_RBVIPeriod=class="num">5;                                                                     class=class="str">"cmt">//RBVI 周期
input ENUM_APPLIED_VOLUME  Inp_VolumeType=VOLUME_TICK;                                                            class=class="str">"cmt">//交易量
input class="type">class="kw">double               Inp_level=class="num">40;                                                                           class=class="str">"cmt">//横盘级别
input class="type">int                  Inp_StopLoss=class="num">50;                                                                        class=class="str">"cmt">//止损(点数)
input class="type">int                  Inp_TakeProfit=class="num">50;                                                                      class=class="str">"cmt">//止盈(点数)
class=class="str">"cmt">//--- WPR 指标参数
input class="type">int                  Inp_WPRPeriod=class="num">10;                                                                       class=class="str">"cmt">// WPR 周期
class=class="str">"cmt">//--- ADX 指标参数
input class="type">int                  Inp_ADXPeriod=class="num">14;                                                                       class=class="str">"cmt">//ADX 周期
input class="type">int                  Inp_FlatLevel=class="num">40;                                                                       class=class="str">"cmt">//ADX 的横盘级别
input class="type">int                  Inp_SmoothCenter       =  class="num">11;                                                           class=class="str">"cmt">// 平滑中心线的周期数字
input class="type">int                  Inp_SmoothDeviation   =  class="num">12;                                                           class=class="str">"cmt">// 平滑偏差的周期数字
input class="type">class="kw">double               Inp_F                  =  class="num">1.0;                                                          class=class="str">"cmt">// 作用于偏差的因子
input ENUM_APPLIED_PRICE   Inp_AppliedPrice      =  PRICE_CLOSE;                                                  class=class="str">"cmt">// 中心线应用价格:
input ENUM_MA_METHOD       Inp_MethodSmoothing   =  MODE_SMA;                                                     class=class="str">"cmt">// 中心线平滑方法
input ENUM_METHOD_VARIATION Inp_MethodVariation  =  METHOD_HL;                                                    class=class="str">"cmt">// 变异方法
class=class="str">"cmt">//--- 魔幻趋势指标参数
input class="type">uint                 Inp_PeriodCCI   =  class="num">60;                                                                  class=class="str">"cmt">// CCI 周期

◍ 把多指标参数一次性喂给 EA

这套趋势过滤思路把 ATR、唐奇安通道、三位一体脉动、ATR 通道和 CCI 色阶全部做成 input 暴露给面板,方便在 MT5 策略测试器里直接拖拉调参。 下面这段代码就是参数声明段,逐行拆开看: input uint Inp_PeriodATR = 5; // ATR 周期设为 5,计算短期平均真实波幅 input int Inp_StopLoss=500; // 止损 500 点,外汇与贵金属波动大,这个点距偏宽,回测时须留意滑点 input int Inp_ChannelPeriod=12; // 唐奇安通道看 12 根 K 线的高低突破 input int Inp_Period= 5; // 三位一体脉动指标自身周期 5 input int Inp_Level= 34; // 脉动指标平滑级别 34 input ENUM_MA_METHOD Inp_Type=MODE_LWMA; // 用线性加权均线做均化 input ENUM_APPLIED_PRICE Inp_Price=PRICE_WEIGHTED; // 取加权收盘价 input ENUM_APPLIED_VOLUME Inp_Volume=VOLUME_TICK; // 成交量用逐笔 tick 量 input ENUM_MA_METHOD Inp_MA_Method=MODE_SMA; // ATR 通道的均线用简单平均 input uint Inp_MA_Period=10; // 通道均线周期 10 input uint Inp_ATR_Period=12; // 通道内 ATR 周期 12 input double Inp_Factor=1.5; // 通道宽度 = 1.5 倍 ATR 偏离 input ENUM_APPLIED_PRICE Inp_IPC=PRICE_LOW; // 通道基准取最低价 input int Inp_Shift=0; // 指标不平移 input int Inp_CCI_ma_period = 14; // CCI 色阶均化周期 14,经典默认值 实盘前建议先把 Inp_StopLoss 从 500 降到 200 附近跑一遍欧美对,观察样本内最大回撤是否收敛;外汇和贵金属属高杠杆品种,参数过宽可能让单笔亏损超出账户承受度。

MQL5 / C++
input class="type">uint                 Inp_PeriodATR     = class="num">5;                class=class="str">"cmt">// ATR 周期
input class="type">int                  Inp_StopLoss=class="num">500;                                        class=class="str">"cmt">//止损(点数)
class=class="str">"cmt">//--- 唐奇安通道参数
input class="type">int                  Inp_ChannelPeriod=class="num">12;                                     class=class="str">"cmt">//唐奇安周期
class=class="str">"cmt">//--- 三位一体脉动指标参数
input class="type">int                  Inp_Period= class="num">5;                                            class=class="str">"cmt">//指标周期
input class="type">int                  Inp_Level= class="num">34;                                            class=class="str">"cmt">//平滑级别
input ENUM_MA_METHOD       Inp_Type=MODE_LWMA;                                       class=class="str">"cmt">//均化类型
input ENUM_APPLIED_PRICE   Inp_Price=PRICE_WEIGHTED;                                 class=class="str">"cmt">//价格类型
input ENUM_APPLIED_VOLUME  Inp_Volume=VOLUME_TICK;                                   class=class="str">"cmt">//成交量类型
class=class="str">"cmt">//--- ATR 通道参数
input ENUM_MA_METHOD       Inp_MA_Method=MODE_SMA;                                   class=class="str">"cmt">//均线平滑方法
input class="type">uint                 Inp_MA_Period=class="num">10;                                         class=class="str">"cmt">//均线周期
input class="type">uint                 Inp_ATR_Period=class="num">12;                                        class=class="str">"cmt">//ATR 周期
input class="type">class="kw">double               Inp_Factor=class="num">1.5;                                           class=class="str">"cmt">//偏离数字
input ENUM_APPLIED_PRICE   Inp_IPC=PRICE_LOW;                                        class=class="str">"cmt">//价格类型
input class="type">int                  Inp_Shift=class="num">0;                                              class=class="str">"cmt">//指标平移的柱线数
class=class="str">"cmt">//--- CCI 色阶参数
input class="type">int                  Inp_CCI_ma_period = class="num">14;                                   class=class="str">"cmt">// 均化周期 

「多指标联合过滤的输入参数怎么配」

把 CCI、RSI 直方图和横盘过滤三个模块的外部参数放在一个 EA 头部,能直接在 MT5 属性框里调,不用碰代码逻辑。CCI 的上下阈值设成 ±90,意味着只有价格异动把 CCI 推到极端区才纳入信号候选,普通震荡直接被挡掉。 RSI 直方图这块给了周期 12、收盘价、超买 60 / 超卖 40 三个关键数。和经典 70/30 比,60/40 更灵敏,在贵金属 15 分钟图上假突破触发概率会高一些,但横盘过滤会再砍一轮。 横盘模块里 Inp_HLRef=100 是参考波段长度,Inp_ExtraHighLevel=70、Inp_FHighLevel=50、Inp_FLowLevel=30 把趋势强度切成三档。平滑用周期 10 的 SMA,对噪音消化偏慢,若你做镑美 M5 可以把 Smooth 降到 5 看反应。外汇和贵金属杠杆高,参数回测过关也只代表历史样本,实盘仍可能连续止损。

MQL5 / C++
input class="type">class="kw">double Inp_CCI_LevelUP = class="num">90; class=class="str">"cmt">// 向上级别
input class="type">class="kw">double Inp_CCI_LevelDOWN =-class="num">90; class=class="str">"cmt">// 向下级别
class=class="str">"cmt">//--- RSI 直方图参数
input class="type">uint Inp_RSIPeriod=class="num">12; class=class="str">"cmt">// 指标周期
input ENUM_APPLIED_PRICE Inp_RSIPrice=PRICE_CLOSE; class=class="str">"cmt">// 价格类型
input class="type">uint Inp_HighLevel=class="num">60; class=class="str">"cmt">// 超买级别
input class="type">uint Inp_LowLevel=class="num">40; class=class="str">"cmt">// 超卖级别
input class="type">int Inp_Shift=class="num">0; class=class="str">"cmt">// 指标平移的柱线数
class=class="str">"cmt">//--- 横盘指标参数
input class="type">uint Inp_Smooth=class="num">10; class=class="str">"cmt">// 平滑周期
input ENUM_MA_METHOD Inp_ma_method=MODE_SMA; class=class="str">"cmt">// 平滑类型
input ENUM_APPLIED_PRICE Inp_applied_price=PRICE_CLOSE; class=class="str">"cmt">// 价格类型
input class="type">uint Inp_HLRef=class="num">100;
input class="type">int Inp_FShift=class="num">0; class=class="str">"cmt">// 指标平移的柱线数
input class="type">uint Inp_ExtraHighLevel=class="num">70; class=class="str">"cmt">// 最大趋势级别
input class="type">uint Inp_FHighLevel=class="num">50; class=class="str">"cmt">// 强趋势级别
input class="type">uint Inp_FLowLevel=class="num">30; class=class="str">"cmt">// 弱趋势级别

窄幅震荡策略的回测实情

把这套窄幅震荡逻辑在 MT5 里跑完多轮优化,结论很直接:绝大多数变体都建立在通道内交易加信号过滤的框架上,所以它们共同的软肋是短线通道突破——假突破一多,胜率就塌。 我们在极低周期(如 M1)和极高周期(如 MN1)分别测试,结果都是亏损:M1 是入场条件触发太频繁,噪声单累死账户;MN1 是过滤条件极端严苛,一年没几笔能进。 同一货币对、同一时间段内做参数优化,最终回报曲线几乎没有明显差别,几乎所有策略输出的权益走势都长得很像。 选了不同的通道构造法和滤波器,优缺点却高度可比,这说明窄幅震荡策略的上限更多被行情结构锁死,而不是被某段代码决定。外汇与贵金属杠杆高,这类策略在实盘仍可能连续回撤,验证前先用策略测试器跑历史数据。

◍ 把工具请下神坛

上面列了 10 套 EA 与 16 个配套指标文件,压缩包 10Flat.zip 体积 60.96 KB,解压后把 MQL5 目录直接丢进终端文件夹就能跑,不用另配路径。 这些策略里 MFI、布林带、ATR 通道都是老面孔,作者故意用可识别指标降低理解成本,复杂滤波只做确认。外汇和贵金属自动交易杠杆高、滑点跳空频繁,实盘前务必在 MT5 用样本外数据重跑一遍。 真正该警惕的是把打包程序当圣杯——它们只是把你没空测的串联逻辑先跑了一遍,盈利倾向随品种和时段衰减。下次打开终端,先改一个参数看看曲线怎么动,比盲目跟文件更有用。

把重复回测交给小布盯盘
这 10 套策略的通道边界与滤波器信号诊断,小布盯盘的 AIGC 已内置,打开对应品种页即可并行比对实盘吻合度,你只管做最后的取舍决策。

常见问题

价格在一个窄范围内上下贴近边界是主迹象,但低流动性、小额分笔成交量萎缩也常伴随出现,单看区间容易把慢趋势误判成横盘。
双均线提供了一层趋势倾向滤波,能过滤掉部分无方向的小幅穿透,通道边界只作为反弹参考,实盘假信号概率倾向更低。
ATR 随波动伸缩,CCI 色阶区分能量区,这类组合在贵金属小时图以上周期更顺手,秒级剥皮单易受噪声干扰。
目前小布内置的是单品种多策略信号诊断与回看,整库横向测评仍需你导出数据比对,不过日常盯盘省下的重复劳动已经可观。
重大数据释出前后脉动会失真,通道边界可能被一次性击穿,这类行情外汇贵金属杠杆风险陡增,概率上更该降仓或离场。
滤波逻辑直观的布林带或价格通道类更友好,先把边界反弹规则跑熟,再碰分形维度这类偏理论滤波器更稳。