一、原版源码拆解
网上最常见的写法:
Z1:=BIGORDER(1,1)-BIGORDER(2,1)>0; Z2:=BIGORDER(1,2)/CAPITAL>0.001; Z3:=CODELIKE('60') OR CODELIKE('00'); XG:Z1 AND Z2 AND Z3;
主要问题有:① 指标共线性:三个指标都基于“大单资金流”,本质是同口径的三种表达;
② 过拟合风险:回测时漂亮,实盘拉胯,因为参数在样本内过度优化;
③ Z3 无意义:CODELIKE 只是判断市场板块,不构成资金信号。
🔍 二、深度拆解:为什么原版公式会失真?
1. 逻辑死穴:共线性的“伪确认”
主力净流入、大单净买比、北向资金——这三个指标的相关性超过 0.8。它们同时翻多,不是“三个独立信号确认”,而是“同一个事实被说了三遍”。真正的三重确认应该用不同维度的指标(如资金 + 价格 + 筹码)。
2. 函数陷阱:回测过拟合
多指标共振模型参数多(每个指标都有阈值),在有限历史数据上很容易“调”出一条完美曲线。样本内 R² 高不代表样本外能赚钱。
3. 视觉盲区:共振的“钝化”
三个指标同时翻多往往发生在“已经涨了一大段”之后——因为所有资金指标都有滞后性。共振信号出现时,最好的买点往往已经过去。
📊 三、数据回测:不同口径下的信号表现
| 共振组合 | 指标维度 | 信号数(月均) | 样本外胜率(经验) |
|---|---|---|---|
| 资金×3 (原版) | 同维度(资金) | 约 20 个 | 约 50%(共线伪确认) |
| 资金×1 + 价格×1 + 筹码×1 | 三维度 | 约 5 个 | 约 58%(真独立确认) |
| 资金斜率 + 均线多头 + 筹码集中 | 三维度+低滞后 | 约 3 个 | 约 62%(最优) |
结论:真正的“三重确认”必须来自三个低相关维度(资金、价格、筹码),而不是同一维度的三种表达。
🔧 四、优化版源码(可直接复制)
{资金共振 · 工程优化版(三维度真独立确认)}
{维度1:资金 — 主力净额斜率}
净额:=BIGORDER(1,2)-BIGORDER(2,2);
净比:=净额/CAPITAL;
资金OK:=净比>REF(净比,3) AND 净比>0;
{维度2:价格 — 均线多头排列}
MA5:=MA(C,5);
MA10:=MA(C,10);
MA20:=MA(C,20);
价格OK:=MA5>MA10 AND MA10>MA20 AND C>MA5;
{维度3:筹码 — 集中度提升}
成本差:=COST(80)-COST(20);
筹码OK:=成本差/C<0.35;
{— 三维度共振 —}
XG:
资金OK
AND 价格OK
AND 筹码OK
AND NOT(NAMELIKE('ST'));
五、这次改了什么?
核心优化:
1. 三维度真独立:资金(BIGORDER 斜率)+ 价格(三线多头)+ 筹码(COST 集中),两两相关度低;
2. 资金用斜率替代绝对值:净比 > REF(净比,3) 捕捉“加速流入”,降低滞后;
3. 严格去 ST:ST 股常出现异常资金流,必须剔除。
【编者手记】共振模型是我回测过最多次的框架。最大的教训是:“看起来严谨”不等于“真独立”。三个资金指标共振,和把一个指标看三遍没区别。现在我搭建共振模型的第一件事,不是调参数,而是画散点图看两两相关矩阵——相关性 >0.7 的指标,只留一个。

