价格行为分析工具包开发(第六部分):均值回归信号捕捉器·综合运用
(3/3)·手工盯偏离常漏掉回拉窗口,这套EA把50周期EMA与RSI做成图表箭头直读
不少交易者嘴上信均值回归,真到盘面却总在极端拉伸时犹豫、等回到均线已错过大半段。手工同时比对EMA和RSI状态既费眼又慢,信号一闪就过去。把这套逻辑交给代码跑,图表上直接标箭头,才是把统计直觉落地的做法。
◍ 用代码算出距上次信号过了多少根 K 线
在 MT5 里判断信号时效性,核心是把「时间差」换算成「柱数」。下面这段函数直接返回当前柱与最近一次信号柱之间隔了多少根,方便你在 EA 里做冷却控制。
class="type">class="kw">datetime currentBarTime = iTime(NULL, class="num">0, class="num">0); if (lastSignalTime == class="num">0) class="kw">return INT_MAX; class="kw">return (class="type">int)((currentBarTime - lastSignalTime) / PeriodSeconds()); }
int gap = SignalGap(); 然后写 if(gap < 5) return; 来禁止 5 根内重复开仓。外汇与贵金属杠杆高、滑点跳空频繁,这种计数必须结合点差与休市时间校准,否则跨周末会多算几十根。
class="type">class="kw">datetime currentBarTime = iTime(NULL, class="num">0, class="num">0); if (lastSignalTime == class="num">0) class="kw">return INT_MAX; class=class="str">"cmt">// No signals generated yet class="kw">return (class="type">int)((currentBarTime - lastSignalTime) / PeriodSeconds()); }
用29天数据看信号命中率
回测不是把EA丢进历史里跑一遍就完事。核心是用覆盖趋势与震荡的行情样本,逼出策略在极端切换下的真实表现,再用盈利因子、胜率、最大回撤和平均持仓时长这组硬指标判断是否值得上实盘。 以波动率75(1秒)指数为例,一次跨度29天的双周期测试给出了可核对的数字:M30周期下买入信号41次、有效33次,准确率80.5%;卖出21次、有效15次,准确率71.4%。H1周期样本更小,买入19次有效14次(73.6%),卖出13次有效8次(61.5%)。 这些数直接告诉我们两件事:同一逻辑在M30的命中优于H1,且买入侧普遍比卖出侧稳半档。外汇与贵金属行情跳空频繁,这类指数回测结论不能直接平移,实盘前务必在MT5用「每笔成交」模式重跑一遍。 可视化环节别跳过——把EA画出的箭头和您定义的入场条件逐根K线比对,能抓出那些统计好看但逻辑错位的假信号。参数也别死守,EMA周期和RSI阈值该针对不同品种分开调。
「手动交易者的信号辅助定位」
均值回归收割器EA不自动下单,只输出信号,这对想抓短期反转的手动交易者更实用。原文提到买入信号准确率至少70%,但这是作者自述、未附独立回测,且外汇与贵金属属高风险品种,实盘前务必在MT5策略测试器用历史数据自己跑一遍验证。 该EA靠ATR动态设止损止盈,震荡市适应性较好;遇到强趋势市,均值回归逻辑容易连续失效,这是该类策略的通病。可尝试对参数做微调,并为卖出信号加一层过滤器来降噪。 工具箱从24年1月到12月迭代出6个组件,均值回归信号收割器是当年12月19日上线的第6个。手动交易者把它当「反转提示器」而非「自动印钞机」,结合盘面亲自确认形态再动手,才更接近原设计意图。